Class: RubyPsigate::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_psigate/request.rb

Direct Known Subclasses

Account, Charge

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ Request

Returns a new instance of Request.



25
26
27
28
29
30
31
32
33
# 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

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



4
5
6
# File 'lib/ruby_psigate/request.rb', line 4

def params
  @params
end

Class Method Details

.credentialObject



7
8
9
# File 'lib/ruby_psigate/request.rb', line 7

def credential
  @@credential
end

.credential=(x) ⇒ Object

Raises:

  • (ArgumentError)


11
12
13
14
# File 'lib/ruby_psigate/request.rb', line 11

def credential=(x)
  raise ArgumentError unless x.is_a?(Credential)
  @@credential = x
end

.storeidObject



16
17
18
# File 'lib/ruby_psigate/request.rb', line 16

def storeid
  @@storeid
end

.storeid=(x) ⇒ Object



20
21
22
# File 'lib/ruby_psigate/request.rb', line 20

def storeid=(x)
  @@storeid = x
end

Instance Method Details

#postObject



40
41
42
43
44
45
46
47
48
49
50
# 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