Module: SpreeCmCommissioner::LineItemGuestsConcern
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/spree_cm_commissioner/line_item_guests_concern.rb
Instance Method Summary collapse
- #allowed_extra_adults ⇒ Object
- #allowed_extra_kids ⇒ Object
- #allowed_total_adults ⇒ Object
- #allowed_total_kids ⇒ Object
- #extra_adults ⇒ Object
- #extra_adults? ⇒ Boolean
- #extra_kids ⇒ Object
- #extra_kids? ⇒ Boolean
- #generate_remaining_guests ⇒ Object
- #guest_options ⇒ Object
- #number_of_adults ⇒ Object
- #number_of_guests ⇒ Object
- #number_of_kids ⇒ Object
- #remaining_total_guests ⇒ Object
Instance Method Details
#allowed_extra_adults ⇒ Object
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_kids ⇒ Object
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_adults ⇒ Object
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_kids ⇒ Object
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_adults ⇒ Object
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
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_kids ⇒ Object
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
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_guests ⇒ Object
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_options ⇒ Object
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 ||= { 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_adults ⇒ Object
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_guests ⇒ Object
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_kids ⇒ Object
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_guests ⇒ Object
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 |