module MonthConstrain::ActiveRecordBase::Initializer
Public Class Methods
scope(target_class, columns)
click to toggle source
# File lib/month_constrain/active_record_base/initializer.rb, line 13 def self.scope(target_class, columns) target_class.class_eval do columns.each do |column| scope "#{column}_in".to_sym, lambda { |from, to| relation = self relation = relation.where(self.arel_table[column.to_sym].gteq(month_constrain(from))) if from relation = relation.where(self.arel_table[column.to_sym].lteq(month_constrain(to))) if to relation } scope column.to_s.to_sym, lambda { |val| where(column => month_constrain(val)) } end end end
setter(target_class, columns)
click to toggle source
Calls superclass method
# File lib/month_constrain/active_record_base/initializer.rb, line 3 def self.setter(target_class, columns) target_class.class_eval do columns.each do |column| define_method "#{column}=" do |val| super(self.class.month_constrain(val)) end end end end