Sha256: a40cc520aed711546ad5bb3d1b1f25054981a185ab0f70deb4949c97d9144361
Contents?: true
Size: 821 Bytes
Versions: 10
Compression:
Stored size: 821 Bytes
Contents
require "expressir/express/model_visitor" require "expressir/model" module Expressir module Express class ResolveReferencesModelVisitor < ModelVisitor def visit(node) if node.is_a? Model::References::SimpleReference visit_references_simple_reference(node) end super end private def visit_references_simple_reference(node) return if node.parent.is_a? Model::References::AttributeReference base_item = if node.parent.is_a? Model::Declarations::InterfaceItem node.find("#{node.parent.parent.schema.id}.#{node.parent.ref.id}") else node.find(node.id) end return unless base_item node.base_path = base_item.path end end end end
Version data entries
10 entries across 10 versions & 1 rubygems