Class: Expressir::Model::Declarations::Schema
- Inherits:
-
ModelElement
- Object
- Lutaml::Model::Serializable
- ModelElement
- Expressir::Model::Declarations::Schema
- Includes:
- Identifier, ScopeContainer
- Defined in:
- lib/expressir/model/declarations/schema.rb
Overview
Specified in ISO 10303-11:2004
-
section 9.3 Schema
Constant Summary
Constants inherited from ModelElement
ModelElement::POLYMORPHIC_CLASS_MAP, ModelElement::SKIP_ATTRIBUTES
Instance Attribute Summary
Attributes inherited from ModelElement
Instance Method Summary collapse
- #children ⇒ Array<Declaration>
- #formatted ⇒ Object
- #full_source ⇒ Object
- #safe_children ⇒ Array<Declaration>
- #source ⇒ Object
Methods included from Identifier
Methods inherited from ModelElement
#add_remark, #children_by_id, #find, #initialize, #path, #reset_children_by_id, #to_s
Constructor Details
This class inherits a constructor from Expressir::Model::ModelElement
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 |
#formatted ⇒ Object
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 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, *remark_items, ] end |
#source ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/expressir/model/declarations/schema.rb', line 80 def source formatter = Class.new(Expressir::Express::Formatter) do include Expressir::Express::SchemaHeadFormatter include Expressir::Express::HyperlinkFormatter end formatter.format(self) end |