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