Module: Rehash

Defined in:
lib/rehash.rb,
lib/rehash/mapper.rb,
lib/rehash/version.rb,
lib/rehash/refinement.rb,
lib/rehash/hash_extension.rb

Defined Under Namespace

Modules: HashExtension Classes: Mapper

Constant Summary collapse

VERSION =
"0.1.1"
@@default_options =
{delimiter: '/'.freeze, symbolize_keys: true}.freeze

Class Method Summary collapse

Class Method Details

.default_options(value = nil) ⇒ Object



11
12
13
14
15
# File 'lib/rehash.rb', line 11

def default_options(value = nil)
  return @@default_options if value.nil?

  @@default_options = @@default_options.merge(value).freeze
end

.map(hash, opts_or_mapping = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/rehash.rb', line 17

def map(hash, opts_or_mapping = {})
  if block_given?
    mapper = Mapper.new(hash, default_options.merge(opts_or_mapping))
    yield mapper
    mapper.result
  else
    Mapper.new(hash).(opts_or_mapping)
  end
end