IntegrationToken   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 27
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A initialize() 0 5 2
A set_client() 0 15 1
1
require 'faraday'
2
require 'faraday_middleware'
3
4
module MediumSdk::Connection
5
  class IntegrationToken
6
    attr_accessor :http
7
    attr_accessor :token
8
9
    def initialize(opts = {})
10
      @endpoint = 'https://api.medium.com/v1/'
11
      @token = opts[:integration_token] if opts.key? :integration_token
12
      set_client
13
    end
14
15
    def set_client()
16
      headers = {
17
        'Host' => 'api.medium.com',
18
        'Authorization' => 'Bearer ' + @token,
19
        'Content-Type' => 'application/json',
20
        'Accept' => 'application/json',
21
        'Accept-Charset' => 'utf-8'
22
      }
23
      @http  = Faraday.new(url: @endpoint, headers: headers) do |conn|
24
        conn.request :multipart
25
        conn.request :json
26
        conn.response :json, content_type: 'application/json'
27
        conn.adapter  Faraday.default_adapter
28
      end
29
    end
30
31
  end
32
end
33