wethu
4/1/2014 - 3:50 AM

Job.rb

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