class CardConnect::Service::ProfileDeleteRequest

Constants

FIELDS
OPTIONAL_FIELDS
REQUIRED_FIELDS

Making acctid required here even though this conflicts with information in the CardConnect docs because I can't get a successful response from their API unless I pass an acctid. Please let me know if you know how to fix this.

Attributes

errors[R]

Public Class Methods

new(attrs = {}) click to toggle source

Initializes a new ProfileDeleteRequest

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

# File lib/cardconnect/services/profile/profile_delete_request.rb, line 23
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/profile/profile_delete_request.rb, line 35
def payload
  "/#{profileid}/#{acctid}/#{merchid}"
end
valid?() click to toggle source

Indicates that the request is valid once it is built.

# File lib/cardconnect/services/profile/profile_delete_request.rb, line 30
def valid?
  errors.empty?
end

Private Instance Methods

validate_required_fields() click to toggle source
# File lib/cardconnect/services/profile/profile_delete_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