Class: Lightrail::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/lightrail_client/validator.rb

Class Method Summary collapse

Class Method Details

.set_nsf_for_simulate!(charge_params) ⇒ Object



80
81
82
83
84
85
86
# File 'lib/lightrail_client/validator.rb', line 80

def self.set_nsf_for_simulate!(charge_params)
  params_for_simulate = charge_params.clone
  if (!params_for_simulate.key?([:nsf]) && !params_for_simulate.key?(['nsf']))
    params_for_simulate[:nsf] = false
  end
  params_for_simulate
end

.set_params_for_account_create!(create_account_params) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/lightrail_client/validator.rb', line 66

def self.()
  validated_params = .clone

  begin
    return validated_params if ((validated_params.is_a? Hash) &&
        self.set_userSuppliedId_from_existing!(validated_params, validated_params) &&
        (self.has_valid_shopper_id?(validated_params) || self.has_valid_contact_id?(validated_params)) &&
        self.validate_currency!(validated_params[:currency]) &&
        Lightrail::.(validated_params))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid create_account_params for set_params_for_account_create!: #{create_account_params.inspect}")
end

.set_params_for_acting_on_existing_transaction!(original_transaction, new_request_body = {}) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/lightrail_client/validator.rb', line 98

def self.set_params_for_acting_on_existing_transaction!(original_transaction, new_request_body={})
  validated_params = new_request_body.clone
  validated_params[:original_transaction] = original_transaction
  begin
    return validated_params if ((validated_params.is_a? Hash) &&
        (validated_params[:original_transaction].is_a? Hash) &&
        self.set_cardId!(validated_params, validated_params[:original_transaction]) &&
        self.set_transactionId!(validated_params, validated_params[:original_transaction]) &&
        self.get_or_set_userSuppliedId!(validated_params))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid params for set_params_for_acting_on_existing_transaction!: original_transaction: #{original_transaction.inspect}; new_request_body: #{new_request_body.inspect}")
end

.set_params_for_card_create!(create_params) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/lightrail_client/validator.rb', line 54

def self.set_params_for_card_create!(create_params)
  validated_params = create_params.clone
  begin
    return validated_params if ((validated_params.is_a? Hash) &&
        self.validate_currency!(validated_params[:currency]) &&
        self.has_valid_user_supplied_id?(validated_params) &&
        validated_params[:userSuppliedId] ||= self.get_user_supplied_id(create_params))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid create_params for set_params_for_card_create!!: #{create_params.inspect}")
end

.set_params_for_card_id_drawdown!(charge_params) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/lightrail_client/validator.rb', line 26

def self.set_params_for_card_id_drawdown!(charge_params)
  validated_params = charge_params.clone
  begin
    return validated_params if ((validated_params.is_a? Hash) &&
        (self.set_cardId!(validated_params, validated_params) ||
            Lightrail::.replace_contact_id_or_shopper_id_with_card_id(validated_params)) &&
        self.validate_amount!(validated_params[:amount] || validated_params[:value]) &&
        self.validate_currency!(validated_params[:currency]) &&
        self.get_or_set_userSuppliedId!(validated_params))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid charge_params for set_params_for_card_id_drawdown!: #{charge_params.inspect}")
end

.set_params_for_card_id_fund!(fund_params) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/lightrail_client/validator.rb', line 40

def self.set_params_for_card_id_fund!(fund_params)
  validated_params = fund_params.clone
  begin
    return validated_params if ((validated_params.is_a? Hash) &&
        (self.set_cardId!(validated_params, validated_params) ||
            Lightrail::.replace_contact_id_or_shopper_id_with_card_id(validated_params)) &&
        self.validate_amount!(validated_params[:amount] || validated_params[:value]) &&
        self.validate_currency!(validated_params[:currency]) &&
        self.get_or_set_userSuppliedId!(validated_params))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid fund_params for set_params_for_card_id_fund!: #{fund_params.inspect}")
end

.set_params_for_card_id_pending!(charge_params) ⇒ Object



88
89
90
91
92
93
94
95
96
# File 'lib/lightrail_client/validator.rb', line 88

def self.set_params_for_card_id_pending!(charge_params)
  begin
    validated_params = self.set_params_for_card_id_drawdown!(charge_params)
    validated_params[:pending] = true
    return validated_params
  rescue Lightrail::LightrailError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid charge_params for set_params_for_card_id_pending!!: #{charge_params.inspect}")
end

.set_params_for_code_drawdown!(charge_params) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/lightrail_client/validator.rb', line 3

def self.set_params_for_code_drawdown!(charge_params)
  validated_params = charge_params.clone
  begin
    return validated_params if ((validated_params.is_a? Hash) &&
        self.set_code!(validated_params, validated_params) &&
        self.validate_amount!(validated_params[:amount] || validated_params[:value]) &&
        self.validate_currency!(validated_params[:currency]) &&
        self.get_or_set_userSuppliedId!(validated_params))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid charge_params for set_params_for_code_drawdown!: #{charge_params.inspect}")
end

.set_params_for_code_pending!(charge_params) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/lightrail_client/validator.rb', line 16

def self.set_params_for_code_pending!(charge_params)
  begin
    validated_params = self.set_params_for_code_drawdown!(charge_params)
    validated_params[:pending] = true
    return validated_params
  rescue Lightrail::LightrailError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid charge_params for set_params_for_code_pending!: #{charge_params.inspect}")
end

.validate_amount!(amount) ⇒ Object



183
184
185
186
# File 'lib/lightrail_client/validator.rb', line 183

def self.validate_amount! (amount)
  return true if (amount.is_a? Integer)
  raise Lightrail::LightrailArgumentError.new("Invalid amount: #{amount.inspect}")
end

.validate_card_id!(card_id) ⇒ Object



153
154
155
156
# File 'lib/lightrail_client/validator.rb', line 153

def self.validate_card_id! (card_id)
  return true if ((card_id.is_a? String) && ((/\A[A-Z0-9\-]+\z/i =~ card_id).is_a? Integer))
  raise Lightrail::LightrailArgumentError.new("Invalid card_id: #{card_id.inspect}")
end

.validate_charge_object!(charge_params) ⇒ Object



113
114
115
116
117
118
119
120
# File 'lib/lightrail_client/validator.rb', line 113

def self.validate_charge_object! (charge_params)
  begin
    return true if (self.set_params_for_code_drawdown!(charge_params) if self.has_valid_code?(charge_params)) ||
        (self.set_params_for_card_id_drawdown!(charge_params) if (self.has_valid_card_id?(charge_params) || self.has_valid_contact_id?(charge_params) || self.has_valid_shopper_id?(charge_params)))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid charge_params: #{charge_params.inspect}")
end

.validate_code!(code) ⇒ Object



158
159
160
161
# File 'lib/lightrail_client/validator.rb', line 158

def self.validate_code! (code)
  return true if ((code.is_a? String) && ((/\A[A-Z0-9\-]+\z/i =~ code).is_a? Integer))
  raise Lightrail::LightrailArgumentError.new("Invalid code: #{code.inspect}")
end

.validate_contact_id!(contact_id) ⇒ Object



163
164
165
166
# File 'lib/lightrail_client/validator.rb', line 163

def self.validate_contact_id! (contact_id)
  return true if ((contact_id.is_a? String) && ((/\A[A-Z0-9\-]+\z/i =~ contact_id).is_a? Integer))
  raise Lightrail::LightrailArgumentError.new("Invalid contact_id: #{contact_id.inspect}")
end

.validate_currency!(currency) ⇒ Object



188
189
190
191
# File 'lib/lightrail_client/validator.rb', line 188

def self.validate_currency! (currency)
  return true if (/\A[A-Z]{3}\z/ === currency)
  raise Lightrail::LightrailArgumentError.new("Invalid currency: #{currency.inspect}")
end

.validate_fund_object!(fund_params) ⇒ Object



132
133
134
135
136
137
138
139
# File 'lib/lightrail_client/validator.rb', line 132

def self.validate_fund_object! (fund_params)
  begin
    return true if (self.set_params_for_card_id_fund!(fund_params) if (self.has_valid_card_id?(fund_params) ||
        self.has_valid_contact_id?(fund_params) || self.has_valid_shopper_id?(fund_params)))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid fund_params: #{fund_params.inspect}")
end

.validate_ping_response!(ping_response) ⇒ Object



141
142
143
144
145
146
147
148
149
150
# File 'lib/lightrail_client/validator.rb', line 141

def self.validate_ping_response! (ping_response)
  begin
    return true if ((ping_response.is_a? Hash) &&
        (ping_response['user'].is_a? Hash) &&
        !ping_response['user'].empty? &&
        self.validate_username!(ping_response['user']['username']))
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid ping_response: #{ping_response.inspect}")
end

.validate_shopper_id!(shopper_id) ⇒ Object



168
169
170
171
# File 'lib/lightrail_client/validator.rb', line 168

def self.validate_shopper_id! (shopper_id)
  return true if ((shopper_id.is_a? String) && ((/\A[A-Z0-9\-]+\z/i =~ shopper_id).is_a? Integer))
  raise Lightrail::LightrailArgumentError.new("Invalid shopper_id: #{shopper_id.inspect}")
end

.validate_transaction_id!(transaction_id) ⇒ Object



178
179
180
181
# File 'lib/lightrail_client/validator.rb', line 178

def self.validate_transaction_id! (transaction_id)
  return true if ((transaction_id.is_a? String) && !transaction_id.empty?)
  raise Lightrail::LightrailArgumentError.new("Invalid transaction_id: #{transaction_id.inspect}")
end

.validate_transaction_response!(transaction_response) ⇒ Object



122
123
124
125
126
127
128
129
130
# File 'lib/lightrail_client/validator.rb', line 122

def self.validate_transaction_response! (transaction_response)
  begin
    return true if (transaction_response.is_a? Hash) &&
        self.has_valid_transaction_id?(transaction_response) &&
        self.has_valid_card_id?(transaction_response)
  rescue Lightrail::LightrailArgumentError
  end
  raise Lightrail::LightrailArgumentError.new("Invalid transaction_response: #{transaction_response.inspect}")
end

.validate_user_supplied_id!(user_supplied_id) ⇒ Object



173
174
175
176
# File 'lib/lightrail_client/validator.rb', line 173

def self.validate_user_supplied_id! (user_supplied_id)
  return true if (user_supplied_id.is_a? String)
  raise Lightrail::LightrailArgumentError.new("Invalid user_supplied_id (must be a String): #{user_supplied_id.inspect} ")
end

.validate_username!(username) ⇒ Object



193
194
195
196
# File 'lib/lightrail_client/validator.rb', line 193

def self.validate_username!(username)
  return true if ((username.is_a? String) && !username.empty?)
  raise Lightrail::LightrailArgumentError.new("Invalid username: #{username.inspect}")
end