Class: ActiveRecord::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/fuzzy_date.rb

Class Method Summary collapse

Class Method Details

.acts_as_fuzzy_date(*args) ⇒ Object



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
# File 'lib/fuzzy_date.rb', line 283

def acts_as_fuzzy_date(*args)
  args.each do |name|
    str ="    def \#{name}\n       FuzzyDate.new_from_db(self['\#{name}'])\n    end\n    \n    def \#{name}=(s)\n       if s.kind_of? String\n           self['\#{name}'] = FuzzyDate.parse(s).to_db unless s.strip.empty?\n       elsif s.kind_of? FuzzyDate\n           self['\#{name}']=s.to_db\n       elsif !s\n           self['\#{name}'] = nil\n       end\n    end\n"
    class_eval str
  end
end