module AttrSearchable::Arel::Visitors::PostgreSQL
Public Instance Methods
visit_AttrSearchableGrammar_Attributes_Collection(o, a)
click to toggle source
# File lib/attr_searchable/arel/visitors.rb, line 163 def visit_AttrSearchableGrammar_Attributes_Collection(o, a) o.attributes.collect { |attribute| visit attribute.attribute, a }.join(" || ' ' || ") end
visit_AttrSearchableGrammar_Nodes_And_Fulltext(o, a)
click to toggle source
# File lib/attr_searchable/arel/visitors.rb, line 181 def visit_AttrSearchableGrammar_Nodes_And_Fulltext(o, a) o.nodes.collect { |node| "(#{visit node, a})" }.join(" & ") end
visit_AttrSearchableGrammar_Nodes_FulltextExpression(o, a)
click to toggle source
# File lib/attr_searchable/arel/visitors.rb, line 167 def visit_AttrSearchableGrammar_Nodes_FulltextExpression(o, a) dictionary = o.collection.options[:dictionary] || "simple" "to_tsvector(#{visit dictionary, a}, #{visit o.collection, a}) @@ to_tsquery(#{visit dictionary, a}, #{visit visit(o.node, a), a})" end
visit_AttrSearchableGrammar_Nodes_MatchesFulltext(o, a)
click to toggle source
# File lib/attr_searchable/arel/visitors.rb, line 177 def visit_AttrSearchableGrammar_Nodes_MatchesFulltext(o, a) "'#{o.right.gsub /[\s&|!:'"]+/, " "}'" end
visit_AttrSearchableGrammar_Nodes_MatchesFulltextNot(o, a)
click to toggle source
# File lib/attr_searchable/arel/visitors.rb, line 173 def visit_AttrSearchableGrammar_Nodes_MatchesFulltextNot(o, a) "!'#{o.right}'" end
visit_AttrSearchableGrammar_Nodes_Or_Fulltext(o, a)
click to toggle source
# File lib/attr_searchable/arel/visitors.rb, line 185 def visit_AttrSearchableGrammar_Nodes_Or_Fulltext(o, a) o.nodes.collect { |node| "(#{visit node, a})" }.join(" | ") end