Module: Trax::Core::Definitions
- Defined in:
- lib/trax/core/definitions.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(base) ⇒ Object
4 5 6 |
# File 'lib/trax/core/definitions.rb', line 4 def self.extended(base) base.extend(Trax::Core::Fields) end |
Instance Method Details
#enum(klass_name, **options, &block) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/trax/core/definitions.rb', line 8 def enum(klass_name, **, &block) attribute_klass = if .key?(:extends) _klass_prototype = [:extends].constantize.clone ::Trax::Core::NamedClass.new("#{self.name}::#{klass_name}", _klass_prototype, :parent_definition => self, &block) else ::Trax::Core::NamedClass.new("#{self.name}::#{klass_name}", ::Trax::Core::Types::Enum, :parent_definition => self, &block) end attribute_klass end |
#struct(klass_name, **options, &block) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/trax/core/definitions.rb', line 19 def struct(klass_name, **, &block) attribute_klass = if .key?(:extends) _klass_prototype = [:extends].constantize.clone ::Trax::Core::NamedClass.new("#{self.name}::#{klass_name}", _klass_prototype, :parent_definition => self, &block) else ::Trax::Core::NamedClass.new("#{self.name}::#{klass_name}", ::Trax::Core::Types::Struct, :parent_definition => self, &block) end attribute_klass end |