class Arel::Nodes::HomogeneousIn
def casted_values
def casted_values type = attribute.type_caster casted_values = values.map do |raw_value| type.serialize(raw_value) if type.serializable?(raw_value) end casted_values.compact! casted_values end
def eql?(other)
def eql?(other) super || (self.class == other.class && self.ivars == other.ivars) end
def equality?
def equality? type == :in end
def fetch_attribute(&block)
def fetch_attribute(&block) if attribute yield attribute else expr.fetch_attribute(&block) end end
def hash
def hash ivars.hash end
def initialize(values, attribute, type)
def initialize(values, attribute, type) @values = values @attribute = attribute @type = type end
def invert
def invert Arel::Nodes::HomogeneousIn.new(values, attribute, type == :in ? :notin : :in) end
def ivars
def ivars [@attribute, @values, @type] end
def left
def left attribute end
def proc_for_binds
def proc_for_binds -> value { ActiveModel::Attribute.with_cast_value(attribute.name, value, ActiveModel::Type.default_value) } end
def right
def right attribute.quoted_array(values) end