Class: HashIsh::AddDefaultValues

Inherits:
Object
  • Object
show all
Defined in:
lib/hash_ish/add_default_values.rb

Instance Method Summary collapse

Instance Method Details

#add(kwargs, defaults) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/hash_ish/add_default_values.rb', line 3

def add(kwargs, defaults)
  hash = kwargs.dup

  hash.tap do |hash|
    add_defaults(hash, defaults)
  end
end

#add_defaults(hash, defaults) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/hash_ish/add_default_values.rb', line 11

def add_defaults(hash, defaults)
  defaults.each do |key, value|
    if Srm.is_a_hash?(value)
      arg_hash = hash[key] || {}
      hash[key] = AddDefaultValues.new.add(arg_hash, value)
    else
      hash[key] ||= value
    end
  end
end

#truthy?(hash, key) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/hash_ish/add_default_values.rb', line 22

def truthy?(hash, key)
  !!hash[key]
end