Module: Pocket::OAuth

Included in:
Pocket
Defined in:
lib/pocket/oauth.rb

Overview

Defines HTTP request methods

Instance Method Summary collapse

Instance Method Details

#authorize_url(options = {}) ⇒ Object

Return URL for OAuth authorization



5
6
7
8
9
10
11
# File 'lib/pocket/oauth.rb', line 5

def authorize_url(options = {})
  params = access_token_params.merge(options)
  params.delete(:consumer_key) # shouldn't be exposed publically
  # Pocket renames `code` to `request_token` for some reason in this call
  params[:request_token] ||= params.delete(:code)
  connection.build_url("/auth/authorize", params).to_s
end

#get_access_token(code, options = {}) ⇒ Object

Return an access token from authorization



22
23
24
25
26
27
# File 'lib/pocket/oauth.rb', line 22

def get_access_token(code, options = {})
  params = access_token_params.merge(code: code).merge(options)
  response = connection.post("oauth/authorize", params)
  results = URI.decode_www_form(response.body).to_h
  results["access_token"]
end

#get_code(options = {}) ⇒ Object

Return a Pocket code



14
15
16
17
18
19
# File 'lib/pocket/oauth.rb', line 14

def get_code(options = {})
  params = access_token_params.merge(options)
  response = connection.post("oauth/request", params)
  results = URI.decode_www_form(response.body).to_h
  results["code"]
end

#get_result(code, options = {}) ⇒ Object

Return result from authorization



30
31
32
33
34
# File 'lib/pocket/oauth.rb', line 30

def get_result(code, options = {})
  params = access_token_params.merge(code: code).merge(options)
  response = connection.post("oauth/authorize", params)
  URI.decode_www_form(response.body).to_h
end