Class: IPay::ApiRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/ipay/api_request.rb

Constant Summary collapse

DEFAULT_SERVICE_FORMAT =
'0000'

Class Method Summary collapse

Class Method Details

.send_request(data = {}, service_subtype = nil) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/ipay/api_request.rb', line 25

def self.send_request(data = {}, service_subtype = nil)
  data[:service] = self.service.upcase
  data[:service_type] = self.service_type.upcase
  data[:service_subtype] = service_subtype.nil? ? caller[0][/`.*'/][1..-2].upcase : service_subtype.to_s.upcase
  data[:service_format] ||= self.service_format

  m = eval("#{self.service}")
  data = m::default_values(data) if m::respond_to?(:default_values)
  
  request = XmlRequest.new(data)  
  Response.new request.send
end

.serviceObject



17
18
19
# File 'lib/ipay/api_request.rb', line 17

def self.service
  self.name.split('::')[1] rescue nil
end

.service_formatObject



9
10
11
# File 'lib/ipay/api_request.rb', line 9

def self.service_format
  @@service_format ||= DEFAULT_SERVICE_FORMAT
end

.service_format=(val) ⇒ Object



13
14
15
# File 'lib/ipay/api_request.rb', line 13

def self.service_format=(val)
  @@service_format = val
end

.service_typeObject



21
22
23
# File 'lib/ipay/api_request.rb', line 21

def self.service_type
  self.name.split('::')[2] rescue nil
end