Method: EvoSynth::Profile#method_missing
- Defined in:
- lib/evosynth/core/profile.rb
#method_missing(method_name, *args) ⇒ Object
Used to dynamically add key/value pairs.
p = EvoSynth::Profile.new
p.foo #=> raises ArgumentError
p.foo = "bar" #=> adds key 'foo' to p and sets its value to 'bar'
p.foo #=> 'bar'
64 65 66 67 68 69 70 71 72 |
# File 'lib/evosynth/core/profile.rb', line 64 def method_missing(method_name, *args) if method_name[-1] == "=" args = args[0] if args.size == 1 add_symbol(method_name[0..method_name.size-2].to_sym, args) else raise ArgumentError.new("Profile does not contain a value for '#{method_name}'.") unless @properties.has_key?(method_name) @properties[method_name] end end |