class LinxMicrovix::Request

lib/linx_microvix/request.rb

Public Class Methods

new(command_name, parameters, response_format = 'csv') click to toggle source
# File lib/linx_microvix/request.rb, line 6
def initialize(command_name, parameters, response_format = 'csv')
  @command_name = command_name
  @parameters = parameters
  @response_format = response_format
end

Public Instance Methods

run() click to toggle source
# File lib/linx_microvix/request.rb, line 12
def run
  url = 'http://webapi.microvix.com.br/1.0/api/integracao'
  Typhoeus::Request.new(url, method: :post, body: body_request).run
end

Private Instance Methods

authenticate() click to toggle source
# File lib/linx_microvix/request.rb, line 19
def authenticate
  config = LinxMicrovix::Config
  "<Authentication user=\"#{config.user}\" password=\"#{config.pass}\"/>"
end
body_request() click to toggle source
# File lib/linx_microvix/request.rb, line 30
def body_request
  '<LinxMicrovix>'\
    "#{authenticate}"\
    "<ResponseFormat>#{@response_format}</ResponseFormat>"\
    '<Command>'\
      "<Name>#{@command_name}</Name>"\
      "<Parameters>#{build_parameters(@parameters)}</Parameters>"\
    '</Command>'\
  '</LinxMicrovix>'
end
build_parameters(parameters) click to toggle source
# File lib/linx_microvix/request.rb, line 24
def build_parameters(parameters)
  parameters.each_with_object('') do |(key, value), parameters_string|
    parameters_string << "<Parameter id=\"#{key}\">#{value}</Parameter>"
  end
end