module Moonclerk::Util
Public Class Methods
convert_to_moonclerk_object(resp, class_name = nil)
click to toggle source
# File lib/moonclerk/util.rb, line 11 def self.convert_to_moonclerk_object(resp, class_name = nil) case resp when Array resp.map { |i| convert_to_moonclerk_object(i, class_name) } when Hash # Try converting to a known object class. If none available, fall back to generic MoonclerkObject object_classes.fetch(class_name, MoonclerkObject).construct_from(resp) else resp end end
normalize_id(id)
click to toggle source
# File lib/moonclerk/util.rb, line 23 def self.normalize_id(id) if id.kind_of?(Hash) # overloaded id params_hash = id.dup id = params_hash.delete(:id) else params_hash = {} end [id, params_hash] end
object_classes()
click to toggle source
# File lib/moonclerk/util.rb, line 3 def self.object_classes @object_classes ||= { 'customer' => Customer, 'form' => Form, 'payment' => Payment } end
symbolize_names(object)
click to toggle source
# File lib/moonclerk/util.rb, line 33 def self.symbolize_names(object) case object when Hash new_hash = {} object.each do |key, value| key = (key.to_sym rescue key) || key new_hash[key] = symbolize_names(value) end new_hash when Array object.map { |value| symbolize_names(value) } else object end end