class TableSaw::Queries::SerializeSqlInClause

Attributes

column[R]
table_name[R]
values[R]

Public Class Methods

new(table_name, column, values) click to toggle source
# File lib/table_saw/queries/serialize_sql_in_clause.rb, line 8
def initialize(table_name, column, values)
  @table_name = table_name
  @column = column
  @values = values
end

Public Instance Methods

call() click to toggle source
# File lib/table_saw/queries/serialize_sql_in_clause.rb, line 14
def call
  "#{column} in (#{serialized_values.join(', ')})"
end

Private Instance Methods

connection() click to toggle source
# File lib/table_saw/queries/serialize_sql_in_clause.rb, line 30
def connection
  TableSaw::Connection.adapter
end
db_column() click to toggle source
# File lib/table_saw/queries/serialize_sql_in_clause.rb, line 20
def db_column
  TableSaw.schema_cache.columns_hash(table_name)[column]
end
serialized_values() click to toggle source
# File lib/table_saw/queries/serialize_sql_in_clause.rb, line 24
def serialized_values
  values.map do |value|
    connection.quote_default_expression(value, db_column)
  end
end