Module: Sparsify
- Extended by:
- GuardMethods, UtilityMethods
- Defined in:
- lib/sparsify.rb,
lib/sparsify/version.rb,
lib/sparsify/separator.rb,
lib/sparsify/deprecations.rb,
lib/sparsify/guard_methods.rb,
lib/sparsify/utility_methods.rb
Overview
Provides sparse-key access to a Hash.
‘foo’=>{‘bar’=>‘bingo’}.sparse #=> ‘foo‘foo.bar’=>‘bingo’ ‘foo‘foo.bar’=>‘bingo’.unsparse => ‘foo’=>{‘bar’=>‘bingo’}
Defined Under Namespace
Modules: Deprecations, GuardMethods, UtilityMethods Classes: Separator
Constant Summary collapse
- DEFAULT_SEPARATOR =
The default separator, used if not specified in command’s options hash.
'.'.freeze
- VERSION =
'1.1.0'
Instance Method Summary collapse
-
#sparse(options = {}) ⇒ Hash<String,Object>
Returns a sparse version of self using the options provided.
-
#sparse!(options = {}) ⇒ Hash<String,Object>
Replaces self with sparse version of itself.
-
#sparse_each(options = {}, &block) ⇒ Object
Used internally by both Sparsify::Utility#sparse and Sparsify::Utility#unsparse.
-
#sparse_fetch(*args, &block) ⇒ Object
Follows semantics of Hash#fetch.
-
#sparse_get(sparse_key, options = {}) ⇒ Object
Follows semantics of Hash#[] without support for Hash#default_proc.
-
#unsparse(options = {}) ⇒ Hash<String,Object>
Returns a deeply-nested hash version of self.
-
#unsparse!(options = {}) ⇒ Hash<String,Object>
Replaces self with deeply-nested version of self.
Methods included from GuardMethods
Methods included from UtilityMethods
Instance Method Details
#sparse(options = {}) ⇒ Hash<String,Object>
Returns a sparse version of self using the options provided.
28 29 30 |
# File 'lib/sparsify.rb', line 28 def sparse( = {}) Sparsify.sparse(self, ) end |
#sparse!(options = {}) ⇒ Hash<String,Object>
Replaces self with sparse version of itself.
36 37 38 |
# File 'lib/sparsify.rb', line 36 def sparse!( = {}) self.replace(sparse, ) end |
#sparse_each(options = {}) {|| ... } ⇒ void #sparse_each(options = {}) ⇒ Enumerator<(sparse_key,value)>
Used internally by both Sparsify::Utility#sparse and Sparsify::Utility#unsparse
51 52 53 |
# File 'lib/sparsify.rb', line 51 def sparse_each( = {}, &block) Sparsify.sparse_each(self, , &block) end |
#sparse_fetch(sparse_key, options = {}) ⇒ Object #sparse_fetch(sparse_key, default, options = {}) ⇒ default #sparse_fetch(sparse_key, options = {}) { ... } ⇒ Object
Follows semantics of Hash#fetch
69 70 71 |
# File 'lib/sparsify.rb', line 69 def sparse_fetch(*args, &block) Sparsify.sparse_fetch(self, *args, &block) end |
#sparse_get(sparse_key, options = {}) ⇒ Object
Follows semantics of Hash#[] without support for Hash#default_proc
78 79 80 |
# File 'lib/sparsify.rb', line 78 def sparse_get(*args) Sparsify.sparse_get(self, *args) end |
#unsparse(options = {}) ⇒ Hash<String,Object>
Returns a deeply-nested hash version of self.
86 87 88 |
# File 'lib/sparsify.rb', line 86 def unsparse( = {}) Sparsify.unsparse(self, ) end |
#unsparse!(options = {}) ⇒ Hash<String,Object>
Replaces self with deeply-nested version of self.
94 95 96 |
# File 'lib/sparsify.rb', line 94 def unsparse!( = {}) self.replace(unsparse, ) end |