class TerrasmsApi::Request

Constants

API_BASE_URL

Attributes

access_token[R]

Public Class Methods

new(access_token:) click to toggle source
# File lib/terrasms_api/request.rb, line 11
def initialize(access_token:)
  @access_token = access_token
end

Private Instance Methods

body_params(args = {}) click to toggle source
# File lib/terrasms_api/request.rb, line 36
def body_params(args = {})
  asc_args = Hash[ args.sort_by { |key, val| key } ]
  md5_sign = Digest::MD5.hexdigest([
    RestClient::Utils.flatten_params(asc_args).map { |k, v| v.nil? ? k : "#{k}=#{v}" }.join,
    access_token
  ].join(''))

  args.merge(sign: md5_sign)
end
build_full_url(path) click to toggle source
# File lib/terrasms_api/request.rb, line 32
def build_full_url(path)
  [API_BASE_URL, path].join('/')
end
headers() click to toggle source
# File lib/terrasms_api/request.rb, line 46
def headers
  {}
end
parsed_body(response) click to toggle source
# File lib/terrasms_api/request.rb, line 54
def parsed_body(response)
  JSON.parse(response.body)
rescue JSON::ParserError
  response.body
end
with_handled_errors() { || ... } click to toggle source
# File lib/terrasms_api/request.rb, line 50
def with_handled_errors
  TerrasmsApi::Error.call { yield }
end