module Seria::InfoTableOwner
Public Instance Methods
[](key)
click to toggle source
# File lib/seria/info_table.rb, line 95 def [] key info = lookup(key) info.field_value if info end
[]=(key, val)
click to toggle source
# File lib/seria/info_table.rb, line 81 def []= key, val info = lookup(key) if info info.field_value = val info.field_type = val.class.name else build( Seria.config.fields.key => key, Seria.config.fields.value => val, Seria.config.fields.type => val.class.name ) end val end
lookup(key)
click to toggle source
# File lib/seria/info_table.rb, line 99 def lookup key to_a.select{|i| i.field_name == key.to_s}.first end
method_missing(sym, *args, &block)
click to toggle source
Calls superclass method
# File lib/seria/info_table.rb, line 107 def method_missing(sym, *args, &block) if sym.to_s =~ /\=$/ my_infos[sym.to_s[0..-2]] = args.first else info = Seria.config.perform_lookup_on_method_missing && my_infos.lookup(sym) info ? info.field_value : super end end