Module: SearchCop::Visitors::Postgres
- Defined in:
- lib/search_cop/visitors/postgres.rb
Defined Under Namespace
Classes: FulltextQuery
Instance Method Summary collapse
- #visit_SearchCopGrammar_Attributes_Collection(node) ⇒ Object
- #visit_SearchCopGrammar_Nodes_FulltextExpression(node) ⇒ Object
- #visit_SearchCopGrammar_Nodes_Matches(node) ⇒ Object
Instance Method Details
#visit_SearchCopGrammar_Attributes_Collection(node) ⇒ Object
27 28 29 |
# File 'lib/search_cop/visitors/postgres.rb', line 27 def visit_SearchCopGrammar_Attributes_Collection(node) node.attributes.collect { |attribute| visit attribute }.join(" || ' ' || ") end |
#visit_SearchCopGrammar_Nodes_FulltextExpression(node) ⇒ Object
31 32 33 34 35 |
# File 'lib/search_cop/visitors/postgres.rb', line 31 def visit_SearchCopGrammar_Nodes_FulltextExpression(node) dictionary = node.collection.[:dictionary] || "simple" "to_tsvector(#{visit dictionary}, #{visit node.collection}) @@ to_tsquery(#{visit dictionary}, #{visit FulltextQuery.new(connection).visit(node.node)})" end |
#visit_SearchCopGrammar_Nodes_Matches(node) ⇒ Object
23 24 25 |
# File 'lib/search_cop/visitors/postgres.rb', line 23 def visit_SearchCopGrammar_Nodes_Matches(node) "#{visit node.left} ILIKE #{visit node.right}" end |