lib/sql_tree/node/expression.rb in sql_tree-0.0.1 vs lib/sql_tree/node/expression.rb in sql_tree-0.0.2

- old
+ new

@@ -47,14 +47,10 @@ def to_sql "NOT(#{@expression.to_sql})" end - def to_tree - [:not, expression.to_tree] - end - def ==(other) other.kind_of?(self.class) && other.expression == self.expression end def self.parse(tokens) @@ -73,14 +69,10 @@ def to_sql "(" + @expressions.map { |e| e.to_sql }.join(" #{@operator.to_s.upcase} ") + ")" end - def to_tree - [@operator] + @expressions.map { |e| e.to_tree } - end - def ==(other) self.operator == other.operator && self.expressions == other.expressions end def self.parse(tokens) @@ -103,14 +95,10 @@ def to_sql "(#{@lhs.to_sql} #{@operator} #{@rhs.to_sql})" end - def to_tree - [SQLTree::Token::OPERATORS_HASH[@operator], @lhs.to_tree, @rhs.to_tree] - end - def self.parse_comparison_operator(tokens) operator_token = tokens.next if SQLTree::Token::IS === operator_token if SQLTree::Token::NOT === tokens.peek tokens.consume(SQLTree::Token::NOT) @@ -149,14 +137,10 @@ def initialize(items = []) @items = items end - def to_tree - items.map { |i| i.to_tree } - end - def to_sql "(#{items.map {|i| i.to_sql}.join(', ')})" end def self.parse(tokens) @@ -182,14 +166,10 @@ def to_sql "#{@function}(" + @arguments.map { |e| e.to_sql }.join(', ') + ")" end - def to_tree - [@function.to_sym] + @arguments.map { |e| e.to_tree } - end - def self.parse(tokens) expr = self.new(tokens.next.literal) tokens.consume(SQLTree::Token::LPAREN) until tokens.peek == SQLTree::Token::RPAREN expr.arguments << SQLTree::Node::Expression.parse(tokens) @@ -209,13 +189,9 @@ @operator = operator end def to_sql "(#{@lhs.to_sql} #{@operator} #{@rhs.to_sql})" - end - - def to_tree - [SQLTree::Token::OPERATORS_HASH[@operator], @lhs.to_tree, @rhs.to_tree] end def self.parse(tokens) self.parse_primary(tokens) end