# File lib/mcollective/data/result.rb, line 9 def initialize(outputs) @data = {} outputs.keys.each do |output| @data[output] = Marshal.load(Marshal.dump(outputs[output].fetch(:default, nil))) end end
# File lib/mcollective/data/result.rb, line 21 def [](key) @data[key.to_sym] end
# File lib/mcollective/data/result.rb, line 25 def []=(key, val) raise "Can only store String, Integer, Float or Boolean data but got #{val.class} for key #{key}" unless [String, Fixnum, Bignum, Float, TrueClass, FalseClass].include?(val.class) @data[key.to_sym] = val end
# File lib/mcollective/data/result.rb, line 17 def include?(key) @data.include?(key.to_sym) end
# File lib/mcollective/data/result.rb, line 31 def keys @data.keys end
# File lib/mcollective/data/result.rb, line 35 def method_missing(method, *args) key = method.to_sym raise NoMethodError, "undefined local variable or method `%s'" % key unless include?(key) @data[key] end