class CardConnect::Service::VoidRequest

Constants

FIELDS
OPTIONAL_FIELDS
REQUIRED_FIELDS

Attributes

errors[R]

Public Class Methods

new(attrs = {}) click to toggle source

Initializes a new Void Request

@param attrs [Hash] @return CardConnect::VoidRequest

# File lib/cardconnect/services/void/void_request.rb, line 19
def initialize(attrs = {})
  @errors = []
  set_attributes(attrs, FIELDS)
  validate_required_fields
end

Public Instance Methods

payload() click to toggle source

Builds the request payload

# File lib/cardconnect/services/void/void_request.rb, line 31
def payload
  payload = {}
  FIELDS.each do |field|
    payload.merge!(field => send(field))
  end
  payload
end
valid?() click to toggle source

Indicates that the request is valid once it is built.

# File lib/cardconnect/services/void/void_request.rb, line 26
def valid?
  errors.empty?
end

Private Instance Methods

validate_required_fields() click to toggle source
# File lib/cardconnect/services/void/void_request.rb, line 41
def validate_required_fields
  REQUIRED_FIELDS.each do |field|
    value = send(field)
    value.nil? || value.empty? ? errors.push("#{field.capitalize} is missing") : next
  end
end