mongoid-auto_increment 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 636e36799b1aba6cca4dde72075867e7fa154b9a
4
- data.tar.gz: 7ba001729ddc015754cb1fea683ecf774e0cc5f9
3
+ metadata.gz: c0b7e383c8705061b3c8aafc71db3db19f401816
4
+ data.tar.gz: 5b04765f996da64537b609f85bcf2eba0b73427e
5
5
  SHA512:
6
- metadata.gz: 4f5fff67deb5e4a6a22d29dfadafd75ef49e9d05bf49b7cb88cd73b5c3616965a342734b1b11839bc6b9ecea0a6e9a2108e36f1f867724d39462555f0eb4961e
7
- data.tar.gz: 6f9ef4e1bb16eaf273c1886f6a955c4b71522b3d5594f7b79d439116554b8da35f35983771dec9b0fec9d55de6d2a24a5a72be29d642ace037483ab899d37e81
6
+ metadata.gz: 3025b1593067b36e42dd013230c3e697b044085c4cdb2e1365c6d3e1f2f7ab4a2fcfc3b8a3e6078e5730054bb241c4e54e73b778abe7bda662d828954a322d38
7
+ data.tar.gz: c8b5ca8e302e715f2ad80765e5bd49bba4276d73a1404c7a1c773414b3e1662e62557dfc78f157af9d6cc200aff6a442cba4d9c0a3a48a3a5611e2f1d55dcc49
@@ -5,12 +5,14 @@ module Mongoid
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
+ class_attribute :auto_increment_value_field
8
9
  class_attribute :auto_increment_class
9
10
  class_attribute :auto_incremented_fields
10
11
  class_attribute :auto_increment_classes
11
12
  class_attribute :auto_increment_collection
12
13
  class_attribute :auto_increment_class_prefix
13
14
 
15
+ self.auto_increment_value_field = 'value'
14
16
  self.auto_increment_class = self
15
17
  self.auto_incremented_fields = []
16
18
  self.auto_increment_classes = []
@@ -27,7 +29,7 @@ module Mongoid
27
29
  end
28
30
 
29
31
  module ClassMethods
30
- def auto_incremented(name)
32
+ def auto_incremented(name, opts = {})
31
33
  if self.auto_increment_class != self
32
34
  self.auto_increment_classes = self.auto_increment_classes + [self]
33
35
  self.auto_incremented_fields = self.auto_incremented_fields.dup
@@ -37,7 +39,7 @@ module Mongoid
37
39
  self.auto_increment_class = self
38
40
  end
39
41
  self.auto_incremented_fields << name
40
- field name, type: Integer
42
+ field name, opts.merge({type: Integer})
41
43
  end
42
44
  end
43
45
 
@@ -49,11 +51,11 @@ module Mongoid
49
51
  result = session.command({
50
52
  findAndModify: self.class.auto_increment_collection,
51
53
  query: {_id: "#{klass.auto_increment_class_prefix}_#{name}"},
52
- update: { '$inc' => { value: 1} },
54
+ update: { '$inc' => { klass.auto_increment_value_field => 1 } },
53
55
  upsert: true,
54
56
  new: true,
55
57
  })
56
- self[name] = result['value']['value']
58
+ self[name] = result['value'][klass.auto_increment_value_field]
57
59
  end
58
60
  end
59
61
  end
@@ -1,6 +1,6 @@
1
1
  module Mongoid
2
2
  module AutoIncrement
3
- VERSION = '1.0.0'
3
+ VERSION = '1.0.1'
4
4
  end
5
5
  end
6
6
 
@@ -2,6 +2,8 @@ class SecondAutoIncrementedModel
2
2
  include Mongoid::Document
3
3
  include Mongoid::AutoIncrement
4
4
 
5
+ self.auto_increment_value_field = 'seq'
6
+
5
7
  auto_incremented :identifier
6
8
  end
7
9
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-auto_increment
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoffroy Planquart
@@ -66,8 +66,8 @@ files:
66
66
  - MIT-LICENSE
67
67
  - Rakefile
68
68
  - test/models/first_auto_incremented_model.rb
69
- - test/models/second_auto_incremented_model.rb
70
69
  - test/models/subclass_model.rb
70
+ - test/models/second_auto_incremented_model.rb
71
71
  - test/mongoid.yml
72
72
  - test/uniqueness_test.rb
73
73
  - test/consistency_test.rb
@@ -99,8 +99,8 @@ specification_version: 4
99
99
  summary: Auto-incremented field for Mongoid
100
100
  test_files:
101
101
  - test/models/first_auto_incremented_model.rb
102
- - test/models/second_auto_incremented_model.rb
103
102
  - test/models/subclass_model.rb
103
+ - test/models/second_auto_incremented_model.rb
104
104
  - test/mongoid.yml
105
105
  - test/uniqueness_test.rb
106
106
  - test/consistency_test.rb