Class: Zodra::Definition
- Inherits:
-
Object
- Object
- Zodra::Definition
- Defined in:
- lib/zodra/definition.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#discriminator ⇒ Object
readonly
Returns the value of attribute discriminator.
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#values ⇒ Object
readonly
Returns the value of attribute values.
-
#variants ⇒ Object
readonly
Returns the value of attribute variants.
Instance Method Summary collapse
- #add_attribute(attribute_name) ⇒ Object
- #add_variant(tag, attributes: {}) ⇒ Object
- #enum? ⇒ Boolean
-
#initialize(name:, kind:, discriminator: nil, values: nil) ⇒ Definition
constructor
A new instance of Definition.
- #object? ⇒ Boolean
- #union? ⇒ Boolean
Constructor Details
#initialize(name:, kind:, discriminator: nil, values: nil) ⇒ Definition
Returns a new instance of Definition.
7 8 9 10 11 12 13 14 |
# File 'lib/zodra/definition.rb', line 7 def initialize(name:, kind:, discriminator: nil, values: nil) @name = name @kind = kind @discriminator = discriminator @values = values @attributes = {} @variants = [] end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
5 6 7 |
# File 'lib/zodra/definition.rb', line 5 def attributes @attributes end |
#discriminator ⇒ Object (readonly)
Returns the value of attribute discriminator.
5 6 7 |
# File 'lib/zodra/definition.rb', line 5 def discriminator @discriminator end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
5 6 7 |
# File 'lib/zodra/definition.rb', line 5 def kind @kind end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/zodra/definition.rb', line 5 def name @name end |
#values ⇒ Object (readonly)
Returns the value of attribute values.
5 6 7 |
# File 'lib/zodra/definition.rb', line 5 def values @values end |
#variants ⇒ Object (readonly)
Returns the value of attribute variants.
5 6 7 |
# File 'lib/zodra/definition.rb', line 5 def variants @variants end |
Instance Method Details
#add_attribute(attribute_name) ⇒ Object
28 29 30 |
# File 'lib/zodra/definition.rb', line 28 def add_attribute(attribute_name, **) @attributes[attribute_name.to_sym] = Attribute.new(name: attribute_name, **) end |
#add_variant(tag, attributes: {}) ⇒ Object
32 33 34 |
# File 'lib/zodra/definition.rb', line 32 def add_variant(tag, attributes: {}) @variants << Variant.new(tag:, attributes:) end |
#enum? ⇒ Boolean
20 21 22 |
# File 'lib/zodra/definition.rb', line 20 def enum? kind == :enum end |
#object? ⇒ Boolean
16 17 18 |
# File 'lib/zodra/definition.rb', line 16 def object? kind == :object end |
#union? ⇒ Boolean
24 25 26 |
# File 'lib/zodra/definition.rb', line 24 def union? kind == :union end |