Module: VV::HashMethods
- Included in:
- Hash
- Defined in:
- lib/vv/hash_methods.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #stringify_keys ⇒ Object
- #stringify_keys! ⇒ Object
- #transform_keys ⇒ Object
- #transform_keys! ⇒ Object
Class Method Details
.included(base) ⇒ Object
4 5 6 |
# File 'lib/vv/hash_methods.rb', line 4 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#stringify_keys ⇒ Object
16 17 18 |
# File 'lib/vv/hash_methods.rb', line 16 def stringify_keys transform_keys{ |key| key.to_s } end |
#stringify_keys! ⇒ Object
20 21 22 |
# File 'lib/vv/hash_methods.rb', line 20 def stringify_keys! transform_keys!{ |key| key.to_s } end |
#transform_keys ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/vv/hash_methods.rb', line 24 def transform_keys return enum_for(:transform_keys) unless block_given? result = self.class.new self.each_key do |key| result[yield(key)] = self[key] end result end |
#transform_keys! ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/vv/hash_methods.rb', line 33 def transform_keys! return self.enum_for(:transform_keys!) unless block_given? self.keys.each do |key| self[yield(key)] = self.delete(key) end self end |