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

Instance Method Details

#build_event_registrantsObject

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

Returns:

  • (Boolean)


137
138
139
# File 'app/models/concerns/effective_events_event_registration.rb', line 137

def done?
  
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

Returns:

  • (Boolean)


133
134
135
# File 'app/models/concerns/effective_events_event_registration.rb', line 133

def in_progress?
  draft?
end

#to_sObject

Instance Methods



129
130
131
# File 'app/models/concerns/effective_events_event_registration.rb', line 129

def to_s
  'registration'
end