Class: ActiveRecord::PredicateBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/doremi/active_record/relation/predicate_builder.rb

Class Method Summary collapse

Class Method Details

.build_with_pg_types(attribute, value) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/doremi/active_record/relation/predicate_builder.rb', line 6

def build_with_pg_types(attribute, value)
  if column = column_for(attribute)
    value = type_cast(column, value)
  end

  build_without_pg_types(attribute, value)
end

.column_for(attribute) ⇒ Object



15
16
17
18
# File 'lib/doremi/active_record/relation/predicate_builder.rb', line 15

def column_for(attribute)
  attribute.relation.engine.connection.schema_cache.columns(attribute.relation.name.pluralize)
    .find {|col| col.name == attribute.name.to_s }
end

.type_cast(column, value) ⇒ Object



20
21
22
# File 'lib/doremi/active_record/relation/predicate_builder.rb', line 20

def type_cast(column, value)
  column.cast_type.type_cast_for_database(value)
end