module MonthConstrain::ActiveRecordBase

Public Instance Methods

acts_as_month_constrain(*columns) click to toggle source
# File lib/month_constrain/active_record_base.rb, line 5
def acts_as_month_constrain(*columns)
  Initializer.setter(self, columns)
  Initializer.scope(self, columns)
end
month_constrain(value) click to toggle source
# File lib/month_constrain/active_record_base.rb, line 10
def month_constrain(value)
  case value
  when Date, Time, ActiveSupport::TimeWithZone
    Date.new(value.year, value.month, 1)
  when /\A(\d{4})-(\d{1,2})/
    Date.new(Regexp.last_match(1).to_i, Regexp.last_match(2).to_i, 1)
  end
rescue ArgumentError
  nil
end