class BsellerRuby::Response

Public Class Methods

new(method, savon) click to toggle source
# File lib/bseller_ruby/response.rb, line 9
def initialize(method, savon)
  @method = method
  @savon = savon
end

Public Instance Methods

result() click to toggle source
# File lib/bseller_ruby/response.rb, line 14
def result
  @result = doc
end

Private Instance Methods

doc() click to toggle source
# File lib/bseller_ruby/response.rb, line 20
def doc
  @method =~ /confirm|envia_pedido/ || savon_hash =~ /CallableStatementCallback|sucesso/ ? savon_hash : xml_parser(savon_hash)
end
savon_hash() click to toggle source
# File lib/bseller_ruby/response.rb, line 28
def savon_hash
  @savon_hash ||= @savon.hash[:envelope][:body]["#{@method}_response".to_sym]["#{@method}_return".to_sym]
end
xml_parser(xml) click to toggle source
# File lib/bseller_ruby/response.rb, line 24
def xml_parser(xml)
  @xml_parser ||= Nori.new(convert_tags_to: lambda { |tag| tag.snakecase.to_sym }).parse(xml)
end