class Sendowl::Request
Constants
- DEFAULT_HEADERS
Attributes
headers[RW]
method[RW]
model[RW]
parameters[RW]
path[RW]
query[RW]
Public Class Methods
new(path, method, model, options={})
click to toggle source
# File lib/sendowl/request.rb, line 15 def initialize(path, method, model, options={}) @path = path @method = method @model = model @parameters = options[:params] || {} @query = options[:query] || {} @headers = options[:headers] || {} end
Public Instance Methods
call()
click to toggle source
# File lib/sendowl/request.rb, line 29 def call model.parse run end
run()
click to toggle source
# File lib/sendowl/request.rb, line 24 def run response = RestClient::Request.execute request_params JSON.parse response.body end
Protected Instance Methods
api_url()
click to toggle source
# File lib/sendowl/request.rb, line 49 def api_url url = Sendowl.api_endpoint + path url += '?' + URI.encode_www_form(query) unless query.empty? url end
request_params()
click to toggle source
# File lib/sendowl/request.rb, line 35 def request_params { method: method, user: Sendowl.api_key, password: Sendowl.api_secret, url: api_url, payload: JSON.generate(parameters), open_timeout: Sendowl.open_timeout, timeout: Sendowl.timeout, headers: DEFAULT_HEADERS.merge(headers), ssl_version: 'TLSv1_2' } end