Class: Lightrail::Translator
- Inherits:
-
Object
- Object
- Lightrail::Translator
- Defined in:
- lib/lightrail_stripe/translator.rb
Class Method Summary collapse
- .charge_instance_to_hash!(charge_instance) ⇒ Object
- .charge_params_split_tender_to_stripe(split_tender_charge_params, stripe_share) ⇒ Object
- .charge_params_stripe_to_lightrail(stripe_style_params) ⇒ Object
- .construct_lightrail_charge_params_from_split_tender(split_tender_charge_params, lr_share) ⇒ Object
- .construct_lightrail_metadata_for_split_tender_charge(stripe_transaction) ⇒ Object
- .construct_lightrail_pending_charge_params_from_split_tender(split_tender_charge_params, lr_share) ⇒ Object
- .fund_params_stripe_to_lightrail(stripe_style_params) ⇒ Object
Class Method Details
.charge_instance_to_hash!(charge_instance) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/lightrail_stripe/translator.rb', line 8 def self.charge_instance_to_hash!(charge_instance) if charge_instance.is_a? Lightrail::LightrailCharge charge_hash = {} charge_instance.instance_variables.each {|instance_variable| charge_hash[instance_variable.to_s.delete('@')] = charge_instance.instance_variable_get(instance_variable)} charge_hash else raise Lightrail::LightrailArgumentError.new("Translator.charge_instance_to_hash! received #{charge_instance.inspect}") end end |
.charge_params_split_tender_to_stripe(split_tender_charge_params, stripe_share) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'lib/lightrail_stripe/translator.rb', line 50 def self.charge_params_split_tender_to_stripe(split_tender_charge_params, stripe_share) stripe_params = split_tender_charge_params.clone stripe_params[:amount] = stripe_share Lightrail::Constants::LIGHTRAIL_PAYMENT_METHODS.each {|charge_param_key| stripe_params.delete(charge_param_key)} Lightrail::Constants::LIGHTRAIL_USER_SUPPLIED_ID_KEYS.each {|supplied_id_key| stripe_params.delete(supplied_id_key)} stripe_params end |
.charge_params_stripe_to_lightrail(stripe_style_params) ⇒ Object
4 5 6 |
# File 'lib/lightrail_stripe/translator.rb', line 4 def self.charge_params_stripe_to_lightrail(stripe_style_params) self.stripe_params_to_lightrail!(stripe_style_params, true) end |
.construct_lightrail_charge_params_from_split_tender(split_tender_charge_params, lr_share) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/lightrail_stripe/translator.rb', line 22 def self.construct_lightrail_charge_params_from_split_tender(split_tender_charge_params, lr_share) lightrail_params = split_tender_charge_params.clone lightrail_params[:pending] ||= lightrail_params[:capture] === nil ? false : !lightrail_params.delete(:capture) lightrail_params[:value] = -lr_share lightrail_params.delete(:amount) lightrail_params[:contact_id] ||= Lightrail::Validator.get_contact_id(lightrail_params) lightrail_params[:shopper_id] ||= Lightrail::Validator.get_shopper_id(lightrail_params) if (lightrail_params[:contact_id] || lightrail_params[:shopper_id]) lightrail_params = Lightrail::Account.replace_contact_id_or_shopper_id_with_card_id(lightrail_params) end lightrail_params[:code] ||= Lightrail::Validator.get_code(lightrail_params) lightrail_params[:cardId] ||= Lightrail::Validator.get_card_id(lightrail_params) lightrail_params[:userSuppliedId] ||= Lightrail::Validator.get_or_create_user_supplied_id(lightrail_params) lightrail_params end |
.construct_lightrail_metadata_for_split_tender_charge(stripe_transaction) ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/lightrail_stripe/translator.rb', line 60 def self.(stripe_transaction) { metadata: { splitTenderChargeDetails: { stripeTransactionId: stripe_transaction.id } } } end |
.construct_lightrail_pending_charge_params_from_split_tender(split_tender_charge_params, lr_share) ⇒ Object
43 44 45 46 47 48 |
# File 'lib/lightrail_stripe/translator.rb', line 43 def self.construct_lightrail_pending_charge_params_from_split_tender(split_tender_charge_params, lr_share) lightrail_params = self.construct_lightrail_charge_params_from_split_tender(split_tender_charge_params, lr_share) lightrail_params[:pending] = true lightrail_params end |
.fund_params_stripe_to_lightrail(stripe_style_params) ⇒ Object
18 19 20 |
# File 'lib/lightrail_stripe/translator.rb', line 18 def self.fund_params_stripe_to_lightrail(stripe_style_params) self.stripe_params_to_lightrail!(stripe_style_params, false) end |