Module: Occams::Extensions::HasRevisions::ClassMethods

Defined in:
lib/occams/extensions/has_revisions.rb

Instance Method Summary collapse

Instance Method Details

#cms_has_revisions_for(*fields) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/occams/extensions/has_revisions.rb', line 9

def cms_has_revisions_for(*fields)
  include Occams::Extensions::HasRevisions::InstanceMethods

  attr_accessor :revision_data

  has_many :revisions,
           as: :record,
           dependent: :destroy,
           class_name: 'Occams::Cms::Revision'

  before_save :prepare_revision
  after_save  :create_revision

  define_method(:revision_fields) do
    fields.collect(&:to_s)
  end
end