Class: Fiona7::TypeRegister::AdHocTypeDefinition
- Inherits:
-
Object
- Object
- Fiona7::TypeRegister::AdHocTypeDefinition
- Defined in:
- lib/fiona7/type_register.rb
Instance Attribute Summary collapse
-
#obj_class ⇒ Object
Returns the value of attribute obj_class.
-
#values ⇒ Object
Returns the value of attribute values.
Instance Method Summary collapse
-
#initialize(values, obj_class = nil) ⇒ AdHocTypeDefinition
constructor
A new instance of AdHocTypeDefinition.
- #type_definition ⇒ Object
Constructor Details
#initialize(values, obj_class = nil) ⇒ AdHocTypeDefinition
Returns a new instance of AdHocTypeDefinition.
103 104 105 106 |
# File 'lib/fiona7/type_register.rb', line 103 def initialize(values, obj_class=nil) self.values = values self.obj_class = obj_class || values.delete(:_obj_class) end |
Instance Attribute Details
#obj_class ⇒ Object
Returns the value of attribute obj_class.
102 103 104 |
# File 'lib/fiona7/type_register.rb', line 102 def obj_class @obj_class end |
#values ⇒ Object
Returns the value of attribute values.
102 103 104 |
# File 'lib/fiona7/type_register.rb', line 102 def values @values end |
Instance Method Details
#type_definition ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/fiona7/type_register.rb', line 108 def type_definition type_definition = TypeDefinition.new(self.obj_class) values.each do |name, possible_pair| next if name =~ /\A_/ # built-in attribute next unless possible_pair.kind_of?(Array) && possible_pair.length == 2 type, _ = *possible_pair type_definition.add_attr(name, type) end type_definition end |