Class: Fabulator::Expr::Tuple

Inherits:
Object
  • Object
show all
Defined in:
lib/fabulator/expr/function.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Tuple

Returns a new instance of Tuple.



47
48
49
# File 'lib/fabulator/expr/function.rb', line 47

def initialize(args)
  @args = args
end

Instance Method Details

#run(context, autovivify = false) ⇒ Object



51
52
53
54
55
56
57
58
# File 'lib/fabulator/expr/function.rb', line 51

def run(context, autovivify = false)
  items = @args.collect{ |arg| arg.run(context, autovivify).flatten }.flatten
  ret = context.root.anon_node(nil, [ FAB_NS, 'tuple' ])
  ret.value = items
  ret.vtype = [ FAB_NS, 'tuple' ]
  ret.set_attribute('size', items.size)
  [ ret ]
end