Class: TaintedParams::SimpleKeyHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/tainted_params/simple_key_hash.rb

Overview

< SimpleDelegator

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Hash

#except, #map_pairs

Constructor Details

#initialize(hash) ⇒ SimpleKeyHash

Returns a new instance of SimpleKeyHash.

Raises:

  • (ArgumentError)


12
13
14
15
16
17
# File 'lib/tainted_params/simple_key_hash.rb', line 12

def initialize(hash)
  raise ArgumentError unless hash.is_a?(Hash)
  #super(self.class.stringify_keys(hash))
  super()
  update(self.class.stringify_keys(hash))
end

Class Method Details

.stringify_keys(hash) ⇒ Object



6
7
8
9
10
# File 'lib/tainted_params/simple_key_hash.rb', line 6

def self.stringify_keys(hash)
  hash.map_pairs{ |k,v|
    [k.to_s, v]
  }
end

Instance Method Details

#default(key = nil) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/tainted_params/simple_key_hash.rb', line 19

def default(key = nil)
  case key
    when String, nil then super
    when Symbol then self[key.to_s]
    else raise ArgumentError
  end
end