Class: Arel::Nodes::Dmetaphone
- Inherits:
-
InfixOperation
- Object
- InfixOperation
- Arel::Nodes::Dmetaphone
- Defined in:
- lib/pg_searchable/arel/nodes/dmetaphone.rb
Instance Method Summary collapse
-
#initialize(attribute, query, dictionary) ⇒ Dmetaphone
constructor
A new instance of Dmetaphone.
Constructor Details
#initialize(attribute, query, dictionary) ⇒ Dmetaphone
Returns a new instance of Dmetaphone.
6 7 8 9 10 11 12 13 14 15 16 17 |
# 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::.new(query), dictionary)) end |