mongo_mapper_versioned 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@
2
2
  module MongoMapper
3
3
  module Plugins
4
4
  module Versioned
5
- Version = '0.1.7'
5
+ Version = '0.1.8'
6
6
  end
7
7
  end
8
8
  end
@@ -10,8 +10,8 @@ module MongoMapper
10
10
  key :version_number, Integer, :default => 0, :index => true
11
11
  many :versions, :class => MongoMapper::Plugins::Versioned::Version, :foreign_key => :versioned_id, :dependent => :destroy, :order => :version_number.asc
12
12
 
13
- after_create :create_version
14
- before_update :create_version, :if => Proc.new{ |doc| doc.should_create_version? }
13
+ after_create :create_version, :if => :should_create_initial_version?
14
+ before_update :create_version, :if => :should_create_version?
15
15
 
16
16
  define_method "ignored_keys" do
17
17
  configuration[:ignored_keys]
@@ -48,6 +48,10 @@ module MongoMapper
48
48
  def version_at(target_version_number)
49
49
  versions.where(:version_number => target_version_number).first
50
50
  end
51
+
52
+ def should_create_initial_version?
53
+ versions.empty?
54
+ end
51
55
 
52
56
  # this method might be overwritten
53
57
  # by something more sophisticated (esp. in case of EmbeddedDocuments)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo_mapper_versioned
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 7
10
- version: 0.1.7
9
+ - 8
10
+ version: 0.1.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tomas Celizna