class CGIParty::Request

Public Class Methods

new(savon_client, options) click to toggle source
# File lib/cgi_party/request.rb, line 3
def initialize(savon_client, options)
  @options = fetch_options(options, available_options)
  @savon_client = savon_client
end

Public Instance Methods

execute() click to toggle source
# File lib/cgi_party/request.rb, line 8
def execute
  serialize_data(
    @savon_client.call(
      action_name,
      message: message_hash,
      message_tag: message_tag
    ).body
  )
end

Private Instance Methods

action_name() click to toggle source

Only works for single word actions

# File lib/cgi_party/request.rb, line 28
def action_name
  message_tag[/(.*)(?:Request)/, 1].downcase.to_sym
end
fetch_options(options, available_options) click to toggle source
# File lib/cgi_party/request.rb, line 20
def fetch_options(options, available_options)
  available_options.each do |option_name|
    options[option_name] ||= CGIParty.config.public_send(option_name)
  end
  options
end
message_tag() click to toggle source
# File lib/cgi_party/request.rb, line 32
def message_tag
  self.class.name.gsub(/^.*::/, '')
end