module Esignatur::ApiResource
add methods that are shared for all api resources
Public Instance Methods
errors()
click to toggle source
# File lib/esignatur/api_resource.rb, line 6 def errors @errors || [] end
last_response()
click to toggle source
# File lib/esignatur/api_resource.rb, line 10 def last_response @last_response end
Protected Instance Methods
api_get(relative_url, **options)
click to toggle source
# File lib/esignatur/api_resource.rb, line 20 def api_get(relative_url, **options) make_api_request(:get, relative_url, **options) end
api_post(relative_url, data, **options)
click to toggle source
# File lib/esignatur/api_resource.rb, line 16 def api_post(relative_url, data, **options) make_api_request(:post, relative_url, data: data, **options) end
Private Instance Methods
make_api_request(http_method, relative_url, **options)
click to toggle source
# File lib/esignatur/api_resource.rb, line 26 def make_api_request(http_method, relative_url, **options) @last_response = api.public_send(http_method, relative_url, **options).tap do |response| @errors = [] @errors << response.headers['x-esignatur-error'] @errors << "Request failed with HTTP status: #{response.status_code}" if response.failed? @errors = @errors.reject(&:nil?) end end