Class: GmailSearchSyntax::SQLiteVisitor
- Inherits:
-
Object
- Object
- GmailSearchSyntax::SQLiteVisitor
- Defined in:
- lib/gmail_search_syntax/sql_visitor.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(current_user_email: nil, alias_counter: (1..).each) ⇒ SQLiteVisitor
constructor
A new instance of SQLiteVisitor.
- #to_query ⇒ Object
- #visit(node) ⇒ Object
Constructor Details
#initialize(current_user_email: nil, alias_counter: (1..).each) ⇒ SQLiteVisitor
40 41 42 43 |
# File 'lib/gmail_search_syntax/sql_visitor.rb', line 40 def initialize(current_user_email: nil, alias_counter: (1..).each) @current_user_email = current_user_email @query = Query.new(alias_counter:) end |
Instance Method Details
#to_query ⇒ Object
68 69 70 |
# File 'lib/gmail_search_syntax/sql_visitor.rb', line 68 def to_query @query end |
#visit(node) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/gmail_search_syntax/sql_visitor.rb', line 45 def visit(node) case node when AST::Operator visit_operator(node) when AST::StringToken visit_string_token(node) when AST::Substring visit_substring(node) when AST::And visit_and(node) when AST::Or visit_or(node) when AST::Not visit_not(node) when AST::Group visit_group(node) when AST::Around visit_around(node) else raise "Unknown node type: #{node.class}" end end |