Sha256: 9e272c91fc819c575db2bdd35a863869f1effdca7c37eb2df3de925f1b895022

Contents?: true

Size: 592 Bytes

Versions: 9

Compression:

Stored size: 592 Bytes

Contents

module Timely
  module DateRangeValidityModule
    def self.included(base)
      base.class_eval do
        validates :from, :to, :presence => true
      end
    end

    def validity_range
      (from .. to)
    end

    def correctness_of_date_range
      if (from.present? && to.present?)
        errors.add(:base, "Invalid Date Range. From date should be less than or equal to To date") if from > to
      end
    end

    def validity_range_to_s
      "#{from.to_s(:short)} ~ #{to.to_s(:short)}"
    end
    
    def valid_on?(date)
      validity_range.include?(date)
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
timely-0.5.0 lib/timely/rails/date_range_validity_module.rb
timely-0.4.2 lib/timely/rails/date_range_validity_module.rb
timely-0.4.1 lib/timely/rails/date_range_validity_module.rb
timely-0.4.0 lib/timely/rails/date_range_validity_module.rb
timely-0.3.4 lib/timely/rails/date_range_validity_module.rb
timely-0.3.2 lib/timely/rails/date_range_validity_module.rb
timely-0.3.1 lib/timely/rails/date_range_validity_module.rb
timely-0.3.0 lib/timely/rails/date_range_validity_module.rb
timely-0.1.0 lib/timely/rails/date_range_validity_module.rb