class Babik::Selection::Operation::Between
Between
comparison (check the value is between two different values)
Public Class Methods
new(field, value)
click to toggle source
Calls superclass method
Babik::Selection::Operation::Base::new
# File lib/babik/queryset/lib/selection/operation/operations.rb, line 107 def initialize(field, value) super(field, '?field BETWEEN ?value1 AND ?value2', value) end
Public Instance Methods
_init_sql_operation()
click to toggle source
# File lib/babik/queryset/lib/selection/operation/operations.rb, line 111 def _init_sql_operation if @value.class == Array if [@value[0], @value[1]].map { |v| [DateTime, Date, Time].include?(v.class) } == [true, true] value1 = "'#{@value[0].utc.to_s(:db)}'" value2 = "'#{@value[1].utc.to_s(:db)}'" else value1 = self.class.escape(@value[0]) value2 = self.class.escape(@value[1]) end @sql_operation = @sql_operation_template.sub('?field', @field).sub('?value1', value1).sub('?value2', value2) else raise 'Array is needed if operator is between' end end