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



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

def self.perform
  new.perform
end

Instance Method Details

#cleanObject



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

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

#default_paramsObject



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

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

#methodObject



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

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

#paramsObject



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

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

#performObject

Raises:



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

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



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

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