Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/civic_aide/hash.rb

Instance Method Summary collapse

Instance Method Details

#change_zip!Object



27
28
29
30
31
32
33
34
# File 'lib/civic_aide/hash.rb', line 27

def change_zip!
  keys.each do |k|
    self["zipCode"] = self.delete "zip"  if k == "zip"
    self[k].change_zip! if self[k].is_a? Hash
    self[k].each{|p| p.change_zip! if p.is_a?(Hash)} if self[k].is_a?(Array)
  end
  self
end

#except(*keys) ⇒ Object



18
19
20
# File 'lib/civic_aide/hash.rb', line 18

def except(*keys)
  dup.except!(*keys)
end

#except!(*keys) ⇒ Object



22
23
24
25
# File 'lib/civic_aide/hash.rb', line 22

def except!(*keys)
  keys.each { |key| delete(key) }
  self
end

#rubyify_keys!Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/civic_aide/hash.rb', line 3

def rubyify_keys!
  keys.each do |k|
    val = self[k]
    # ignore Open Civic Data identifiers
    unless k[0..3] == "ocd-"
      delete(k)
      new_key = k.to_s.underscore
      self[new_key] = val
    end
    val.rubyify_keys! if val.is_a?(Hash)
    val.each{|p| p.rubyify_keys! if p.is_a?(Hash)} if val.is_a?(Array)
  end
  self
end