Module: ContentBlock::Versionable

Extended by:
ActiveSupport::Concern
Included in:
ContentBlock
Defined in:
app/models/concerns/content_block/versionable.rb

Overview

rubocop:disable Style/ClassAndModuleChildren

Instance Method Summary collapse

Instance Method Details

#current_version_numberObject



32
33
34
# File 'app/models/concerns/content_block/versionable.rb', line 32

def current_version_number
  versions.maximum(:version_number) || 0
end

#rollback_to_version!(version, user: nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/models/concerns/content_block/versionable.rb', line 15

def rollback_to_version!(version, user: nil)
  transaction do
    self._rollback_in_progress = true
    assign_attributes(
      title: version.title,
      content: version.content,
      content_type: version.content_type,
      published: version.published
    )
    restore_rich_content(version) if version.rich_content_html.present?
    self.updated_by = user if user
    save!
  end
ensure
  self._rollback_in_progress = false
end