freerange_acts_as_versioned 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +3 -6
- data/acts_as_versioned.gemspec +3 -3
- data/lib/acts_as_versioned.rb +13 -2
- metadata +5 -5
data/README
CHANGED
|
@@ -10,15 +10,12 @@ Install
|
|
|
10
10
|
|
|
11
11
|
<3 GitHub
|
|
12
12
|
|
|
13
|
-
* http://github.com/
|
|
13
|
+
* http://github.com/abdulrauf/acts_as_versioned
|
|
14
14
|
|
|
15
15
|
Gemcutter FTW
|
|
16
16
|
|
|
17
|
-
* http://gemcutter.org/gems/
|
|
17
|
+
* http://gemcutter.org/gems/freerange_acts_as_versioned
|
|
18
18
|
|
|
19
|
-
Subversion
|
|
20
19
|
|
|
21
|
-
* http://svn.github.com/technoweenie/acts_as_versioned.git
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
was the first project to use acts_as_versioned <em>in the wild</em>.
|
|
21
|
+
Add simple versioning to ActiveRecord models. This version supports rails ~>3.1.1. Also it have support for autosave. It introduces new method auto_save_version which keeps 1 autosave version for an object.
|
data/acts_as_versioned.gemspec
CHANGED
|
@@ -13,13 +13,13 @@ Gem::Specification.new do |s|
|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
|
14
14
|
## the sub! line in the Rakefile
|
|
15
15
|
s.name = 'freerange_acts_as_versioned'
|
|
16
|
-
s.version = '0.8.
|
|
17
|
-
s.date = '2012-04-
|
|
16
|
+
s.version = '0.8.1'
|
|
17
|
+
s.date = '2012-04-24'
|
|
18
18
|
s.rubyforge_project = 'freerange_acts_as_versioned'
|
|
19
19
|
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
|
21
21
|
## as you like.
|
|
22
|
-
s.summary = "Add simple versioning to ActiveRecord models. This version supports rails 3.1.1"
|
|
22
|
+
s.summary = "Add simple versioning to ActiveRecord models. This version supports rails 3.1.1. Also it have support for autosave. It introduces new method auto_save_version which keeps 1 autosave version for an object."
|
|
23
23
|
s.description = "Add simple versioning to ActiveRecord models. rails 3.1.1"
|
|
24
24
|
|
|
25
25
|
## List the primary authors. If there are a bunch of authors, it's probably
|
data/lib/acts_as_versioned.rb
CHANGED
|
@@ -67,7 +67,7 @@ module ActiveRecord #:nodoc:
|
|
|
67
67
|
#
|
|
68
68
|
# See ActiveRecord::Acts::Versioned::ClassMethods#acts_as_versioned for configuration options
|
|
69
69
|
module Versioned
|
|
70
|
-
VERSION = "0.
|
|
70
|
+
VERSION = "0.8.1"
|
|
71
71
|
CALLBACKS = [:set_new_version, :save_version, :save_version?]
|
|
72
72
|
|
|
73
73
|
# == Configuration options
|
|
@@ -290,7 +290,9 @@ module ActiveRecord #:nodoc:
|
|
|
290
290
|
rev.send("#{self.class.version_column}=", send(self.class.version_column))
|
|
291
291
|
rev.send("#{self.class.versioned_foreign_key}=", id)
|
|
292
292
|
rev.send("autosave=", true)
|
|
293
|
-
rev.save
|
|
293
|
+
saving_status = rev.save
|
|
294
|
+
clear_old_auto_save_versions
|
|
295
|
+
saving_status
|
|
294
296
|
end
|
|
295
297
|
end
|
|
296
298
|
|
|
@@ -303,6 +305,15 @@ module ActiveRecord #:nodoc:
|
|
|
303
305
|
self.class.versioned_class.delete_all ["#{self.class.version_column} <= ? and #{self.class.versioned_foreign_key} = ?", excess_baggage, id]
|
|
304
306
|
end
|
|
305
307
|
end
|
|
308
|
+
|
|
309
|
+
# Clears old revisions if a limit is set with the :limit option in <tt>acts_as_versioned</tt>.
|
|
310
|
+
# Override this method to set your own criteria for clearing old versions.
|
|
311
|
+
def clear_old_auto_save_versions
|
|
312
|
+
excess_baggage = self.class.versioned_class.where(["autosave = ? and #{self.class.versioned_foreign_key} = ?", true,id]).order("updated_at desc").all
|
|
313
|
+
if excess_baggage.length > 1
|
|
314
|
+
excess_baggage.last.destroy
|
|
315
|
+
end
|
|
316
|
+
end
|
|
306
317
|
|
|
307
318
|
# Reverts a model to a given version. Takes either a version number or an instance of the versioned model
|
|
308
319
|
def revert_to(version)
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: freerange_acts_as_versioned
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 61
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 8
|
|
9
|
-
-
|
|
10
|
-
version: 0.8.
|
|
9
|
+
- 1
|
|
10
|
+
version: 0.8.1
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Abdul Rauf
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2012-04-
|
|
18
|
+
date: 2012-04-24 00:00:00 +09:30
|
|
19
19
|
default_executable:
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
@@ -119,6 +119,6 @@ rubyforge_project: freerange_acts_as_versioned
|
|
|
119
119
|
rubygems_version: 1.3.7
|
|
120
120
|
signing_key:
|
|
121
121
|
specification_version: 2
|
|
122
|
-
summary: Add simple versioning to ActiveRecord models. This version supports rails 3.1.1
|
|
122
|
+
summary: Add simple versioning to ActiveRecord models. This version supports rails 3.1.1. Also it have support for autosave. It introduces new method auto_save_version which keeps 1 autosave version for an object.
|
|
123
123
|
test_files: []
|
|
124
124
|
|