Module: Comable::Order::Callbacks

Extended by:
ActiveSupport::Concern
Included in:
Comable::Order
Defined in:
app/models/comable/order/callbacks.rb

Instance Method Summary collapse

Instance Method Details

#clone_addresses_from_userObject



31
32
33
34
35
# File 'app/models/comable/order/callbacks.rb', line 31

def clone_addresses_from_user
  return unless user
  self.bill_address ||= user.bill_address.try(:clone)
  self.ship_address ||= user.ship_address.try(:clone)
end

#clone_addresses_to_userObject



37
38
39
40
41
# File 'app/models/comable/order/callbacks.rb', line 37

def clone_addresses_to_user
  return unless user
  user.update_bill_address_by bill_address
  user.update_ship_address_by ship_address
end

#copy_ship_address_from_bill_addressObject



43
44
45
# File 'app/models/comable/order/callbacks.rb', line 43

def copy_ship_address_from_bill_address
  self.ship_address = bill_address
end

#generate_codeObject



16
17
18
19
20
21
# File 'app/models/comable/order/callbacks.rb', line 16

def generate_code
  self.code = loop do
    random_token = "C#{Array.new(11) { rand(9) }.join}"
    break random_token unless self.class.exists?(code: random_token)
  end
end

#generate_guest_tokenObject



23
24
25
26
27
28
29
# File 'app/models/comable/order/callbacks.rb', line 23

def generate_guest_token
  return if user
  self.guest_token ||= loop do
    random_token = SecureRandom.urlsafe_base64(nil, false)
    break random_token unless self.class.exists?(guest_token: random_token)
  end
end