Class: Agms::ReportRequest

Inherits:
Request
  • Object
show all
Defined in:
lib/agms/request/report_request.rb

Instance Method Summary collapse

Methods inherited from Request

#get, #getField, #getValidationErrors, #getValidationMessages, #setField

Constructor Details

#initialize(op) ⇒ ReportRequest

Returns a new instance of ReportRequest.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
# File 'lib/agms/request/report_request.rb', line 7

def initialize(op)
  super(op)
  @trans_fields = {
      :TransactionType => {:setting => '', :value => ''},
      :PaymentType => {:setting => '', :value => 'creditcard'},
      :Amount => {:setting => '', :value => ''}, # Required for sale or auth
      :FirstName => {:setting => '', :value => ''},
      :LastName => {:setting => '', :value => ''},
      :Company => {:setting => '', :value => ''},
      :Address1 => {:setting => '', :value => ''},
      :Address2 => {:setting => '', :value => ''},
      :City => {:setting => '', :value => ''},
      :State => {:setting => '', :value => ''},
      :Zip => {:setting => '', :value => ''},
      :Country => {:setting => '', :value => ''},
      :Phone => {:setting => '', :value => ''},
      :Fax => {:setting => '', :value => ''},
      :EMail => {:setting => '', :value => ''},
      :ProcessorID => {:setting => '', :value => ''},
      :TransactionID => {:setting => '', :value => ''},
      :SAFE_ID => {:setting => '', :value => ''},
      :StartDate => {:setting => '', :value => ''},
      :EndDate => {:setting => '', :value => ''},
      :CreditCardLast4 => {:setting => '', :value => ''}
  }

  @safe_fields = {
      :Active => {:setting => '', :value => ''},
      :PaymentType => {:setting => '', :value => 'creditcard'},
      :FirstName => {:setting => '', :value => ''},
      :LastName => {:setting => '', :value => ''},
      :Company => {:setting => '', :value => ''},
      :EMail => {:setting => '', :value => ''},
      :SafeID => {:setting => '', :value => ''},
      :StartDate => {:setting => '', :value => ''},
      :EndDate => {:setting => '', :value => ''},
      :Expiring30 => {:setting => '', :value => ''}
  }

  @numeric = %w(Amount ProcessorID TransactionID CreditCardLast4)

  @date = %w(StartDate EndDate)

  @digit_2 = %w(State)

  if @op == 'TransactionAPI'
    @fields = @trans_fields
    # Override mapping with api-specific field maps
    @mapping[:safe_id] = :Safe_ID
    @mapping[:gateway_username] = :GatewayUsername
  elsif @op == 'QuerySAFE'
    @fields = @safe_fields
    # Override mapping with api-specific field maps
    @mapping[:safe_id] = :SafeID
    @mapping[:gateway_username] = :GatewayUsername
    @mapping[:gateway_key] = :APIKey
  else
    raise InvalidRequestError, "Invalid op #{@op} in Request."
  end

  @needs_account = true
  @needs_key = true

end

Instance Method Details

#getFieldsObject



91
92
93
# File 'lib/agms/request/report_request.rb', line 91

def getFields
  return getFieldArray
end

#getParams(request) ⇒ Object



95
96
97
98
99
100
101
102
103
104
# File 'lib/agms/request/report_request.rb', line 95

def getParams(request)
  if @op == 'TransactionAPI'
    return {:objparameters => request}
  elsif @op == 'QuerySAFE'
    return request
  else
    return {:objparameters => request}
  end

end

#validateObject



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/agms/request/report_request.rb', line 72

def validate
  @required = []

  error_array = AgmsAutoValidate();

  errors = error_array['errors'];
  messages = error_array['messages'];

  @validate_errors = errors;
  @validate_messages = messages;

  if errors == 0
    return {'errors' => errors, 'messages' => messages}
  else
    raise RequestValidationError, "Request validation failed with #{messages.join(' ')}."
  end

end