class Job < ActiveRecord::Base
serialize :properties, Hash
attr_accessor :fields
def initialize
@fields = property_fields
super
end
def property_fields
Array self.job_type.field_names
end
# This doesnt work NoMethodError: undefined method `each' for nil:NilClass
@fields.each do |meth|
define_method(meth) { @properties[meth.to_sym] }
end
# This works, however I get undefined method on [],
# which is probably expected since @properties would not contain foo or bar
%w[foo bar].each do |meth|
define_method(meth) { @properties[meth.to_sym] }
end
end