Class: Lightrail::Validator
- Inherits:
-
Object
- Object
- Lightrail::Validator
- Defined in:
- lib/lightrail_client/validator.rb
Class Method Summary collapse
- .set_nsf_for_simulate!(charge_params) ⇒ Object
- .set_params_for_account_create!(create_account_params) ⇒ Object
- .set_params_for_acting_on_existing_transaction!(original_transaction, new_request_body = {}) ⇒ Object
- .set_params_for_card_create!(create_params) ⇒ Object
- .set_params_for_card_id_drawdown!(charge_params) ⇒ Object
- .set_params_for_card_id_fund!(fund_params) ⇒ Object
- .set_params_for_card_id_pending!(charge_params) ⇒ Object
- .set_params_for_code_drawdown!(charge_params) ⇒ Object
- .set_params_for_code_pending!(charge_params) ⇒ Object
- .validate_amount!(amount) ⇒ Object
- .validate_card_id!(card_id) ⇒ Object
- .validate_charge_object!(charge_params) ⇒ Object
- .validate_code!(code) ⇒ Object
- .validate_contact_id!(contact_id) ⇒ Object
- .validate_currency!(currency) ⇒ Object
- .validate_fund_object!(fund_params) ⇒ Object
- .validate_ping_response!(ping_response) ⇒ Object
- .validate_shopper_id!(shopper_id) ⇒ Object
- .validate_transaction_id!(transaction_id) ⇒ Object
- .validate_transaction_response!(transaction_response) ⇒ Object
- .validate_user_supplied_id!(user_supplied_id) ⇒ Object
- .validate_username!(username) ⇒ Object
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.set_params_for_account_create!(create_account_params) validated_params = create_account_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::Account.set_account_card_type(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::Account.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::Account.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 |