Class: Expressir::Model::Declarations::Schema
Overview
Specified in ISO 10303-11:2004
Constant Summary
Constants inherited
from ModelElement
ModelElement::POLYMORPHIC_CLASS_MAP, ModelElement::SKIP_ATTRIBUTES
Instance Attribute Summary
Attributes inherited from ModelElement
#parent
Instance Method Summary
collapse
Methods included from Identifier
included
#add_remark, #children_by_id, #find, #initialize, #path, #reset_children_by_id, #to_s
Instance Method Details
#children ⇒ Array<Declaration>
65
66
67
68
69
70
|
# File 'lib/expressir/model/declarations/schema.rb', line 65
def children
[
*interfaced_items,
*safe_children,
]
end
|
76
77
78
|
# File 'lib/expressir/model/declarations/schema.rb', line 76
def formatted
@formatted ||= to_s(no_remarks: true)
end
|
#full_source ⇒ Object
72
73
74
|
# File 'lib/expressir/model/declarations/schema.rb', line 72
def full_source
@full_source ||= Expressir::Express::Formatter.format(self)
end
|
#safe_children ⇒ Array<Declaration>
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/expressir/model/declarations/schema.rb', line 50
def safe_children
[
*constants,
*types,
*types&.flat_map(&:enumeration_items),
*entities,
*subtype_constraints,
*functions,
*rules,
*procedures,
*,
]
end
|
#source ⇒ Object
80
81
82
83
84
85
86
87
88
|
# File 'lib/expressir/model/declarations/schema.rb', line 80
def source
@source ||= begin
formatter = Class.new(Expressir::Express::Formatter) do
include Expressir::Express::SchemaHeadFormatter
include Expressir::Express::HyperlinkFormatter
end
formatter.format(self)
end
end
|