Class: SQLTree::Node::SetExpression
- Inherits:
-
Expression
- Object
- Base
- Expression
- SQLTree::Node::SetExpression
- Defined in:
- lib/sql_tree/node/expression.rb
Instance Attribute Summary collapse
-
#items ⇒ Object
Returns the value of attribute items.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(items = []) ⇒ SetExpression
constructor
A new instance of SetExpression.
- #to_sql ⇒ Object
Methods inherited from Expression
Methods inherited from Base
[], #inspect, #quote_str, #quote_var
Constructor Details
#initialize(items = []) ⇒ SetExpression
Returns a new instance of SetExpression.
138 139 140 |
# File 'lib/sql_tree/node/expression.rb', line 138 def initialize(items = []) @items = items end |
Instance Attribute Details
#items ⇒ Object
Returns the value of attribute items.
136 137 138 |
# File 'lib/sql_tree/node/expression.rb', line 136 def items @items end |
Class Method Details
.parse(tokens) ⇒ Object
146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/sql_tree/node/expression.rb', line 146 def self.parse(tokens) tokens.consume(SQLTree::Token::LPAREN) items = [SQLTree::Node::Expression.parse(tokens)] while tokens.peek == SQLTree::Token::COMMA tokens.consume(SQLTree::Token::COMMA) items << SQLTree::Node::Expression.parse(tokens) end tokens.consume(SQLTree::Token::RPAREN) self.new(items) end |
Instance Method Details
#to_sql ⇒ Object
142 143 144 |
# File 'lib/sql_tree/node/expression.rb', line 142 def to_sql "(#{items.map {|i| i.to_sql}.join(', ')})" end |