class Fryfro::Endpoint

Public Class Methods

[](metric) click to toggle source
# File lib/fryfro/endpoint.rb, line 12
def [](metric)
  Proc.new do |code, key, opts = {}|
    hash = { api_access_code: code }
    hash[:api_key] = key if key
    hash.merge!(opts)

    get("/#{camelize(metric)}?#{queryize(hash)}")
  end
end
camelize(sym) click to toggle source
# File lib/fryfro/endpoint.rb, line 27
def camelize(sym)
  sym.to_s.split('_').map { |w| w.capitalize }.join
end
camelize_key(sym) click to toggle source
# File lib/fryfro/endpoint.rb, line 31
def camelize_key(sym)
  parts = sym.to_s.split('_')
  parts[0] + parts[1..-1].map { |w| w.capitalize }.join
end
queryize(hash) click to toggle source
# File lib/fryfro/endpoint.rb, line 22
def queryize(hash)
  camelized_hash = Hash[hash.map { |k, v| [camelize_key(k), v] }]
  URI.encode_www_form(camelized_hash)
end