Class: CardConnect::Service::CaptureRequest
- Inherits:
-
Object
- Object
- CardConnect::Service::CaptureRequest
- Includes:
- Utils
- Defined in:
- lib/cardconnect/services/capture/capture_request.rb
Constant Summary collapse
- REQUIRED_FIELDS =
[:merchid, :retref].freeze
- OPTIONAL_FIELDS =
[:authcode, :amount, :invoiceid, :ponumber, :taxamnt].freeze
- FIELDS =
REQUIRED_FIELDS + OPTIONAL_FIELDS
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
Instance Method Summary collapse
-
#initialize(attrs = {}) ⇒ Object
constructor
Initializes a new Capture Request.
-
#payload ⇒ Object
Builds the request payload.
-
#valid? ⇒ Boolean
Indicates that the request is valid once it is built.
Methods included from Utils
#set_attributes, #symbolize_keys
Constructor Details
#initialize(attrs = {}) ⇒ Object
Initializes a new Capture Request
19 20 21 22 23 |
# File 'lib/cardconnect/services/capture/capture_request.rb', line 19 def initialize(attrs = {}) @errors = [] set_attributes(attrs, FIELDS) validate_required_fields end |
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
13 14 15 |
# File 'lib/cardconnect/services/capture/capture_request.rb', line 13 def errors @errors end |
Instance Method Details
#payload ⇒ Object
Builds the request payload
31 32 33 |
# File 'lib/cardconnect/services/capture/capture_request.rb', line 31 def payload FIELDS.collect{|field| {field => send(field)} }.reduce({}, :merge) end |
#valid? ⇒ Boolean
Indicates that the request is valid once it is built.
26 27 28 |
# File 'lib/cardconnect/services/capture/capture_request.rb', line 26 def valid? errors.empty? end |