Class: Sisow::Api::Request

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

Constant Summary collapse

BASE_URI =
"http://www.sisow.nl/Sisow/iDeal/RestHandler.ashx"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.performObject



9
10
11
# File 'lib/sisow/api/request.rb', line 9

def self.perform
  new.perform
end

Instance Method Details

#cleanObject



36
# File 'lib/sisow/api/request.rb', line 36

def clean;      raise 'Implement me in a subclass'; end

#default_paramsObject



27
28
29
30
31
32
# File 'lib/sisow/api/request.rb', line 27

def default_params
  {
    :merchantid  => Sisow.configuration.merchant_id,
    :test        => Sisow.configuration.test_mode_enabled?? test_mode_param : nil
  }
end

#methodObject



35
# File 'lib/sisow/api/request.rb', line 35

def method;     raise 'Implement me in a subclass'; end

#paramsObject



34
# File 'lib/sisow/api/request.rb', line 34

def params;     raise 'Implement me in a subclass'; end

#performObject

Raises:



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sisow/api/request.rb', line 13

def perform
  raise Sisow::Exception, 'Your merchant_id or merchant_key are not set' unless can_perform?

  validate!

  http_response = HTTPI.get(base_uri + uri)
  parsed_response = Crack::XML.parse(http_response.body)
  response = Hashie::Mash.new(parsed_response)

  error!(response) if response.errorresponse?

  clean(response)
end

#validate!Object



37
# File 'lib/sisow/api/request.rb', line 37

def validate!;  raise 'Implement me in a subclass'; end