Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
field_edge_api / lib / field_edge_api.rb
Size: Mime:
require 'oauth2'
require 'faraday'
require 'faraday_middleware'
require 'active_support/all'
require 'field_edge_api/version'

require File.expand_path('../field_edge_api/configuration', __FILE__)
require File.expand_path('../field_edge_api/api', __FILE__)
require File.expand_path('../field_edge_api/client', __FILE__)
require File.expand_path('../field_edge_api/error', __FILE__)
require File.expand_path('../faraday/auth', __FILE__)
require File.expand_path('../faraday/raise_exception', __FILE__)

module FieldEdgeApi
  extend Configuration
  # Alias for FieldEdgeApi::Client.new
  # @return [FieldEdgeApi::Client]
  def self.client(options = {})
    FieldEdgeApi::Client.new(options)
  end

  # Delegate to FieldEdgeApi::Client
  def self.method_missing(method, *args, &block)
    return super unless client.respond_to?(method)
    client.send(method, *args, &block)
  end

  def self.get_token(params = {})
    client = OAuth2::Client.new(params['partner_key'],
                                params['company_key'],
                                :site => 'https://api.fieldedge.com')
    client.options[:authorize_url] = '/token'
    client.options[:token_url] = '/token'
    client.options[:auth_scheme] = :basic_auth

    client.client_credentials.get_token
  end
end