Class: SetBuilder::Modifiers::NumberModifier

Inherits:
SetBuilder::Modifier::Verb show all
Defined in:
lib/set_builder/modifiers/number_modifier.rb

Instance Attribute Summary

Attributes inherited from SetBuilder::Modifier::Base

#operator, #values

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

.operatorsObject



10
11
12
13
14
15
16
17
# File 'lib/set_builder/modifiers/number_modifier.rb', line 10

def self.operators
  {
    :is => [:number],
    :is_less_than => [:number],
    :is_greater_than => [:number],
    :is_between => [:number, :number]
  }
end

Instance Method Details

#build_conditions_for(selector) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/set_builder/modifiers/number_modifier.rb', line 21

def build_conditions_for(selector)
  case operator
  when :is
    ["#{selector}=?", format_value]
  when :is_less_than
    ["#{selector}<?", format_value]
  when :is_greater_than
    ["#{selector}>?", format_value]
  when :is_between
    ["#{selector}>=? AND #{selector}<=?", values[0], values[1]]
  end
end