Sha256: 336c825cabb1ef54edce920e3d68150dd60e2936932dd0181e11bd2fab3c173b
Contents?: true
Size: 1.91 KB
Versions: 1
Compression:
Stored size: 1.91 KB
Contents
begin require "active_support/core_ext/hash/keys" require "active_support/core_ext/hash/deep_merge" require "active_support/core_ext/hash/slice" rescue LoadError class Hash def stringify_keys keys.each do |key| self[key.to_s] = delete(key) end self end if !{}.respond_to?(:stringify_keys) def symbolize_keys keys.each do |key| self[(key.to_sym rescue key) || key] = delete(key) end self end if !{}.respond_to?(:symbolize_keys) def deep_symbolize_keys keys.each do |key| value = delete(key) self[(key.to_sym rescue key) || key] = value value.deep_symbolize_keys if value.is_a? Hash end self end if !{}.respond_to?(:deep_symbolize_keys) def slice(*keys) keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true) keys.each_with_object(self.class.new) { |k, hash| hash[k] = self[k] if has_key?(k) } end end end begin require "active_support/core_ext/string/inflections" rescue LoadError class String def constantize names = self.split("::") names.shift if names.empty? || names.first.empty? constant = Object names.each do |name| constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name) end constant end def camelize string = self string = string.sub(/^[a-z\d]*/) { $&.capitalize } string.gsub!(/(?:_|(\/))([a-z\d]*)/i) { "#{$1}#{$2.capitalize}" } string.gsub!(/\//, "::") string end def underscore camel_cased_word = self return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/ word = camel_cased_word.to_s.gsub(/::/, "/") word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.tr!("-", "_") word.downcase! word end end if !"".respond_to?(:constantize) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
announce-0.3.0 | lib/announce/core_ext.rb |