Class: Agreements::Version

Inherits:
ApplicationRecord show all
Defined in:
app/models/agreements/version.rb

Constant Summary collapse

SHA256_PATTERN =
/\A[0-9a-f]{64}\z/i

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.current_for(agreement_key) ⇒ Object



19
20
21
# File 'app/models/agreements/version.rb', line 19

def self.current_for(agreement_key)
  where(agreement_key: agreement_key).order(created_at: :desc, id: :desc).first
end

Instance Method Details

#accepted_by?(subject) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'app/models/agreements/version.rb', line 23

def accepted_by?(subject)
  acceptances.exists?(subject_key: Agreements.identity_key(subject))
end

#deleteObject

Raises:

  • (ActiveRecord::ReadOnlyRecord)


31
32
33
34
35
# File 'app/models/agreements/version.rb', line 31

def delete
  raise ActiveRecord::ReadOnlyRecord, "Agreements::Version is read only" if persisted?

  super
end

#readonly?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/models/agreements/version.rb', line 27

def readonly?
  persisted?
end