module MockChargebee::Util
Constants
- ParsedPath
Public Class Methods
deep_transform_values!(hash)
click to toggle source
# File lib/mock_chargebee/util.rb, line 24 def self.deep_transform_values!(hash) hash.each_with_object({}) do |pair, hash| key, val = pair next hash.store(key, val) if key.match?(/id/) case val when Hash transformed_val = deep_transform_values!(val) hash.store(key, transformed_val) when "true" hash.store(key, true) when "false" hash.store(key, false) when /^\d+\.\d+$/ hash.store(key, val.to_f) when /^\d+$/ hash.store(key, val.to_i) else hash.store(key, val) end end end
generate_id(resource_prefix)
click to toggle source
# File lib/mock_chargebee/util.rb, line 20 def self.generate_id(resource_prefix) "__TEST__#{resource_prefix}__#{SecureRandom.uuid}" end
parse_params(params)
click to toggle source
# File lib/mock_chargebee/util.rb, line 9 def self.parse_params(params) params = Rack::Utils.parse_nested_query(params.to_query) deep_transform_values!(params) end
parse_path_from_url(url)
click to toggle source
# File lib/mock_chargebee/util.rb, line 5 def self.parse_path_from_url(url) ParsedPath.new(*url.delete_prefix("/").split("/")) end