Module: HashMap
- Defined in:
- lib/hash_map.rb,
lib/hash_map/dsl.rb,
lib/hash_map/base.rb,
lib/hash_map/mapper.rb,
lib/hash_map/plugins.rb,
lib/hash_map/version.rb,
lib/hash_map/matchers.rb,
lib/hash_map/json_adapter.rb,
lib/hash_map/after_each_context.rb
Defined Under Namespace
Modules: Matchers, ToDSL
Classes: AfterEachContext, Base, DSL, JSONAdapter, KeyNotProvided, Mapper
Constant Summary
collapse
- BlankToNil =
lambda do |v, ctx|
Fusu.blank?(v) ? nil : v
end
- StringToBoolean =
lambda do |v, ctx|
return false if v == 'false'
return true if v == 'true'
v
end
- MarkUnprovided =
lambda do |v, ctx|
if !ctx.provided?
KeyNotProvided.new
else
v
end
end
- RemoveUnprovideds =
lambda do |o|
HashMap.deep_reject(o){ |k, v| v.is_a?(HashMap::KeyNotProvided) }
end
- UnderscoreKeys =
lambda do |output|
Fusu::Hash.deep_transform_keys(output){ |k| Fusu::String.underscore(k).to_sym }
end
- VERSION =
"0.6.3"
Class Method Summary
collapse
Class Method Details
.deep_reject(hash, &block) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/hash_map.rb', line 20
def self.deep_reject(hash, &block)
hash.each_with_object(Fusu::HashWithIndifferentAccess.new) do |(k, v), memo|
unless block.call(k, v)
if v.is_a?(Hash)
memo[k] = deep_reject(v, &block)
else
memo[k] = v
end
end
end
end
|
.root ⇒ Object
4
5
6
|
# File 'lib/hash_map.rb', line 4
def self.root
File.expand_path '../..', __FILE__
end
|