class ActiveRecord::Base

Public Class Methods

acts_as_fuzzy_date(*args) click to toggle source
# File lib/fuzzy_date.rb, line 300
      def acts_as_fuzzy_date(*args)
        args.each do |name|
          str = <<-EOF
          def #{name}
             FuzzyDate.new_from_db(self['#{name}'])
          end

          def #{name}=(s)
             if s.kind_of? String
                 self['#{name}'] = FuzzyDate.parse(s).to_db unless s.strip.empty?
             elsif s.kind_of? FuzzyDate
                 self['#{name}']=s.to_db
             elsif !s
                 self['#{name}'] = nil
             end
          end
          EOF
          class_eval str
        end
      end