Class: MasterCard::Core::Model::BaseObject
- Inherits:
-
RequestMap
- Object
- SmartMap
- RequestMap
- MasterCard::Core::Model::BaseObject
- Includes:
- Controller, MasterCard::Core::Model
- Defined in:
- lib/mastercard/core/baseobject.rb
Overview
BaseObject
Constant Summary
Constants inherited from SmartMap
Class Method Summary collapse
- .execute(operationUUID, inputObject) ⇒ Object
- .getOperationConfig(uuid) ⇒ Object
- .getOperationMetadata ⇒ Object
Instance Method Summary collapse
-
#initialize(requestMap = nil) ⇒ BaseObject
constructor
A new instance of BaseObject.
Methods inherited from SmartMap
#containsKeys, #get, #getObject, #set, #setAll, #size
Constructor Details
#initialize(requestMap = nil) ⇒ BaseObject
Returns a new instance of BaseObject.
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/mastercard/core/baseobject.rb', line 15 def initialize(requestMap = nil) #call the base class constructor super() unless requestMap.nil? setAll(requestMap.getObject()) end end |
Class Method Details
.execute(operationUUID, inputObject) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/mastercard/core/baseobject.rb', line 37 def self.execute(operationUUID,inputObject) config = inputObject.class.getOperationConfig(operationUUID) = inputObject.class.getOperationMetadata() response = APIController.new.execute(config,,inputObject.getObject()) returnObjClass = inputObject.class if config.getAction().upcase == APIController::ACTION_LIST returnObj = [] if response.is_a?(Hash) && response.key?(RequestMap::KEY_LIST) response = response[RequestMap::KEY_LIST] end if response.is_a?(Hash) response.each do |key,value| requestMap = RequestMap.new requestMap.setAll(value) returnObj.push(returnObjClass.new(requestMap)) end elsif response.is_a?(Array) response.each do |value| requestMap = RequestMap.new requestMap.setAll(value) returnObj.push(returnObjClass.new(requestMap)) end end return returnObj else requestMap = RequestMap.new requestMap.setAll(response) return returnObjClass.new(requestMap) end end |
.getOperationConfig(uuid) ⇒ Object
29 30 31 |
# File 'lib/mastercard/core/baseobject.rb', line 29 def self.getOperationConfig(uuid) raise NotImplementedError.new("Child class must define getOperationConfig method to use this class") end |
.getOperationMetadata ⇒ Object
33 34 35 |
# File 'lib/mastercard/core/baseobject.rb', line 33 def self.getOperationMetadata() raise NotImplementedError.new("Child class must define getOperationMetadata method to use this class") end |