module Mycrm::Connectable::ExtendedMethods

private module to be extended

Public Instance Methods

connection() click to toggle source
# File lib/mycrm/connectable.rb, line 72
def connection
  Mycrm::Connectable.connection do |faraday|
    faraday.headers['Authorization'] = "Bearer #{skim(Mycrm::Connectable.token)}"
    api_key = Mycrm.configuration.api_key
    faraday.headers['X-MyCrm-ApiKey'] = api_key if api_key
  end
end
parse(body) click to toggle source
# File lib/mycrm/connectable.rb, line 86
def parse(body)
  JSON.parse(body)
rescue JSON::ParserError
  raise ResponseError, "#{skim(body)} is not in a valid format"
end
respond(response) click to toggle source
# File lib/mycrm/connectable.rb, line 80
def respond(response)
  raise ResponseError, skim(response.body) unless response.success?
  raise ResponseError, 'Not found' if 'null'.eql?(skim(response.body))
  parse(response.body)
end
skim(string) click to toggle source
# File lib/mycrm/connectable.rb, line 92
def skim(string)
  string.to_s.gsub(/\A"|"\Z/, '')
end