Module: EffectiveEventsEventRegistration
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/effective_events_event_registration.rb
Overview
EffectiveEventsEventRegistration
Mark your owner model with effective_events_event_registration to get all the includes
Defined Under Namespace
Modules: Base, ClassMethods
Instance Method Summary collapse
-
#build_event_registrants ⇒ Object
This builds the default event registrants used by the wizard form.
- #done? ⇒ Boolean
-
#event_addon(event_product:) ⇒ Object
Find or build.
-
#event_registrant(event_ticket:, first_name:, last_name:, email:) ⇒ Object
Find or build.
- #in_progress? ⇒ Boolean
-
#to_s ⇒ Object
Instance Methods.
Instance Method Details
#build_event_registrants ⇒ Object
This builds the default event registrants used by the wizard form
154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'app/models/concerns/effective_events_event_registration.rb', line 154 def build_event_registrants if event_registrants.blank? raise('expected owner and event to be present') unless owner && event event_registrants.build( first_name: owner.try(:first_name), last_name: owner.try(:last_name), email: owner.try(:email) ) end event_registrants end |
#done? ⇒ Boolean
137 138 139 |
# File 'app/models/concerns/effective_events_event_registration.rb', line 137 def done? submitted? end |
#event_addon(event_product:) ⇒ Object
Find or build. But it’s not gonna work with more than 1. This is for testing only really.
148 149 150 151 |
# File 'app/models/concerns/effective_events_event_registration.rb', line 148 def event_addon(event_product:) addon = event_addons.find { |ep| ep.event_product == event_product } addon || event_addons.build(event_product: event_product, owner: owner) end |
#event_registrant(event_ticket:, first_name:, last_name:, email:) ⇒ Object
Find or build
142 143 144 145 |
# File 'app/models/concerns/effective_events_event_registration.rb', line 142 def event_registrant(event_ticket:, first_name:, last_name:, email:) registrant = event_registrants.find { |er| er.event_ticket == event_ticket && er.first_name == first_name && er.last_name == last_name && er.email == email } registrant || event_registrants.build(event: event, event_ticket: event_ticket, owner: owner, first_name: first_name, last_name: last_name, email: email) end |
#in_progress? ⇒ Boolean
133 134 135 |
# File 'app/models/concerns/effective_events_event_registration.rb', line 133 def in_progress? draft? end |
#to_s ⇒ Object
Instance Methods
129 130 131 |
# File 'app/models/concerns/effective_events_event_registration.rb', line 129 def to_s 'registration' end |