Sha256: 017819aacadd04af50edee7f93efa6bdd33d753c3cb52a2ff50c83de9d9a0540
Contents?: true
Size: 1.34 KB
Versions: 6
Compression:
Stored size: 1.34 KB
Contents
# Some methods in this file are taken from ActiveSupport # and are copyright (c) 2005-2010 David Heinemeier Hansson. # They are loaded only if ActiveSupport is not present. module CSL module Extensions # ActiveSupport Fallback module SymbolizeKeys def symbolize_keys inject({}) do |options, (key, value)| options[(key.to_sym rescue key) || key] = value options end end def symbolize_keys! replace(symbolize_keys) end end # ActiveSupport Fallback module StringifyKeys def stringify_keys inject({}) do |options, (key, value)| options[(key.to_s rescue key) || key] = value options end end def stringify_keys! replace(symbolize_keys) end end module Nesting def nesting name.split(/::/).inject([]) { |ns, n| ns << (ns[-1] || Object).const_get(n) } end end module Blank def blank? nil? || respond_to?(:empty?) && empty? end end end end class Hash include CSL::Extensions::SymbolizeKeys unless method_defined?(:symbolize_keys) include CSL::Extensions::StringifyKeys unless method_defined?(:stringify_keys) end class Module include CSL::Extensions::Nesting end class Object include CSL::Extensions::Blank unless method_defined?(:blank?) end
Version data entries
6 entries across 6 versions & 1 rubygems