Class: Moip2::ConnectApi

Inherits:
Object
  • Object
show all
Defined in:
lib/moip2/connect_api.rb

Constant Summary collapse

CONNECT_SANDBOX =
"connect-sandbox.moip.com.br".freeze
CONNECT_PRODUCTION =
"connect.moip.com.br".freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ ConnectApi

Returns a new instance of ConnectApi.



8
9
10
# File 'lib/moip2/connect_api.rb', line 8

def initialize(client)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



3
4
5
# File 'lib/moip2/connect_api.rb', line 3

def client
  @client
end

Class Method Details

.connect_uri(production = false) ⇒ Object



12
13
14
# File 'lib/moip2/connect_api.rb', line 12

def self.connect_uri(production = false)
  production ? CONNECT_PRODUCTION : CONNECT_SANDBOX
end

.host(env = :sandbox) ⇒ Object



16
17
18
# File 'lib/moip2/connect_api.rb', line 16

def self.host(env = :sandbox)
  "https://#{connect_uri(env == :production)}"
end

Instance Method Details

#authorize(connect) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/moip2/connect_api.rb', line 33

def authorize(connect)
  Resource::Connect.new client.post(
    "/oauth/token",
    connect,
    "application/x-www-form-urlencoded",
  )
end

#authorize_url(client_id, redirect_uri, scope) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/moip2/connect_api.rb', line 20

def authorize_url(client_id, redirect_uri, scope)
  URI::HTTPS.build(
    host:  self.class.connect_uri(client.production?),
    path:  "/oauth/authorize",
    query: URI.encode_www_form(
      response_type: "code",
      client_id: client_id,
      redirect_uri: redirect_uri,
      scope: scope,
    ),
  ).to_s
end