class Nabortu::Methods::Base
Attributes
params[RW]
response[RW]
Public Class Methods
do_request(method_name, params = {})
click to toggle source
# File lib/nabortu/methods/base.rb, line 7 def self.do_request(method_name, params = {}) new(method_name, params).do_request end
new(method_name, params = {})
click to toggle source
# File lib/nabortu/methods/base.rb, line 11 def initialize(method_name, params = {}) @method_name, @params, @response = method_name, params, nil end
Public Instance Methods
do_request()
click to toggle source
# File lib/nabortu/methods/base.rb, line 15 def do_request prepare_result soap_client.call(@method_name, message: request(@params)) rescue => error # Catch all exceptions fail_callback(error) end
Protected Instance Methods
do_prepare()
click to toggle source
# File lib/nabortu/methods/base.rb, line 62 def do_prepare @response end
fail_callback(error)
click to toggle source
# File lib/nabortu/methods/base.rb, line 49 def fail_callback(error) raise error end
prepare_result(response)
click to toggle source
# File lib/nabortu/methods/base.rb, line 53 def prepare_result(response) @response = response.to_hash[:"#{@method_name}_response"][:"#{@method_name}_result"] do_prepare rescue @response = false ensure @response end
request(params = {})
click to toggle source
# File lib/nabortu/methods/base.rb, line 45 def request(params = {}) raise StandardError.new("You try execute abstract method 'request' of Nabortu::Methods::Base") end
soap_client()
click to toggle source
# File lib/nabortu/methods/base.rb, line 23 def soap_client params = { wsdl: Nabortu.config.url, open_timeout: 3000, read_timeout: 3000, element_form_default: 'unqualified', soap_header: { 'AuthentificationHeader' => { 'Login' => Nabortu.config.login, 'Password' => Nabortu.config.password, 'PartnerId' => Nabortu.config.partner_id }, attributes!: { 'AuthentificationHeader' => { 'xmlns' => 'http://www.nabortu.ru/'} } }, logger: Rails.logger, log: true, log_level: :info } Savon.client(params) { convert_request_keys_to :camelcase } end