mongoid-semaphore 0.0.4 → 0.0.5
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 +1 -1
- data/lib/mongoid/semaphore/class_methods.rb +15 -0
- data/lib/mongoid/semaphore.rb +3 -10
- data/mongoid-semaphore.gemspec +2 -1
- metadata +13 -12
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Mongoid
|
2
|
+
module Semaphore
|
3
|
+
module ClassMethods
|
4
|
+
# => Default Definition for semaphore value
|
5
|
+
def __semaphore_attrs; @_semattr ||= {:count => 1}; end
|
6
|
+
def __semaphore_initial_count; __semaphore_attrs[:count]; end
|
7
|
+
# => Helper method for class to override default count
|
8
|
+
def default_sema_count(count)
|
9
|
+
count = count.to_i
|
10
|
+
__semaphore_attrs[:count] = count
|
11
|
+
return
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/mongoid/semaphore.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'mongoid'
|
2
|
+
require 'mongoid/semaphore/class_methods'
|
3
|
+
require 'mongoid/semaphore/sync_methods'
|
2
4
|
|
3
5
|
module Mongoid
|
4
6
|
module Semaphore
|
@@ -37,15 +39,7 @@ module Mongoid
|
|
37
39
|
unless base.included_modules.include?(Mongoid::Document)
|
38
40
|
include Mongoid::Document
|
39
41
|
end
|
40
|
-
|
41
|
-
def __semaphore_attrs; @_semattr ||= {:count => 1}; end
|
42
|
-
def __semaphore_initial_count; __semaphore_attrs[:count]; end
|
43
|
-
# => Helper method for class to override default count
|
44
|
-
def default_sema_count(count)
|
45
|
-
count = count.to_i
|
46
|
-
__semaphore_attrs[:count] = count
|
47
|
-
return
|
48
|
-
end
|
42
|
+
base.extend(Mongoid::Semaphore::ClassMethods)
|
49
43
|
# => Semaphore Counter
|
50
44
|
field :sema_count, :type => Integer, :default => lambda { __semaphore_initial_count }
|
51
45
|
# => Semaphore is currently held by "<hostname>:<pid>" || nil
|
@@ -55,4 +49,3 @@ module Mongoid
|
|
55
49
|
end
|
56
50
|
end
|
57
51
|
|
58
|
-
require 'mongoid/semaphore/sync_methods'
|
data/mongoid-semaphore.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "mongoid-semaphore"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.5"
|
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"]
|
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
"VERSION",
|
26
26
|
"lib/mongoid-semaphore.rb",
|
27
27
|
"lib/mongoid/semaphore.rb",
|
28
|
+
"lib/mongoid/semaphore/class_methods.rb",
|
28
29
|
"lib/mongoid/semaphore/sync_methods.rb",
|
29
30
|
"mongoid-semaphore.gemspec",
|
30
31
|
"test/helper.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-semaphore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
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: &
|
16
|
+
requirement: &18269920 !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: *
|
24
|
+
version_requirements: *18269920
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: shoulda
|
27
|
-
requirement: &
|
27
|
+
requirement: &18269020 !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: *
|
35
|
+
version_requirements: *18269020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &18268040 !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: *
|
46
|
+
version_requirements: *18268040
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &18267100 !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: *
|
57
|
+
version_requirements: *18267100
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rcov
|
60
|
-
requirement: &
|
60
|
+
requirement: &18266540 !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: *
|
68
|
+
version_requirements: *18266540
|
69
69
|
description: Adds Semaphore-like behaviors to a Mongoid::Document instance
|
70
70
|
email: jp@jibe.com
|
71
71
|
executables: []
|
@@ -82,6 +82,7 @@ files:
|
|
82
82
|
- VERSION
|
83
83
|
- lib/mongoid-semaphore.rb
|
84
84
|
- lib/mongoid/semaphore.rb
|
85
|
+
- lib/mongoid/semaphore/class_methods.rb
|
85
86
|
- lib/mongoid/semaphore/sync_methods.rb
|
86
87
|
- mongoid-semaphore.gemspec
|
87
88
|
- test/helper.rb
|
@@ -101,7 +102,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
101
102
|
version: '0'
|
102
103
|
segments:
|
103
104
|
- 0
|
104
|
-
hash: -
|
105
|
+
hash: -2512375046165772832
|
105
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
107
|
none: false
|
107
108
|
requirements:
|