class Bing::Ads::Utils
Public Class Methods
camelcase_keys(object)
click to toggle source
# File lib/bing/ads/utils.rb, line 5 def camelcase_keys(object) object.each_with_object({}) do |(k, v), obj| obj[k.to_s.camelcase] = v end end
date_hash(date)
click to toggle source
# File lib/bing/ads/utils.rb, line 20 def date_hash(date) date = Date.parse(date) if date.is_a?(String) { day: date.day, month: date.month, year: date.year } end
sort_keys(object, ordered_keys_array=nil)
click to toggle source
# File lib/bing/ads/utils.rb, line 11 def sort_keys(object, ordered_keys_array=nil) if ordered_keys_array object = sort_by_ordered_keys(object, ordered_keys_array) else object = sort_alphabetically(object) end object.symbolize_keys! end
Private Class Methods
sort_alphabetically(object)
click to toggle source
# File lib/bing/ads/utils.rb, line 31 def sort_alphabetically(object) Hash[ object.sort_by { |key, val| key.to_s } ] end
sort_by_ordered_keys(object, ordered_keys_array)
click to toggle source
# File lib/bing/ads/utils.rb, line 27 def sort_by_ordered_keys(object, ordered_keys_array) Hash[ object.sort_by { |k, _| ordered_keys_array.index(k.to_sym) || (10000 + k.to_s.ord) } ] end