class Parsable::UriHelper

Public Class Methods

new(uri) click to toggle source
# File lib/parsable/uri_helper.rb, line 4
def initialize uri
  @uri = uri
end

Public Instance Methods

exploded_query() click to toggle source
# File lib/parsable/uri_helper.rb, line 8
def exploded_query
  @query ||= original_query.split("&").each_with_object({}) do |query, hash|
    name, value = query.split("=")
    hash.store(name, value) if name && value
  end
end
query() click to toggle source
# File lib/parsable/uri_helper.rb, line 15
def query
  query_hash.each_with_object([]) { |(key, value), array| array.push("#{key}=#{value}") }.join("&")
end
query_hash() click to toggle source
# File lib/parsable/uri_helper.rb, line 19
def query_hash
  exploded_query.reject { |key, value| scrub_param?(key) }
end
secrets() click to toggle source
# File lib/parsable/uri_helper.rb, line 23
def secrets
  exploded_query.select { |key, value| scrub_param?(key) }
end
to_s() click to toggle source
# File lib/parsable/uri_helper.rb, line 27
def to_s
  uri = @uri.dup
  uri.query = query
  uri.to_s
end

Private Instance Methods

original_query() click to toggle source
# File lib/parsable/uri_helper.rb, line 35
def original_query
  @uri.query.to_s
end
scrub_param?(param_name) click to toggle source
# File lib/parsable/uri_helper.rb, line 39
def scrub_param? param_name
  !!(param_name =~ /(key|token)/)
end