mega_mutex 0.2.1 → 0.3.0

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/History.txt ADDED
@@ -0,0 +1,4 @@
1
+ == 0.3.0
2
+
3
+ Bugfixes:
4
+ * #with_distributed_mutex was not returning the result of the block
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
@@ -26,8 +26,9 @@ module MegaMutex
26
26
  log "Attempting to lock mutex..."
27
27
  lock!
28
28
  log "Locked. Running critical section..."
29
- yield
29
+ result = yield
30
30
  log "Critical section complete. Unlocking..."
31
+ result
31
32
  ensure
32
33
  unlock!
33
34
  log "Unlocking Mutex."
data/mega_mutex.gemspec CHANGED
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mega_mutex}
8
- s.version = "0.2.1"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matt Johnson", "Matt Wynne"]
12
- s.date = %q{2010-02-07}
12
+ s.date = %q{2010-02-16}
13
13
  s.description = %q{Distributed mutex for Ruby}
14
14
  s.email = %q{developers@songkick.com}
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.files = [
20
20
  ".document",
21
21
  ".gitignore",
22
+ "History.txt",
22
23
  "LICENSE",
23
24
  "README.markdown",
24
25
  "Rakefile",
@@ -35,8 +36,8 @@ Gem::Specification.new do |s|
35
36
  s.rubygems_version = %q{1.3.5}
36
37
  s.summary = %q{Distributed mutex for Ruby}
37
38
  s.test_files = [
38
- "spec/lib/mega_mutex_spec.rb",
39
- "spec/spec_helper.rb"
39
+ "spec/spec_helper.rb",
40
+ "spec/lib/mega_mutex_spec.rb"
40
41
  ]
41
42
 
42
43
  if s.respond_to? :specification_version then
@@ -55,3 +56,4 @@ Gem::Specification.new do |s|
55
56
  s.add_dependency(%q<logging>, [">= 1.1.4"])
56
57
  end
57
58
  end
59
+
@@ -2,12 +2,21 @@ require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
3
  module MegaMutex
4
4
  describe MegaMutex do
5
+ include MegaMutex
6
+
5
7
  def logger
6
8
  Logging::Logger['Specs']
7
9
  end
8
10
 
9
11
  abort_on_thread_exceptions
10
12
 
13
+ describe "#with_distributed_mutex" do
14
+ it "returns the value returned by the block" do
15
+ result = with_distributed_mutex(nil) { 12345 }
16
+ result.should == 12345
17
+ end
18
+ end
19
+
11
20
  describe "two blocks, one fast, one slow" do
12
21
  before(:each) do
13
22
  @errors = []
@@ -37,8 +46,6 @@ module MegaMutex
37
46
  'tests-mutex-key'
38
47
  end
39
48
 
40
- include MegaMutex
41
-
42
49
  [2, 20].each do |n|
43
50
  describe "when #{n} blocks try to run at the same instant in the same process" do
44
51
  it "should run each in turn" do
@@ -99,7 +106,6 @@ module MegaMutex
99
106
  end
100
107
 
101
108
  describe "with a timeout" do
102
- include MegaMutex
103
109
 
104
110
  it "should raise an error if the code blocks for longer than the timeout" do
105
111
  @exception = nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mega_mutex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Johnson
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2010-02-07 00:00:00 +00:00
13
+ date: 2010-02-16 00:00:00 +00:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -45,6 +45,7 @@ extra_rdoc_files:
45
45
  files:
46
46
  - .document
47
47
  - .gitignore
48
+ - History.txt
48
49
  - LICENSE
49
50
  - README.markdown
50
51
  - Rakefile
@@ -83,5 +84,5 @@ signing_key:
83
84
  specification_version: 3
84
85
  summary: Distributed mutex for Ruby
85
86
  test_files:
86
- - spec/lib/mega_mutex_spec.rb
87
87
  - spec/spec_helper.rb
88
+ - spec/lib/mega_mutex_spec.rb