class Hotdog::Expression::QueryExpressionNode
Attributes
query[R]
values[R]
Public Class Methods
new(query, values=[], options={})
click to toggle source
# File lib/hotdog/expression/semantics.rb, line 471 def initialize(query, values=[], options={}) @query = query @values = values @options = options end
Public Instance Methods
dump(options={})
click to toggle source
# File lib/hotdog/expression/semantics.rb, line 488 def dump(options={}) data = {query: @query, values: @values} data[:fallback] = @options[:fallback].dump(options) if @options[:fallback] data end
evaluate(environment, options={})
click to toggle source
# File lib/hotdog/expression/semantics.rb, line 479 def evaluate(environment, options={}) values = environment.execute(@query, @values).map { |row| row.first } if values.empty? and @options[:fallback] @options[:fallback].evaluate(environment, options) else values end end