このコミットが含まれているのは:
@@ -1,20 +1,23 @@
|
||||
class MaterialVersionRecorder < VersionRecorder
|
||||
EVENT_TYPES = ['create', 'update', 'discard', 'restore'].freeze
|
||||
|
||||
def self.record! material:, event_type:, created_by_user:, file_snapshot: nil
|
||||
new(material:, event_type:, created_by_user:, file_snapshot:).record!
|
||||
def self.record! material:, event_type:, event:, created_by_user:, file_snapshot: nil
|
||||
new(material:, event_type:, event:, created_by_user:, file_snapshot:).record!
|
||||
end
|
||||
|
||||
def initialize material:, event_type:, created_by_user:, file_snapshot: nil
|
||||
def initialize material:, event_type:, event:, created_by_user:, file_snapshot: nil
|
||||
@file_snapshot = file_snapshot
|
||||
|
||||
super(record: material, event_type:, created_by_user:)
|
||||
super(record: material, event_type:, event:, created_by_user:)
|
||||
end
|
||||
|
||||
def self.ensure_snapshot! material, created_by_user:
|
||||
return if material.material_versions.exists?
|
||||
|
||||
record!(material:, event_type: :create,
|
||||
event = Event.create!(event_type: 'materials.create',
|
||||
created_by_user:,
|
||||
created_at: material.created_at)
|
||||
record!(material:, event_type: :create, event:,
|
||||
created_by_user: material.created_by_user || created_by_user)
|
||||
end
|
||||
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする