Sha256: 7c1c4b254507f87edfed27994126d8e898954ee3c76d5c9afaf0ae5a225f2d71

Contents?: true

Size: 605 Bytes

Versions: 46

Compression:

Stored size: 605 Bytes

Contents

module CalculateStat

  def self.included(base)
    base.extend ClassMethods
    base.send :include, InstanceMethods
    base.class_eval do
      validates_presence_of :start_date, :end_date
      validate :check_date
    end
  end

  module ClassMethods
    def calculate_stat
      self.not_calculated.each do |stat|
        stat.calculate!
      end
    end
  end

  module InstanceMethods
    def check_date
      if self.start_date and self.end_date
        if self.start_date >= self.end_date
          errors.add(:start_date)
          errors.add(:end_date)
        end
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 4 rubygems

Version Path
enju_bookmark-0.1.3 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre23 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre22 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre21 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre20 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre19 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre18 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre17 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre16 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre15 lib/enju_bookmark/calculate_stat.rb
enju_bookmark-0.1.2.pre14 lib/enju_bookmark/calculate_stat.rb
enju_seed-0.1.1.pre9 lib/enju_seed/calculate_stat.rb
enju_bookmark-0.1.2.pre13 lib/enju_bookmark/calculate_stat.rb
enju_seed-0.1.1.pre8 lib/enju_seed/calculate_stat.rb
enju_seed-0.1.1.pre7 lib/enju_seed/calculate_stat.rb
enju_core-0.2.0.pre2 lib/enju_core/calculate_stat.rb
enju_core-0.1.1.pre6 lib/enju_core/calculate_stat.rb
enju_core-0.1.1.pre5 lib/enju_core/calculate_stat.rb
enju_core-0.2.0.pre1 lib/enju_core/calculate_stat.rb