module HelpScout::Util
Public Class Methods
camelize(term)
click to toggle source
# File lib/help_scout/util.rb, line 7 def camelize(term) term = term.to_s.split('_').collect(&:capitalize).join term[0] = term[0].downcase term end
camelize_keys(source)
click to toggle source
# File lib/help_scout/util.rb, line 13 def camelize_keys(source) source.each_with_object({}) do |(key, value), results| results[camelize(key)] = if value.is_a? Hash camelize_keys(value) else value end end end
jsonify(term)
click to toggle source
# File lib/help_scout/util.rb, line 23 def jsonify(term) camelize(keyify(term)) end
keyify(term)
click to toggle source
# File lib/help_scout/util.rb, line 27 def keyify(term) term.to_s.delete('@') end
map_links(links)
click to toggle source
# File lib/help_scout/util.rb, line 31 def map_links(links) links.map { |k, v| [k, v[:href]] }.to_h end
parse_path(path_template, replacements)
click to toggle source
# File lib/help_scout/util.rb, line 35 def parse_path(path_template, replacements) placeholders = Regexp.union(replacements.keys) path_template.gsub(placeholders) { |match_text| replacements[match_text] } end
serialized_value(value, type)
click to toggle source
# File lib/help_scout/util.rb, line 40 def serialized_value(value, type) if value.is_a? Array value.map { |v| serialized_value(v, type) } else value.class < HelpScout::Base ? value.send(type) : value end end