class PagSeguro::Client

Attributes

connection[R]
logger[R]
options[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/pagseguro/client.rb, line 10
def initialize(options = {})
  @options = options
  @logger = options.delete(:logger)
  @connection = Faraday.new api_url do |conn|
    conn.request :json
    conn.response :logger, logger, bodies: true if logger
    conn.response :mashify, mash_class: PagSeguro::Mash
    conn.response :xml,  content_type: /\bxml$/
    conn.response :json, content_type: /\bjson$/
    conn.response :raise_error
    conn.adapter :net_http
    conn.params = auth_params
    conn.headers[:accept] = ACCEPTS[:json]
  end
end

Public Instance Methods

authorizations() click to toggle source
# File lib/pagseguro/client.rb, line 42
def authorizations
  @authorizations ||= Authorizations.new(self)
end
checkout() click to toggle source
# File lib/pagseguro/client.rb, line 46
def checkout
  @checkout ||= Checkout.new(self)
end
payment_orders() click to toggle source
# File lib/pagseguro/client.rb, line 30
def payment_orders
  @payment_orders ||= PaymentOrders.new(self)
end
plans() click to toggle source
# File lib/pagseguro/client.rb, line 38
def plans
  @plans ||= Plans.new(self)
end
sessions() click to toggle source
# File lib/pagseguro/client.rb, line 34
def sessions
  @sessions ||= Sessions.new(self)
end
subscriptions() click to toggle source
# File lib/pagseguro/client.rb, line 26
def subscriptions
  @subscriptions ||= Subscriptions.new(self)
end
transactions() click to toggle source
# File lib/pagseguro/client.rb, line 50
def transactions
  @transactions ||= Transactions.new(self)
end
url_for(source, path, params = {}) click to toggle source
# File lib/pagseguro/client.rb, line 54
def url_for(source, path, params = {})
  url = URI(send("#{source}_url"))
  url.path = path
  url.query = params.to_query
  url.to_s
end

Protected Instance Methods

api_url() click to toggle source
# File lib/pagseguro/client.rb, line 70
def api_url
  PagSeguro.uris[environment.to_sym][:api]
end
auth_params() click to toggle source
# File lib/pagseguro/client.rb, line 74
def auth_params
  auth = {}

  if options.key?(:app) || options.key?(:app_id)
    auth[:appId]  = options.fetch :app_id, PagSeguro.app_id
    auth[:appKey] = options.fetch :app_key, PagSeguro.app_key
    auth[:authorizationCode] = options[:authorization_code]
  else
    auth[:token] = options.fetch :token, PagSeguro.token
    auth[:email] = options.fetch :email, PagSeguro.email
  end

  auth.compact
end
environment() click to toggle source
# File lib/pagseguro/client.rb, line 62
def environment
  options[:environment] || PagSeguro.environment
end
site_url() click to toggle source
# File lib/pagseguro/client.rb, line 66
def site_url
  PagSeguro.uris[environment.to_sym][:site]
end