Module: Versions::Destroy::Version

Defined in:
lib/versions/destroy.rb

Overview

This module should be included in the model that serves as version.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/versions/destroy.rb', line 8

def self.included(base)

  base.class_eval do
    attr_accessor :__destroy
    belongs_to :node
    before_create :setup_version_on_create
    attr_protected :number, :user_id

    alias_method_chain :save, :destroy
  end
end

Instance Method Details

#save_with_destroy(*args) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/versions/destroy.rb', line 20

def save_with_destroy(*args)
  if @__destroy
    node = self.node
    if destroy
      # reset @version
      node.send(:version_destroyed)
      true
    end
  else
    save_without_destroy(*args)
  end
end