module Deeply
Public Instance Methods
deeply_dup()
click to toggle source
# File lib/app/config/deeply.rb, line 166 def deeply_dup self.each_with_object({}) do |(key, obj), hash| case obj when NilClass hash[key] = nil when Array, Hash hash[key] = obj.deeply_dup else hash[key] = obj.dup end end end
deeply_map( &block )
click to toggle source
# File lib/app/config/deeply.rb, line 121 def deeply_map( &block ) temp = self.deeply_dup temp.deeply_map!( &block ) temp end
deeply_map!( &block )
click to toggle source
# File lib/app/config/deeply.rb, line 127 def deeply_map!( &block ) self.each do |key, obj| case obj when NilClass self[key] = nil when Array, Hash self[key].deeply_map!( &block ) else self[key] = block.call( obj ) end end end
deeply_merge( hash )
click to toggle source
# File lib/app/config/deeply.rb, line 92 def deeply_merge( hash ) raise ArgumentError( "type invalid. : %s" % hash ) unless hash.is_a? Hash temp = self.deeply_dup temp.deeply_merge!( hash ) temp end
deeply_merge!( hash )
click to toggle source
# File lib/app/config/deeply.rb, line 100 def deeply_merge!( hash ) raise ArgumentError( "type invalid. : %s" % hash ) unless hash.is_a? Hash hash.each do |key, obj| case obj when NilClass self[key] = nil when Hash self[key] = {} if self[key].nil? self[key].deeply_merge!(obj) else self[key] = obj.dup end end end
deeply_stringify_keys()
click to toggle source
# File lib/app/config/deeply.rb, line 56 def deeply_stringify_keys self.each_with_object({}) do |(key, obj), hash| k = key.to_s case obj when Array, Hash hash[k] = obj.deeply_stringify_keys else hash[k] = obj end end end
deeply_stringify_keys!()
click to toggle source
# File lib/app/config/deeply.rb, line 50 def deeply_stringify_keys! temp = self.deeply_stringify_keys self.clear self.merge!( temp ) end
deeply_symbolize_keys()
click to toggle source
# File lib/app/config/deeply.rb, line 14 def deeply_symbolize_keys self.each_with_object({}) do |(key, obj), hash| k = key.to_s.to_sym case obj when Array, Hash hash[k] = obj.deeply_symbolize_keys else hash[k] = obj end end end
deeply_symbolize_keys!()
click to toggle source
# File lib/app/config/deeply.rb, line 8 def deeply_symbolize_keys! temp = self.deeply_symbolize_keys self.clear self.merge!( temp ) end