class Connection

Attributes

connection[RW]
token[RW]

Public Class Methods

new(url, token) click to toggle source
# File lib/bush_viper/connection.rb, line 5
def initialize(url, token)
  self.connection = Faraday.new(url: url)
  self.token = token
end

Public Instance Methods

get(endpoint) click to toggle source
# File lib/bush_viper/connection.rb, line 10
def get(endpoint)
  result = connection.get do |request|
    request.url endpoint
    request.headers["Authorization"] = "Bearer #{token}"
  end
  MultiJson.load(result.body)
end
patch(endpoint, params) click to toggle source
# File lib/bush_viper/connection.rb, line 29
def patch(endpoint, params)
  params = MultiJson.dump(params)
  result = connection.patch do |request|
    request.url endpoint
    request.headers["Authorization"] = "Bearer #{token}"
    request.headers['Content-Type'] = "application/vnd.mendeley-document.1+json"
    request.body = params
  end
  MultiJson.load(result.body)
end
post(endpoint, file, filename) click to toggle source
# File lib/bush_viper/connection.rb, line 18
def post(endpoint, file, filename)
  result = connection.post do |request|
    request.url endpoint
    request.headers["Content-Disposition"] = %Q{attachment; filename="#{filename}"}
    request.headers["Authorization"] = "Bearer #{token}"
    request.headers["Content-Type"] = "application/pdf"
    request.body = file
  end
  MultiJson.load(result.body)
end