class Imgurapi::Session

Constants

HOST

Public Class Methods

instance(options) click to toggle source

Singleton initializer to allow access_token reuse

# File lib/imgurapi/session.rb, line 19
def self.instance(options)
  @@session ||= new(options)
end
new(options) click to toggle source

Creates the session instance that handles all the API calls to Imgur access_token is optional

# File lib/imgurapi/session.rb, line 7
def initialize(options)
  required_arguments = %i(client_id client_secret refresh_token)
  raise ArgumentError unless required_arguments.all? { |key| options.keys.include? key }

  @client_id = options[:client_id]
  @client_secret = options[:client_secret]
  @access_token = options[:access_token]
  @refresh_token = options[:refresh_token]
  @use_ssl = !!options[:use_ssl]
end

Public Instance Methods

access_token=(access_token) click to toggle source
# File lib/imgurapi/session.rb, line 33
def access_token=(access_token)
  @access_token = access_token

  # Forces to create a new connection with new header
  @connection = nil
end
connection() click to toggle source
# File lib/imgurapi/session.rb, line 48
def connection
  @connection ||= Faraday.new(
    HOST,
    headers: {'Authorization' => 'Bearer ' << @access_token}
  )
end
params() click to toggle source
# File lib/imgurapi/session.rb, line 40
def params
  {
    refresh_token: @refresh_token,
    client_id:     @client_id,
    client_secret: @client_secret
  }
end
use_ssl?() click to toggle source
# File lib/imgurapi/session.rb, line 29
def use_ssl?
  @use_ssl
end