class Arel::Nodes::Dmetaphone

Public Class Methods

new(attribute, query, dictionary) click to toggle source
Calls superclass method
# File lib/pg_searchable/arel/nodes/dmetaphone.rb, line 6
def initialize(attribute, query, dictionary)
  relation  = attribute.relation
  columns   = relation.engine.connection.columns(relation.name)
  left      = case columns.find {|c| c.name == attribute.name.to_s }.type
  when :tsvector
    attribute
  else
    Arel::Nodes::ToTsvector.new(attribute, dictionary)
  end

  super(:'@@', left, Arel::Nodes::ToTsquery.new(Arel::Nodes::PgSearchableDmetaphone.new(query), dictionary))
end