girl_friday 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
data/History.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Changes
2
2
  ================
3
3
 
4
+ 0.9.3
5
+ ---------
6
+
7
+ * Fix runtime error introduced in last release when running in Rails development environment
8
+
4
9
  0.9.2
5
10
  ---------
6
11
 
@@ -1,3 +1,3 @@
1
1
  module GirlFriday
2
- VERSION = "0.9.2"
2
+ VERSION = "0.9.3"
3
3
  end
@@ -39,7 +39,7 @@ module GirlFriday
39
39
 
40
40
  if defined?(Rails) && Rails.env.development?
41
41
  Rails.logger.debug "[girl_friday] Starting in single-threaded mode for Rails autoloading compatibility" if Rails.logger
42
- alias :push_async, :push_immediately
42
+ alias_method :push_async, :push_immediately
43
43
  else
44
44
  def push_async(work, &block)
45
45
  @supervisor << Work[work, block]
@@ -46,4 +46,34 @@ class TestGirlFridayImmediately < MiniTest::Unit::TestCase
46
46
  assert_equal 3, queue.push(:start => 2)
47
47
  assert_equal 3, queue << {:start => 2}
48
48
  end
49
+
50
+ def test_should_process_immediately_when_rails_dev
51
+ # remove WorkQueue definitions first, since #push_async is defined
52
+ # as the class definition is executed, and Rails constant is not defined yet
53
+ [:Queue, :WorkQueue].each {|c| GirlFriday.send(:remove_const, c)}
54
+
55
+ # now top-level Rails constant will exist
56
+ Object.send(:include, RailsEnvironment)
57
+
58
+ # re-load class now that Rails constant is defined
59
+ $".delete_if {|f| f =~ %r{work_queue.rb}}
60
+ require 'girl_friday/work_queue'
61
+
62
+ # verify that we process immediately
63
+ queue = GirlFriday::WorkQueue.new('now') do |msg|
64
+ msg[:start] + 1
65
+ end
66
+ assert_equal 4, queue.push(:start => 3)
67
+ assert_equal 4, queue << {:start => 3}
68
+ end
49
69
  end
70
+
71
+ module RailsEnvironment
72
+ class Rails
73
+ def self.method_missing(m, *args, &block)
74
+ # swallow every call and return self so that WorkQueue
75
+ # thinks Rails dev environment is loaded
76
+ self
77
+ end
78
+ end
79
+ end
metadata CHANGED
@@ -1,50 +1,46 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: girl_friday
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.3
4
5
  prerelease:
5
- version: 0.9.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Mike Perham
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-08-01 00:00:00 -07:00
12
+ date: 2011-08-02 00:00:00.000000000 -07:00
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: sinatra
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2164886320 !ruby/object:Gem::Requirement
20
18
  none: false
21
- requirements:
19
+ requirements:
22
20
  - - ~>
23
- - !ruby/object:Gem::Version
24
- version: "1.0"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.0'
25
23
  type: :development
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
24
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2164886320
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
28
+ requirement: &2164885900 !ruby/object:Gem::Requirement
31
29
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
36
34
  type: :development
37
- version_requirements: *id002
35
+ prerelease: false
36
+ version_requirements: *2164885900
38
37
  description: Background processing, simplified
39
- email:
38
+ email:
40
39
  - mperham@gmail.com
41
40
  executables: []
42
-
43
41
  extensions: []
44
-
45
42
  extra_rdoc_files: []
46
-
47
- files:
43
+ files:
48
44
  - .gitignore
49
45
  - .rvmrc
50
46
  - .travis.yml
@@ -79,32 +75,29 @@ files:
79
75
  has_rdoc: true
80
76
  homepage: http://github.com/mperham/girl_friday
81
77
  licenses: []
82
-
83
78
  post_install_message:
84
79
  rdoc_options: []
85
-
86
- require_paths:
80
+ require_paths:
87
81
  - lib
88
- required_ruby_version: !ruby/object:Gem::Requirement
82
+ required_ruby_version: !ruby/object:Gem::Requirement
89
83
  none: false
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: "0"
94
- required_rubygems_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
89
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: "0"
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
100
94
  requirements: []
101
-
102
95
  rubyforge_project: girl_friday
103
- rubygems_version: 1.5.2
96
+ rubygems_version: 1.6.2
104
97
  signing_key:
105
98
  specification_version: 3
106
99
  summary: Background processing, simplified
107
- test_files:
100
+ test_files:
108
101
  - test/helper.rb
109
102
  - test/test_batch.rb
110
103
  - test/test_girl_friday.rb