class CardConnect::Service::SettlementStatusRequest

Constants

FIELDS
REQUIRED_FIELDS

Attributes

errors[R]

Public Class Methods

new(attrs = {}) click to toggle source

Initializes a new Settlement Status Request

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

# File lib/cardconnect/services/settlement_status/settlement_status_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/settlement_status/settlement_status_request.rb, line 31
def payload
  payload = '?'
  FIELDS.each do |field|
    payload += "#{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/settlement_status/settlement_status_request.rb, line 26
def valid?
  errors.empty?
end

Private Instance Methods

validate_date_format() click to toggle source
# File lib/cardconnect/services/settlement_status/settlement_status_request.rb, line 53
def validate_date_format
  raise if date.length != 4
  Date.parse(date, '%m%d')
rescue
  errors.push('Date format is invalid. Please use MMDD format')
end
validate_presence_of_required_fields() click to toggle source
# File lib/cardconnect/services/settlement_status/settlement_status_request.rb, line 46
def validate_presence_of_required_fields
  REQUIRED_FIELDS.each do |field|
    value = send(field)
    value.nil? || value.empty? ? errors.push("#{field.capitalize} is missing") : next
  end
end
validate_required_fields() click to toggle source
# File lib/cardconnect/services/settlement_status/settlement_status_request.rb, line 41
def validate_required_fields
  validate_presence_of_required_fields
  validate_date_format unless date.nil? || date.empty?
end