Class: SetBuilder::Modifiers::DateModifier
- Inherits:
-
SetBuilder::Modifier::Adverb
- Object
- SetBuilder::Modifier::Base
- SetBuilder::Modifier::Adverb
- SetBuilder::Modifiers::DateModifier
- Defined in:
- lib/set_builder/modifiers/date_modifier.rb
Instance Attribute Summary
Attributes inherited from SetBuilder::Modifier::Base
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from SetBuilder::Modifier::Base
#initialize, negate, to_hash, to_json, #to_s, #valid?, #valid_argument_of_type?, #valid_arguments?, #valid_date_argument?, #valid_number_argument?, #valid_operator?
Constructor Details
This class inherits a constructor from SetBuilder::Modifier::Base
Class Method Details
.operators ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/set_builder/modifiers/date_modifier.rb', line 10 def self.operators { :ever => [], :before => [:date], :after => [:date], :on => [:date], :during_month => [:month], :during_year => [:year], :in_the_last => [:number, :period], :between => [:date, :date] } end |
Instance Method Details
#build_conditions_for(selector) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/set_builder/modifiers/date_modifier.rb', line 25 def build_conditions_for(selector) case operator when :ever "#{selector} IS NOT NULL" when :before "#{selector}<'#{format_value(get_date)}'" when :after "#{selector}>'#{format_value(get_date)}'" when :on "#{selector}='#{format_value(get_date)}'" when :during_month "extract(month from #{selector})=#{values[0].to_i}" when :during_year year = values[0].to_i return "TRUE" if year <= 0 "#{selector} BETWEEN '#{year}-01-01' AND '#{year}-12-31'" when :in_the_last "#{selector}>='#{format_value(get_date)}'" when :between "#{selector} BETWEEN '#{format_value(Date.parse values[0])}' AND '#{format_value(Date.parse values[1])}'" end end |