Class: Expressir::Model::Declarations::Schema
Overview
Specified in ISO 10303-11:2004
Instance Attribute Summary collapse
Attributes included from Identifier
#id, #remark_items, #remarks, #source
Attributes inherited from ModelElement
#parent
Instance Method Summary
collapse
#children_by_id, #find, from_hash, model_attr_accessor, model_attrs, #path, #reset_children_by_id, #to_hash, #to_liquid, #to_s
Constructor Details
#initialize(options = {}) ⇒ Schema
Returns a new instance of Schema.
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/expressir/model/declarations/schema.rb', line 33
def initialize(options = {})
@file = options[:file]
initialize_identifier(options)
@version = options[:version]
@interfaces = options[:interfaces] || []
@constants = options[:constants] || []
@types = options[:types] || []
@entities = options[:entities] || []
@subtype_constraints = options[:subtype_constraints] || []
@functions = options[:functions] || []
@rules = options[:rules] || []
@procedures = options[:procedures] || []
super
end
|
Instance Attribute Details
#constants ⇒ Array<Constant>
13
|
# File 'lib/expressir/model/declarations/schema.rb', line 13
model_attr_accessor :constants, 'Array<Constant>'
|
#entities ⇒ Array<Entity>
15
|
# File 'lib/expressir/model/declarations/schema.rb', line 15
model_attr_accessor :entities, 'Array<Entity>'
|
7
|
# File 'lib/expressir/model/declarations/schema.rb', line 7
model_attr_accessor :file, 'String'
|
#functions ⇒ Array<Function>
17
|
# File 'lib/expressir/model/declarations/schema.rb', line 17
model_attr_accessor :functions, 'Array<Function>'
|
#interfaces ⇒ Array<Interface>
12
|
# File 'lib/expressir/model/declarations/schema.rb', line 12
model_attr_accessor :interfaces, 'Array<Interface>'
|
#procedures ⇒ Array<Procedure>
19
|
# File 'lib/expressir/model/declarations/schema.rb', line 19
model_attr_accessor :procedures, 'Array<Procedure>'
|
#rules ⇒ Array<Rule>
18
|
# File 'lib/expressir/model/declarations/schema.rb', line 18
model_attr_accessor :rules, 'Array<Rule>'
|
16
|
# File 'lib/expressir/model/declarations/schema.rb', line 16
model_attr_accessor :subtype_constraints, 'Array<SubtypeConstraint>'
|
#types ⇒ Array<Type>
14
|
# File 'lib/expressir/model/declarations/schema.rb', line 14
model_attr_accessor :types, 'Array<Type>'
|
11
|
# File 'lib/expressir/model/declarations/schema.rb', line 11
model_attr_accessor :version, 'SchemaVersion'
|
Instance Method Details
67
68
69
70
71
72
|
# File 'lib/expressir/model/declarations/schema.rb', line 67
def children
[
*interfaced_items,
*safe_children
]
end
|
#safe_children ⇒ Array<Declaration>
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/expressir/model/declarations/schema.rb', line 52
def safe_children
[
*constants,
*types,
*types.flat_map{|x| x.enumeration_items},
*entities,
*subtype_constraints,
*functions,
*rules,
*procedures,
*
]
end
|