module PdfTempura::Extensions::Hash::StringifyKeys

Public Instance Methods

stringify_keys() click to toggle source
# File lib/pdf_tempura/extensions/hash/stringify_keys.rb, line 6
def stringify_keys
  dup.extend(StringifyKeys).stringify_keys!
end
stringify_keys!() click to toggle source
# File lib/pdf_tempura/extensions/hash/stringify_keys.rb, line 10
def stringify_keys!
  keys.each do |k|
    stringify_keys_recursively!(self[k])
    self[k.to_s] = self.delete(k)
  end

  self
end

Private Instance Methods

stringify_keys_recursively!(object) click to toggle source
# File lib/pdf_tempura/extensions/hash/stringify_keys.rb, line 21
def stringify_keys_recursively!(object)
  object.extend(StringifyKeys) if object.is_a?(::Hash)

  if object.respond_to?(:stringify_keys!)
    object.stringify_keys!
  else
    object.each{ |o| stringify_keys_recursively!(o) } if object.is_a?(::Array)
    object
  end
end