Module: SpreeCmCommissioner::LineItemGuestsConcern

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb

Instance Method Summary collapse

Instance Method Details

#allowed_extra_adultsObject



13
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 13

def allowed_extra_adults = variant.allowed_extra_adults * quantity

#allowed_extra_kidsObject



14
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 14

def allowed_extra_kids = variant.allowed_extra_kids * quantity

#allowed_total_adultsObject



16
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 16

def allowed_total_adults = (variant.number_of_adults * quantity) + allowed_extra_adults

#allowed_total_kidsObject



17
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 17

def allowed_total_kids = (variant.number_of_kids * quantity) + allowed_extra_kids

#extra_adultsObject



30
31
32
33
34
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 30

def extra_adults
  return 0 unless extra_adults?

  [:number_of_adults] - (variant.number_of_adults * quantity)
end

#extra_adults?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 57

def extra_adults?
  [:number_of_adults].present? && [:number_of_adults] > variant.number_of_adults * quantity
end

#extra_kidsObject



36
37
38
39
40
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 36

def extra_kids
  return 0 unless extra_kids?

  [:number_of_kids] - (variant.number_of_kids * quantity)
end

#extra_kids?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 61

def extra_kids?
  [:number_of_kids].present? && [:number_of_kids] > variant.number_of_kids * quantity
end

#generate_remaining_guestsObject



22
23
24
25
26
27
28
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 22

def generate_remaining_guests
  return if remaining_total_guests.zero?

  remaining_total_guests.times do
    guests.create!
  end
end

#guest_optionsObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 42

def guest_options
  @guest_options ||= {
    remaining_total_guests: remaining_total_guests,
    number_of_guests: number_of_guests,
    allowed_extra_adults: allowed_extra_adults,
    allowed_extra_kids: allowed_extra_kids,
    allowed_total_adults: allowed_total_adults,
    allowed_total_kids: allowed_total_kids,
    number_of_adults: number_of_adults,
    number_of_kids: number_of_kids,
    extra_adults: extra_adults,
    extra_kids: extra_kids
  }
end

#number_of_adultsObject



19
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 19

def number_of_adults = [:number_of_adults] || (variant.number_of_adults * quantity)

#number_of_guestsObject



11
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 11

def number_of_guests = number_of_adults + number_of_kids

#number_of_kidsObject



20
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 20

def number_of_kids = [:number_of_kids] || (variant.number_of_kids * quantity)

#remaining_total_guestsObject



10
# File 'app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb', line 10

def remaining_total_guests = [number_of_guests - guests.size, 0].max