class Tools
Public Class Methods
_get_all_values_nested(nested_hash={}, path=[])
click to toggle source
# File lib/ruby-d2l/tools.rb, line 27 def self._get_all_values_nested(nested_hash={}, path=[]) all_values = {} nested_hash.each_pair do |k,v| path << k case v when Array, Date, DateTime, FalseClass, Fixnum, NilClass, String, TrueClass then all_values.merge!({"#{path.join(".")}" => "#{v}"}) when Hash then all_values.merge!(_get_all_values_nested(v, path)) else raise ArgumentError, "Unhandled type #{v.class}" end path.pop end return all_values end
get_all_values_nested(nested_hash={})
click to toggle source
@path = []
def self.get_all_values_nested(nested_hash={})
@all_values = {} nested_hash.each_pair do |k,v| @path << k case v when Array, DateTime, FalseClass, Fixnum, NilClass, String, TrueClass then @all_values.merge!({"#{@path.join(".")}" => "#{v}"}) @path.pop when Hash then get_all_values_nested(v) else raise ArgumentError, "Unhandled type #{v.class}" end end @path.pop return @all_values
end
# File lib/ruby-d2l/tools.rb, line 23 def self.get_all_values_nested(nested_hash={}) @all_values = _get_all_values_nested(nested_hash) end