class Babik::Selection::Operation::In
IN operation
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 46 def initialize(field, value) _init_value(value) super(field, '?field IN ?value', @value) end
Public Instance Methods
_init_sql_operation()
click to toggle source
# File lib/babik/queryset/lib/selection/operation/operations.rb, line 72 def _init_sql_operation @sql_operation = @sql_operation_template.sub('?field', @field).sub('?value', @value) end
_init_value(value)
click to toggle source
# File lib/babik/queryset/lib/selection/operation/operations.rb, line 51 def _init_value(value) if value.class == Array values = value.map do |value_i| if value_i.is_a?(String) self.class.escape(value_i) elsif value_i.is_a?(ActiveRecord::Base) value_i.id else value_i end end @value = "(#{values.join(', ')})" elsif value.class == Babik::QuerySet::Base @value = "(#{value.sql.select})" elsif value.class == String @value = "('#{self.class.escape(value)}')" else @value = "(#{value})" end end