Sha256: a789ddc2a7ad4f30234dd52e4bbd96653a512351631e7bd81ce6b02265f73e46
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
require 'set_builder/modifier/verb' module SetBuilder module Modifiers class NumberModifier < Modifier::Verb def self.operators { :is => [:number], :is_less_than => [:number], :is_greater_than => [:number], :is_between => [:number, :number] } end 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 def build_arel_for(selector) case operator when :is selector.eq(value) when :is_less_than selector.lt(value) when :is_greater_than selector.gt(value) when :is_between selector.gteq(value).and(selector.lteq(value)) end end private def value values[0] end def format_value value end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
set_builder-1.2.0.beta2 | lib/set_builder/modifiers/number_modifier.rb |