Module: ShoppingCart::CheckoutsHelper

Defined in:
app/helpers/shopping_cart/checkouts_helper.rb

Instance Method Summary collapse

Instance Method Details

#active_step(current_step) ⇒ Object



3
4
5
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 3

def active_step(current_step)
  'active' if current_step == step
end

#address_error?(field:, tag:) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 7

def address_error?(field:, tag:)
  return @billing.errors.include?(field) if billing_address?(tag)

  @shipping.errors.include?(field) if shipping_address?(tag)
end

#address_error_message(field:, tag:) ⇒ Object



13
14
15
16
17
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 13

def address_error_message(field:, tag:)
  return @billing.errors[field].to_sentence if billing_address?(tag)

  @shipping.errors[field].to_sentence if shipping_address?(tag)
end

#address_saved_value(field:, tag:) ⇒ Object



19
20
21
22
23
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 19

def address_saved_value(field:, tag:)
  return order_address_field('billing', field) || user_address_field('billing', field) || inputed_address_field('billing', field) if hide_address_fields?(tag)

  order_address_field(tag, field) || user_address_field(tag, field) || inputed_address_field(tag, field)
end

#card_error?(field) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 33

def card_error?(field)
  @credit_card.errors.include?(field) if @credit_card
end

#card_error_message(field) ⇒ Object



37
38
39
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 37

def card_error_message(field)
  @credit_card.errors[field].to_sentence if @credit_card
end

#card_saved_value(field) ⇒ Object



41
42
43
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 41

def card_saved_value(field)
  current_order.credit_card.try(field) || @credit_card.try(field)
end

#checked_delivery?(delivery_id) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 29

def checked_delivery?(delivery_id)
  current_order.delivery_id == delivery_id
end

#client_name(address) ⇒ Object



45
46
47
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 45

def client_name(address)
  address.first_name + ' ' + address.last_name if address
end

#hide_address_fields?(tag) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 25

def hide_address_fields?(tag)
  tag == 'shipping' && current_page?('/checkouts/address?edit=true') && !current_order.shipping_address
end

#secret_card_number(number) ⇒ Object



49
50
51
# File 'app/helpers/shopping_cart/checkouts_helper.rb', line 49

def secret_card_number(number)
  '**** **** **** ' + number if number
end