Class: Imgurapi::Session
- Inherits:
-
Object
- Object
- Imgurapi::Session
- Defined in:
- lib/imgurapi/session.rb
Constant Summary collapse
- HOST =
'https://api.imgur.com'
Class Method Summary collapse
-
.instance(options) ⇒ Object
Singleton initializer to allow access_token reuse.
Instance Method Summary collapse
- #access_token=(access_token) ⇒ Object
- #connection ⇒ Object
-
#initialize(options) ⇒ Session
constructor
Creates the session instance that handles all the API calls to Imgur access_token is optional.
- #params ⇒ Object
Constructor Details
#initialize(options) ⇒ Session
Creates the session instance that handles all the API calls to Imgur access_token is optional
7 8 9 10 11 12 13 14 15 |
# File 'lib/imgurapi/session.rb', line 7 def initialize() required_arguments = %i(client_id client_secret refresh_token) raise ArgumentError if required_arguments & .keys != required_arguments @client_id = [:client_id] @client_secret = [:client_secret] @access_token = [:access_token] @refresh_token = [:refresh_token] end |
Class Method Details
.instance(options) ⇒ Object
Singleton initializer to allow access_token reuse
18 19 20 |
# File 'lib/imgurapi/session.rb', line 18 def self.instance() @@session ||= new() end |
Instance Method Details
#access_token=(access_token) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/imgurapi/session.rb', line 28 def access_token=(access_token) @access_token = access_token # Forces to create a new connection with new header @connection = nil end |
#connection ⇒ Object
43 44 45 46 47 48 |
# File 'lib/imgurapi/session.rb', line 43 def connection @connection ||= Faraday.new( HOST, headers: {'Authorization' => 'Bearer ' << @access_token} ) end |
#params ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/imgurapi/session.rb', line 35 def params { refresh_token: @refresh_token, client_id: @client_id, client_secret: @client_secret } end |