Sha256: 9119c80e5d520f92afbba67c2597b5a64a3ba43e4bc05f65c9c431c70b0ebbde

Contents?: true

Size: 1.34 KB

Versions: 4

Compression:

Stored size: 1.34 KB

Contents

libdir = File.dirname(__FILE__)
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
require 'json'
require 'faraday'
require 'logger'
require 'geoloqi/config'
require 'geoloqi/error'
require 'geoloqi/response'
require 'geoloqi/session'
require 'geoloqi/version'

module Geoloqi
  @@adapter = :net_http
  @@enable_logging = false
  @@config = Config.new

  class << self
    def api_version
      1
    end

    def api_url
      'https://api.geoloqi.com'
    end

    def oauth_url
      'https://beta.geoloqi.com/oauth/authorize'
    end
    
    def config(opts=nil)
      return @@config if opts.nil?
      @@config = Config.new opts
    end

    def get(access_token, path, args={})
      run :get, access_token, path, args
    end

    def post(access_token, path, args={})
      run :post, access_token, path, args
    end

    def run(meth, access_token, path, args={})
      Session.new(:access_token => access_token).run meth, path, args
    end

    def authorize_url(client_id=nil, redirect_uri=@@config.redirect_uri, opts={})
      raise "client_id required to authorize url. Pass with Geoloqi.config" unless client_id
      url = "#{oauth_url}?response_type=code&client_id=#{Rack::Utils.escape client_id}&redirect_uri=#{Rack::Utils.escape redirect_uri}"
      url += "&#{Rack::Utils.build_query opts}" unless opts.empty?
      url
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
geoloqi-0.9.26 lib/geoloqi.rb
geoloqi-0.9.24 lib/geoloqi.rb
geoloqi-0.9.23 lib/geoloqi.rb
geoloqi-0.9.22 lib/geoloqi.rb