backgrounded 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -2,4 +2,4 @@
2
2
  :major: 0
3
3
  :minor: 6
4
4
  :build:
5
- :patch: 1
5
+ :patch: 2
data/backgrounded.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{backgrounded}
8
- s.version = "0.6.1"
8
+ s.version = "0.6.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ryan Sonnek"]
12
- s.date = %q{2010-10-03}
12
+ s.date = %q{2010-10-27}
13
13
  s.email = %q{ryan.sonnek@gmail.com}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE",
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/backgrounded/handler/workling_handler.rb",
31
31
  "test/backgrounded/handler/delayed_job_handler_test.rb",
32
32
  "test/backgrounded/handler/resque_handler_test.rb",
33
+ "test/backgrounded/handler/workling_handler_test.rb",
33
34
  "test/backgrounded_test.rb",
34
35
  "test/database.yml",
35
36
  "test/test_helper.rb"
@@ -42,6 +43,7 @@ Gem::Specification.new do |s|
42
43
  s.test_files = [
43
44
  "test/backgrounded/handler/delayed_job_handler_test.rb",
44
45
  "test/backgrounded/handler/resque_handler_test.rb",
46
+ "test/backgrounded/handler/workling_handler_test.rb",
45
47
  "test/backgrounded_test.rb",
46
48
  "test/test_helper.rb"
47
49
  ]
@@ -11,7 +11,8 @@ module Backgrounded
11
11
  end
12
12
  end
13
13
  cattr_accessor :backgrounded_options
14
- self.backgrounded_options = methods_with_options
14
+ self.backgrounded_options ||= {}
15
+ self.backgrounded_options.merge! methods_with_options
15
16
  end
16
17
  end
17
18
  end
@@ -19,14 +19,15 @@ ActiveRecord::Schema.define(:version => 1) do
19
19
  end
20
20
  end
21
21
 
22
- class User < ActiveRecord::Base
23
- backgrounded :do_stuff
22
+ class DelayedJobHandlerTest < Test::Unit::TestCase
23
+
24
+ class User < ActiveRecord::Base
25
+ backgrounded :do_stuff
24
26
 
25
- def do_stuff
27
+ def do_stuff
28
+ end
26
29
  end
27
- end
28
30
 
29
- class DelayedJobHandlerTest < Test::Unit::TestCase
30
31
  context 'when backgrounded is configured with delayed_job' do
31
32
  setup do
32
33
  Delayed::Worker.backend = :active_record
@@ -34,20 +35,22 @@ class DelayedJobHandlerTest < Test::Unit::TestCase
34
35
  Backgrounded.handler = @handler
35
36
  end
36
37
 
37
- context 'a persisted object with a single backgrounded method' do
38
- setup do
39
- @user = User.create
40
- end
41
- context "invoking backgrounded method" do
42
- setup do
43
- @user.do_stuff_backgrounded
44
- end
45
- should_create Delayed::Job
46
- should 'create delayed job' do
47
- job = Delayed::Job.last
48
- puts job.inspect
49
- end
50
- end
38
+ should 'be configured' do
39
+ fail 'delayed job not recognizing activerecord config'
51
40
  end
41
+ # context 'a persisted object with a single backgrounded method' do
42
+ # setup do
43
+ # @user = User.create
44
+ # end
45
+ # context "invoking backgrounded method" do
46
+ # setup do
47
+ # @user.do_stuff_backgrounded
48
+ # end
49
+ # should_create Delayed::Job
50
+ # should 'create delayed job' do
51
+ # job = Delayed::Job.last
52
+ # end
53
+ # end
54
+ # end
52
55
  end
53
56
  end
@@ -11,21 +11,21 @@ ActiveRecord::Schema.define(:version => 1) do
11
11
  end
12
12
  end
13
13
 
14
- class User < ActiveRecord::Base
15
- backgrounded :do_stuff
14
+ class ResqueHandlerTest < Test::Unit::TestCase
15
+ class User < ActiveRecord::Base
16
+ backgrounded :do_stuff
16
17
 
17
- def do_stuff
18
+ def do_stuff
19
+ end
18
20
  end
19
- end
20
21
 
21
- class Post < ActiveRecord::Base
22
- backgrounded :do_stuff => {:queue => 'important'}
22
+ class Post < ActiveRecord::Base
23
+ backgrounded :do_stuff => {:queue => 'important'}
23
24
 
24
- def do_stuff
25
+ def do_stuff
26
+ end
25
27
  end
26
- end
27
28
 
28
- class ResqueHandlerTest < Test::Unit::TestCase
29
29
  context 'when backgrounded is configured with resque' do
30
30
  setup do
31
31
  Resque.reset!
@@ -0,0 +1,48 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+ RAILS_DEFAULT_LOGGER = Logger.new 'foo'
3
+ RAILS_ENV = 'test'
4
+ require 'newrelic_rpm'
5
+ require 'memcache'
6
+ require File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'socialcast', 'vendor', 'plugins', 'workling', 'lib', 'workling')
7
+ require File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'socialcast', 'vendor', 'plugins', 'workling', 'lib', 'workling', 'base')
8
+ require File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'socialcast', 'vendor', 'plugins', 'workling', 'lib', 'workling', 'discovery')
9
+ require File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'socialcast', 'vendor', 'plugins', 'workling', 'lib', 'workling', 'routing', 'class_and_method_routing')
10
+ require File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'socialcast', 'vendor', 'plugins', 'workling', 'lib', 'workling', 'remote', 'invokers', 'threaded_poller')
11
+ require File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'socialcast', 'vendor', 'plugins', 'workling', 'lib', 'workling', 'remote')
12
+ require 'backgrounded/handler/workling_handler'
13
+
14
+ ActiveRecord::Schema.define(:version => 1) do
15
+ create_table :users, :force => true do |t|
16
+ t.column :name, :string
17
+ end
18
+ end
19
+
20
+ class WorklingHandlerTest < Test::Unit::TestCase
21
+
22
+ class User < ActiveRecord::Base
23
+ backgrounded :do_stuff
24
+
25
+ def do_stuff
26
+ end
27
+ end
28
+
29
+ context 'when backgrounded is configured with workling' do
30
+ setup do
31
+ @handler = Backgrounded::Handler::WorklingHandler.new
32
+ Backgrounded.handler = @handler
33
+ end
34
+
35
+ context 'a persisted object with a single backgrounded method' do
36
+ setup do
37
+ @user = User.create
38
+ end
39
+ context "invoking backgrounded method" do
40
+ setup do
41
+ User.any_instance.expects(:do_stuff).with('a string')
42
+ @user.do_stuff_backgrounded 'a string'
43
+ end
44
+ should 'dispatch through workling back to the object' do end #see expectations
45
+ end
46
+ end
47
+ end
48
+ end
@@ -1,43 +1,55 @@
1
1
  require File.join(File.dirname(__FILE__), 'test_helper')
2
2
 
3
- class User
4
- backgrounded :do_stuff
3
+ class BackgroundedTest < Test::Unit::TestCase
4
+
5
+ class User
6
+ backgrounded :do_stuff
5
7
 
6
- def do_stuff
8
+ def do_stuff
9
+ end
7
10
  end
8
- end
9
11
 
10
- class Person
11
- backgrounded :do_stuff
12
+ class Person
13
+ backgrounded :do_stuff
12
14
 
13
- def do_stuff(name, place, location)
15
+ def do_stuff(name, place, location)
16
+ end
14
17
  end
15
- end
16
18
 
17
- class Post
18
- backgrounded :do_stuff, :notify_users
19
+ class Post
20
+ backgrounded :do_stuff, :notify_users
19
21
 
20
- def do_stuff
22
+ def do_stuff
23
+ end
24
+ def notify_users
25
+ end
21
26
  end
22
- def notify_users
27
+
28
+ class Comment
29
+ backgrounded :delete_spam!
30
+
31
+ def delete_spam!
32
+ end
23
33
  end
24
- end
25
34
 
26
- class Comment
27
- backgrounded :delete_spam!
28
-
29
- def delete_spam!
35
+ class Dog
36
+ backgrounded :bark => {:priority => :low}
37
+
38
+ def bark
39
+ end
30
40
  end
31
- end
32
41
 
33
- class Dog
34
- backgrounded :bark => {:priority => :low}
42
+ class Entry
43
+ backgrounded :do_stuff
44
+ backgrounded :notify_users
35
45
 
36
- def bark
46
+ def do_stuff
47
+ end
48
+ def notify_users
49
+ end
37
50
  end
38
- end
39
51
 
40
- class BackgroundedTest < Test::Unit::TestCase
52
+
41
53
  context 'an object with a single backgrounded method' do
42
54
  setup do
43
55
  @user = User.new
@@ -80,6 +92,16 @@ class BackgroundedTest < Test::Unit::TestCase
80
92
  end
81
93
  end
82
94
 
95
+ context 'an object with multiple backgrounded invokations' do
96
+ setup do
97
+ @post = Entry.new
98
+ end
99
+ should "setup options for both methods" do
100
+ assert_not_nil Entry.backgrounded_options[:do_stuff]
101
+ assert_not_nil Entry.backgrounded_options[:notify_users]
102
+ end
103
+ end
104
+
83
105
  context 'an object with backgrounded method options' do
84
106
  setup do
85
107
  @dog = Dog.new
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backgrounded
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
4
+ hash: 3
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 1
10
- version: 0.6.1
9
+ - 2
10
+ version: 0.6.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Sonnek
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-03 00:00:00 -05:00
18
+ date: 2010-10-27 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -102,6 +102,7 @@ files:
102
102
  - lib/backgrounded/handler/workling_handler.rb
103
103
  - test/backgrounded/handler/delayed_job_handler_test.rb
104
104
  - test/backgrounded/handler/resque_handler_test.rb
105
+ - test/backgrounded/handler/workling_handler_test.rb
105
106
  - test/backgrounded_test.rb
106
107
  - test/database.yml
107
108
  - test/test_helper.rb
@@ -142,5 +143,6 @@ summary: Simple API to run Model methods in the background
142
143
  test_files:
143
144
  - test/backgrounded/handler/delayed_job_handler_test.rb
144
145
  - test/backgrounded/handler/resque_handler_test.rb
146
+ - test/backgrounded/handler/workling_handler_test.rb
145
147
  - test/backgrounded_test.rb
146
148
  - test/test_helper.rb