Class: Lightrail::Translator

Inherits:
Object
  • Object
show all
Defined in:
lib/lightrail_stripe/translator.rb

Class Method Summary collapse

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