class Mixpanel::URI

Utilities to assist generating and requesting URIs

Public Class Methods

encode(params) click to toggle source
# File lib/mixpanel/uri.rb, line 17
def self.encode(params)
  params.map { |key, val| "#{key}=#{CGI.escape(val.to_s)}" }.sort.join('&')
end
get(uri, timeout, secret) click to toggle source
# File lib/mixpanel/uri.rb, line 21
def self.get(uri, timeout, secret)
  ::URI.parse(uri).read(
    read_timeout: timeout,
    http_basic_authentication: [secret, nil]
  )
rescue OpenURI::HTTPError => error
  raise HTTPError, JSON.parse(error.io.read)['error']
end
mixpanel(resource, params) click to toggle source
# File lib/mixpanel/uri.rb, line 12
def self.mixpanel(resource, params)
  base = Mixpanel::Client.base_uri_for_resource(resource)
  "#{File.join([base, resource.to_s])}?#{encode(params)}"
end