module TheCaptain::Utility::Helper
Public Instance Methods
normalize_params(params)
click to toggle source
# File lib/the_captain/utility/helper.rb, line 10 def normalize_params(params) symbolize_names(params) end
normalize_path(api_path, resource_id)
click to toggle source
Formats the destination path Ex: normalize_path
(“/foo/%<resource_id>s/bar”, 101) #=> “/foo/101/bar”
normalize_path("/foo/%<resource_id>s/bar", "user@example.com") #=> "/foo/user%40example.com/bar"
# File lib/the_captain/utility/helper.rb, line 17 def normalize_path(api_path, resource_id) return api_path unless resource_id format(api_path, resource_id: CGI.escape(resource_id)) end
symbolize_names(object)
click to toggle source
Recursively traverses a Hash table to ensure keys are symbolized. A necessary evil to ensure data is handled correctly throughout the library processing.
# File lib/the_captain/utility/helper.rb, line 24 def symbolize_names(object) case object when Hash {}.tap do |new_hash| object.each do |key, value| key = begin key.to_sym rescue StandardError key end new_hash[key] = symbolize_names(value) end end when Array object.map { |value| symbolize_names(value) } else object end.freeze end