Class: SliceableHash
- Inherits:
-
Object
- Object
- SliceableHash
- Defined in:
- lib/ext/sliceable_hash.rb
Instance Method Summary collapse
- #if_string_not_empty(val) ⇒ Object
-
#initialize(hash) ⇒ SliceableHash
constructor
A new instance of SliceableHash.
-
#slice(*keys) ⇒ Object
Return a hash that includes only the given keys.
Constructor Details
#initialize(hash) ⇒ SliceableHash
Returns a new instance of SliceableHash.
3 4 5 |
# File 'lib/ext/sliceable_hash.rb', line 3 def initialize(hash) @hash = hash end |
Instance Method Details
#if_string_not_empty(val) ⇒ Object
13 14 15 |
# File 'lib/ext/sliceable_hash.rb', line 13 def if_string_not_empty(val) val.kind_of?(String) ? !val.empty? : true end |
#slice(*keys) ⇒ Object
Return a hash that includes only the given keys.
8 9 10 11 |
# File 'lib/ext/sliceable_hash.rb', line 8 def slice(*keys) keys.map! { |key| @hash.convert_key(key) } if @hash.respond_to?(:convert_key, true) keys.each_with_object(@hash.class.new) { |k, hash| hash[k] = @hash[k] if @hash.has_key?(k) && if_string_not_empty(@hash[k]) } end |