mongoid-lock 0.0.6 → 0.0.7

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.6
1
+ 0.0.7
@@ -20,6 +20,12 @@ module Mongoid
20
20
  self.reload
21
21
  return super
22
22
  end
23
+
24
+ def lock_acquired_at
25
+ self.save
26
+ self.reload
27
+ return super
28
+ end
23
29
  #------------------------------------------------------------------------------
24
30
  # => Module inclusion hook
25
31
  #------------------------------------------------------------------------------
@@ -32,6 +38,8 @@ module Mongoid
32
38
  end
33
39
  # => Add special field
34
40
  field :lock_used_by, :type => String, :default => nil
41
+ field :lock_acquired_at, :type => Time, :default => nil
42
+ index [[:lock_acquired_at, -1]], :sparse => true
35
43
  end
36
44
  end
37
45
  end
@@ -8,7 +8,7 @@ module Mongoid
8
8
  end
9
9
 
10
10
  def reset_lock!
11
- self.set(:lock_used_by, nil)
11
+ self.update_attributes(:lock_used_by => nil, :lock_acquired_at => nil)
12
12
  end
13
13
 
14
14
  def lock_acquire
@@ -18,6 +18,7 @@ module Mongoid
18
18
  raise Mongoid::Lock::UnsynchronizedAccess.new(ident)
19
19
  else
20
20
  self.set(:lock_used_by, local)
21
+ self.update_attributes(:lock_used_by => local, :lock_acquired_at => Time.now)
21
22
  end
22
23
  end
23
24
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "mongoid-lock"
8
- s.version = "0.0.6"
8
+ s.version = "0.0.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["James Petty"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-lock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-03-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongoid
16
- requirement: &8385920 !ruby/object:Gem::Requirement
16
+ requirement: &4635000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *8385920
24
+ version_requirements: *4635000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: shoulda
27
- requirement: &8410700 !ruby/object:Gem::Requirement
27
+ requirement: &4633160 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *8410700
35
+ version_requirements: *4633160
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &8417040 !ruby/object:Gem::Requirement
38
+ requirement: &4594820 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *8417040
46
+ version_requirements: *4594820
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &8414280 !ruby/object:Gem::Requirement
49
+ requirement: &4591660 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.6.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *8414280
57
+ version_requirements: *4591660
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rcov
60
- requirement: &8412420 !ruby/object:Gem::Requirement
60
+ requirement: &4588540 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *8412420
68
+ version_requirements: *4588540
69
69
  description: Adds synchronized lock-like behavior to a mongoid model instance
70
70
  email: jp@jibe.com
71
71
  executables: []
@@ -101,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  segments:
103
103
  - 0
104
- hash: -4417519339963061204
104
+ hash: -469860734459383897
105
105
  required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements: