class MongoQL::Stage::Lookup::NestedPipelineVars
Attributes
vars[RW]
Public Class Methods
new()
click to toggle source
# File lib/mongo_ql/stage/lookup.rb, line 8 def initialize @vars = {} end
Public Instance Methods
get(name)
click to toggle source
# File lib/mongo_ql/stage/lookup.rb, line 20 def get(name) vars["var_#{name}"] ||= Expression::FieldNode.new(name) Expression::FieldNode.new("$var_#{name}") end
method_missing(m, *args, &block)
click to toggle source
# File lib/mongo_ql/stage/lookup.rb, line 12 def method_missing(m, *args, &block) if is_setter?(m) set(m, args.first) else get(m) end end
set(name, val)
click to toggle source
# File lib/mongo_ql/stage/lookup.rb, line 25 def set(name, val) vars["var_#{name.to_s[0..-2]}"] = val end
Private Instance Methods
is_setter?(method_name)
click to toggle source
# File lib/mongo_ql/stage/lookup.rb, line 30 def is_setter?(method_name) method_name.to_s.end_with?("=") end