class Emailvision::Request
Request
object
This class aims to format the request for Emailvision
Attributes
body[R]
endpoint[R]
http_verb[R]
parameters[R]
server_name[R]
token[R]
uri[R]
Public Class Methods
new(http_verb, token, server_name, endpoint)
click to toggle source
# File lib/emailvision/request.rb, line 19 def initialize(http_verb, token, server_name, endpoint) @http_verb = http_verb @token = token @server_name = server_name @endpoint = endpoint end
Public Instance Methods
prepare(uri, parameters)
click to toggle source
# File lib/emailvision/request.rb, line 26 def prepare(uri, parameters) @uri = uri @parameters = parameters || {} @uri = prepare_uri @body = prepare_body end
Private Instance Methods
assign_attributes(attibutes)
click to toggle source
# File lib/emailvision/request.rb, line 59 def assign_attributes(attibutes) attibutes or return attibutes.each do |attribute, value| public_send("#{attribute}=", value) end end
prepare_body()
click to toggle source
# File lib/emailvision/request.rb, line 50 def prepare_body body = parameters[:body] || {} parameters.delete :body # 2. Camelize all keys body = Emailvision::Tools.r_camelize body # 3. Convert to xml Emailvision::Tools.to_xml_as_is body end
prepare_uri()
click to toggle source
# File lib/emailvision/request.rb, line 36 def prepare_uri uri = @uri if parameters[:uri] uri += token ? "/#{token}/" : '/' uri += (parameters[:uri].respond_to?(:join) ? parameters[:uri] : [parameters[:uri]]).compact.join '/' parameters.delete :uri elsif parameters[:body] uri += token ? "/#{token}/" : '/' else parameters[:token] = token end uri end