Class: ExamRegistration

Inherits:
ApplicationRecord show all
Includes:
WithTimedEnablement
Defined in:
app/models/exam_registration.rb

Defined Under Namespace

Classes: AuthorizationCriterion

Instance Method Summary collapse

Methods included from WithTimedEnablement

#enabled?, #enabled_range

Methods inherited from ApplicationRecord

aggregate_of, all_except, defaults, #delete, #destroy!, numbered, organic_on, resource_fields, #save, #save_and_notify!, #save_and_notify_changes!, serialize_symbolized_hash_array, teaser_on, #update_and_notify!, update_or_create!, whitelist_attributes

Instance Method Details

#authorization_criterionObject



14
15
16
# File 'app/models/exam_registration.rb', line 14

def authorization_criterion
  @authorization_criterion ||= ExamRegistration::AuthorizationCriterion.parse(authorization_criterion_type, authorization_criterion_value)
end

#ensure_valid_authorization_criterion!Object



18
19
20
# File 'app/models/exam_registration.rb', line 18

def ensure_valid_authorization_criterion!
  authorization_criterion.ensure_valid!
end

#process_requests!Object



26
27
28
29
30
31
# File 'app/models/exam_registration.rb', line 26

def process_requests!
  authorization_requests.each do |it|
    process_request! it
    it.try_authorize!
  end
end

#start!(users) ⇒ Object



22
23
24
# File 'app/models/exam_registration.rb', line 22

def start!(users)
  users.each &method(:notify_user!)
end