Class: Lightrail::SplitTenderValidator
- Inherits:
-
Validator
- Object
- Validator
- Lightrail::SplitTenderValidator
- Defined in:
- lib/lightrail_stripe/split_tender_validator.rb
Class Method Summary collapse
- .has_lightrail_payment_option?(charge_params) ⇒ Boolean
- .has_stripe_payment_option?(charge_params) ⇒ Boolean
- .validate_split_tender_charge_params!(split_tender_charge_params) ⇒ Object
Class Method Details
.has_lightrail_payment_option?(charge_params) ⇒ Boolean
20 21 22 23 24 25 |
# File 'lib/lightrail_stripe/split_tender_validator.rb', line 20 def self.has_lightrail_payment_option?(charge_params) Lightrail::Validator.has_valid_code?(charge_params) || Lightrail::Validator.has_valid_card_id?(charge_params) || Lightrail::Validator.has_valid_contact_id?(charge_params) || Lightrail::Validator.has_valid_shopper_id?(charge_params) end |
.has_stripe_payment_option?(charge_params) ⇒ Boolean
16 17 18 |
# File 'lib/lightrail_stripe/split_tender_validator.rb', line 16 def self.has_stripe_payment_option?(charge_params) charge_params.has_key?(:source) || charge_params.has_key?(:customer) end |
.validate_split_tender_charge_params!(split_tender_charge_params) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/lightrail_stripe/split_tender_validator.rb', line 4 def self.validate_split_tender_charge_params! (split_tender_charge_params) begin return true if ((split_tender_charge_params.is_a? Hash) && Lightrail::Validator.validate_amount!(split_tender_charge_params[:amount]) && Lightrail::Validator.validate_currency!(split_tender_charge_params[:currency]) && (self.has_lightrail_payment_option?(split_tender_charge_params) || self.has_stripe_payment_option?(split_tender_charge_params))) rescue Lightrail::LightrailArgumentError end raise Lightrail::LightrailArgumentError.new("Invalid split_tender_charge_params: #{split_tender_charge_params.inspect}") end |