Class: Unidom::Certificate::Certificating
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Unidom::Certificate::Certificating
- Includes:
- Unidom::Common::Concerns::ModelExtension
- Defined in:
- app/models/unidom/certificate/certificating.rb
Overview
Certificating 是参与者和证书之间的认证关系。
Class Method Summary collapse
Class Method Details
.certificate!(certification: nil, certificated: nil, certificator: nil, opened_at: Time.now) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/models/unidom/certificate/certificating.rb', line 17 def self.certificate!(certification: nil, certificated: nil, certificator: nil, opened_at: Time.now) raise ArgumentError.new('The certification argument is required.') if certification.blank? raise ArgumentError.new('The certificated argument is required.' ) if certificated.blank? raise ArgumentError.new('The opened_at argument is required.' ) if opened_at.blank? attributes = { opened_at: opened_at } if certificator.present? attributes[:certificator] = certificator else attributes[:certificator_id] = Unidom::Common::NULL_UUID attributes[:certificator_type] = '' end self.certification_is(certification).certificated_is(certificated).valid_at(now: opened_at).alive.first_or_create! attributes end |