Class: Trustly::JSONRPCNotificationResponse

Inherits:
Data
  • Object
show all
Defined in:
lib/trustly/data/jsonrpcnotificationresponse.rb

Instance Attribute Summary

Attributes inherited from Data

#payload

Instance Method Summary collapse

Methods inherited from Data

#get, #get_from, #json, #pop, #set, #set_in, #vacumm

Constructor Details

#initialize(request, success = nil) ⇒ JSONRPCNotificationResponse

Returns a new instance of JSONRPCNotificationResponse.



3
4
5
6
7
8
9
10
11
12
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 3

def initialize(request,success=nil)
  super
  uuid   = request.get_uuid()
  method = request.get_method()

  self.set('version')
  self.set_result('uuid',uuid)     unless uuid.nil?
  self.set_result('method',method) unless method.nil?
  self.set_data('success', (!success.nil? && !success ? 'FAILED' : 'OK' ))
end

Instance Method Details

#get_data(name = nil) ⇒ Object

Raises:



32
33
34
35
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 32

def get_data(name=nil)
  raise KeyError,"#{name} is not present in data" if name.nil? || self.payload.try(:[],"result").nil? || self.payload["result"].try(:[],"data").nil? || self.payload["result"]["data"].try(:[],name).nil?
  return self.payload["result"]["data"][name]
end

#get_methodObject



47
48
49
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 47

def get_method
  return self.get_result('method')
end

#get_result(name) ⇒ Object

Raises:



27
28
29
30
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 27

def get_result(name)
  raise KeyError,"#{name} is not present in result" if name.nil? || self.payload.try(:[],"result").nil? || self.payload["result"].try(:[],name).nil?
  return self.payload["result"][name]
end

#get_signatureObject



55
56
57
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 55

def get_signature
  return self.get_result('signature')
end

#get_uuidObject



51
52
53
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 51

def get_uuid
  return self.get_result('uuid')
end

#set_data(name, value) ⇒ Object



20
21
22
23
24
25
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 20

def set_data(name,value)
  return nil if name.nil? || value.nil?
  self.payload["result"]               = {} if self.payload.try(:[],"result").nil?
  self.payload["result"]["data"]       = {} if self.payload["result"].try(:[],"data").nil?
  self.payload["result"]["data"][name] = value
end

#set_result(name, value) ⇒ Object



14
15
16
17
18
# File 'lib/trustly/data/jsonrpcnotificationresponse.rb', line 14

def set_result(name,value)
  return nil if name.nil? || value.nil?
  self.payload["result"]                = {} if self.payload.try(:[],"result").nil?
  self.payload["result"][name]          = value
end