Method: TypeDef::DataConstructor#method_missing
- Defined in:
- lib/thaip/type_def.rb
#method_missing(name, *args) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/thaip/type_def.rb', line 89 def method_missing(name, *args) if name.to_s.end_with?('=') key = name.to_s[0..-2].to_sym return super(name, *args) unless @vals.key?(key) type = @argkw[key] value = args[0] raise "Expected type <#{type}> for value <#{value}>" unless value.nil? || value.is_a?(type) @vals[key] = value else return super(name, *args) unless @vals.key?(name) @vals[name] end end |