module Exlibris::Primo::WebService::Client::SoapActions

Public Class Methods

included(klass) click to toggle source
# File lib/exlibris/primo/web_service/client/base/soap_actions.rb, line 6
def self.included(klass)
  klass.class_eval do
    extend ClassAttributes
  end
end

Public Instance Methods

method_missing(method, *args, &block) click to toggle source

Define methods for SOAP actions. SOAP actions take a single String argument, request_xml, which is set as the body of the SOAP request

Calls superclass method
# File lib/exlibris/primo/web_service/client/base/soap_actions.rb, line 34
def method_missing(method, *args, &block)
  if(soap_actions.include? method)
    self.class.send(:define_method, method) { |request_xml|
      client.call(method, message: request_xml)
    }
    send method, *args, &block
  else
    super
  end
end
respond_to?(method, include_private=false) click to toggle source

Tell users that we respond to SOAP actions.

Calls superclass method
# File lib/exlibris/primo/web_service/client/base/soap_actions.rb, line 48
def respond_to?(method, include_private=false)
  (soap_actions.include? method) ? true : super
end

Protected Instance Methods

soap_actions() click to toggle source
# File lib/exlibris/primo/web_service/client/base/soap_actions.rb, line 25
def soap_actions
  @soap_actions ||= self.class.soap_actions #.concat(client.wsdl.soap_actions)
end