class MCollective::Data::Result - mcollective version 2.12.5

# class MCollective::Data::Result

### Public Class Methods

new(outputs) click to toggle source

       # File lib/mcollective/data/result.rb
     9 def initialize(outputs)
    10   @data = {}
    11
    12   outputs.keys.each do |output|
    13     @data[output] = Marshal.load(Marshal.dump(outputs[output].fetch(:default, nil)))
    14   end
    15 end

### Public Instance Methods

[](key) click to toggle source

       # File lib/mcollective/data/result.rb
    21 def [](key)
    22   @data[key.to_sym]
    23 end

[]=(key, val) click to toggle source

       # File lib/mcollective/data/result.rb
    25 def []=(key, val)
    26   # checks using the string representation of the class name to avoid deprecations on Bignum and Fixnum
    27   raise "Can only store String, Integer, Float or Boolean data but got #{val.class} for key #{key}" unless ["String", "Integer", "Bignum", "Fixnum", "Float", "TrueClass", "FalseClass"].include?(val.class.to_s)
    28
    29   @data[key.to_sym] = val
    30 end

include?(key) click to toggle source

       # File lib/mcollective/data/result.rb
    17 def include?(key)
    18   @data.include?(key.to_sym)
    19 end

keys() click to toggle source

       # File lib/mcollective/data/result.rb
    32 def keys
    33   @data.keys
    34 end

method_missing(method, *args) click to toggle source

       # File lib/mcollective/data/result.rb
    36 def method_missing(method, *args)
    37   key = method.to_sym
    38
    39   raise NoMethodError, "undefined local variable or method `%s'" % key unless include?(key)
    40
    41   @data[key]
    42 end