Module: ActiveRecord::Temporal::ApplicationVersioning::ApplicationVersioned
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/activerecord/temporal/application_versioning/application_versioned.rb
Defined Under Namespace
Classes: Original, Revision
Instance Method Summary
collapse
Instance Method Details
#after_initialize_revision(old_revision) ⇒ Object
82
83
84
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 82
def after_initialize_revision(old_revision)
self.version = old_revision.version + 1
end
|
#head_revision? ⇒ Boolean
86
87
88
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 86
def head_revision?
time_dimension && !time_dimension_end
end
|
#inactivate ⇒ Object
110
111
112
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 110
def inactivate
inactivate_at(scope_time || Time.current)
end
|
#inactivate_at(time) ⇒ Object
114
115
116
117
118
119
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 114
def inactivate_at(time)
raise ClosedRevisionError, "Cannot inactivate closed version" unless head_revision?
set_time_dimension_end(time)
save
end
|
#revise ⇒ Object
90
91
92
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 90
def revise
revise_at(scope_time || Time.current)
end
|
#revise_at(time) ⇒ Object
94
95
96
97
98
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 94
def revise_at(time)
raise ClosedRevisionError, "Cannot revise closed version" unless head_revision?
Revision.new(self, time, save: true)
end
|
#revision ⇒ Object
100
101
102
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 100
def revision
revision_at(scope_time || Time.current)
end
|
#revision_at(time) ⇒ Object
104
105
106
107
108
|
# File 'lib/activerecord/temporal/application_versioning/application_versioned.rb', line 104
def revision_at(time)
raise ClosedRevisionError, "Cannot revise closed version" unless head_revision?
Revision.new(self, time, save: false)
end
|