class RubyPsigate::Request

Attributes

params[R]

Public Class Methods

credential() click to toggle source
# File lib/ruby_psigate/request.rb, line 7
def credential
  @@credential
end
credential=(x) click to toggle source
# File lib/ruby_psigate/request.rb, line 11
def credential=(x)
  raise ArgumentError unless x.is_a?(Credential)
  @@credential = x
end
new(attributes={}) click to toggle source
# File lib/ruby_psigate/request.rb, line 25
def initialize(attributes={})
  @request = {}
  @request[:Request] = {}
  
  # Add credentials
  %w( CID UserID Password ).each do |c|
    @request[:Request][c.to_sym] = self.class.credential.send((c.downcase).to_sym)
  end
end
storeid() click to toggle source
# File lib/ruby_psigate/request.rb, line 16
def storeid
  @@storeid
end
storeid=(x) click to toggle source
# File lib/ruby_psigate/request.rb, line 20
def storeid=(x)
  @@storeid = x
end

Public Instance Methods

params=(hash) click to toggle source
# File lib/ruby_psigate/request.rb, line 35
def params=(hash)
  raise ArgumentError unless hash.is_a?(Hash)
  @params = hash
end
post() click to toggle source
# File lib/ruby_psigate/request.rb, line 40
def post
  begin
    parameters = RubyPsigate::Serializer.new(params, :header => true).to_xml
    connection = RubyPsigate::Connection.new(self.class.credential.endpoint)
    response = connection.post(parameters)
    response = Response.new(response)
  rescue ConnectionError => e
    response = nil
  end
  response
end