Method: Postmark::HashHelper#to_postmark

Defined in:
lib/postmark/helpers/hash_helper.rb

#to_postmark(object, options = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/postmark/helpers/hash_helper.rb', line 6

def to_postmark(object, options = {})
  deep = options.fetch(:deep, false)

  case object
  when Hash
    object.reduce({}) do |m, (k, v)|
      m.tap do |h|
        h[Inflector.to_postmark(k)] = deep ? to_postmark(v, options) : v
      end
    end
  when Array
    deep ? object.map { |v| to_postmark(v, options) } : object
  else
    object
  end
end