Module: ControllableVersioning::InstanceMethods

Included in:
ControllableVersioning
Defined in:
lib/controllable_versioning/instance_methods.rb

Instance Method Summary collapse

Instance Method Details

#restore_version!(version) ⇒ Object



13
14
15
# File 'lib/controllable_versioning/instance_methods.rb', line 13

def restore_version!(version)
  self.update!(restore_attrs(version))
end

#version!(dynamic_attr = {}) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/controllable_versioning/instance_methods.rb', line 4

def version!(dynamic_attr={})
  ActiveRecord::Base.transaction do
    self.save!
    attr = versioned_attrs
    attr.merge! dynamic_attr
    self.class.target_model.create!(attr)
  end
end

#versionsObject



17
18
19
# File 'lib/controllable_versioning/instance_methods.rb', line 17

def versions
  self.class.target_model.where({originated_model_id: self.id, originated_model_name: self.class.name})
end