class Outbrain::Connection
Constants
- BASE
- DEFAULT_API_VERSION
Attributes
api_version[RW]
base_url[RW]
connection[RW]
logging[RW]
token[RW]
user_name[RW]
user_password[RW]
Public Class Methods
configure(params={})
click to toggle source
# File lib/outbrain/connection.rb, line 21 def self.configure(params={}) connection = new(params) Config.api = connection.api Config.api_version = connection.api_version connection end
new(args={})
click to toggle source
# File lib/outbrain/connection.rb, line 10 def initialize(args={}) @token = args[:token] || args['token'] @user_name = args[:user_name] || args['user_name'] @user_password = args[:user_password] || args['user_password'] @api_version = args[:api_version] || args['api_version'] || DEFAULT_API_VERSION @logging = (args.key?(:logging) || args.key?('logging')) ? (args[:logging] || args['logging']) : true # (default right now) @base_url = args[:base_url] || "#{BASE}/amplify/#{api_version}/" get_token! unless @token # should raise if not authenticated properly end
Public Instance Methods
api()
click to toggle source
# File lib/outbrain/connection.rb, line 42 def api @api ||= refresh_api end
get_token!()
click to toggle source
authenticates using basic auth to get token.
> docs.amplifyv01.apiary.io/#reference/authentications¶ ↑
# File lib/outbrain/connection.rb, line 30 def get_token! @temp_api = Faraday.new(:url => base_url) do |faraday| faraday.response :logger if logging faraday.adapter Faraday.default_adapter end @temp_api.basic_auth user_name, user_password response = @temp_api.get("/login") @token = JSON.parse(response.body)[Outbrain::HEADER_AUTH_KEY] # need to raise error here if token does not exist end
refresh_api()
click to toggle source
# File lib/outbrain/connection.rb, line 46 def refresh_api @api = Faraday.new(:url => base_url) do |faraday| faraday.response :logger if logging faraday.adapter Faraday.default_adapter faraday.headers['Content-Type'] = 'application/json' faraday.headers[Outbrain::HEADER_AUTH_KEY] = token end end