tower 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -0
- data/Gemfile.lock +65 -0
- data/README.rdoc +1 -11
- data/VERSION +1 -1
- data/examples/delayed_job/.gitignore +4 -0
- data/examples/delayed_job/Gemfile +33 -0
- data/examples/delayed_job/README +256 -0
- data/examples/delayed_job/Rakefile +7 -0
- data/examples/delayed_job/app/controllers/application_controller.rb +3 -0
- data/examples/delayed_job/app/helpers/application_helper.rb +2 -0
- data/examples/delayed_job/app/views/layouts/application.html.erb +14 -0
- data/examples/delayed_job/config/application.rb +42 -0
- data/examples/delayed_job/config/boot.rb +6 -0
- data/examples/delayed_job/config/database.yml +22 -0
- data/examples/delayed_job/config/environment.rb +5 -0
- data/examples/delayed_job/config/environments/development.rb +26 -0
- data/examples/delayed_job/config/environments/production.rb +49 -0
- data/examples/delayed_job/config/environments/test.rb +35 -0
- data/examples/delayed_job/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/delayed_job/config/initializers/inflections.rb +10 -0
- data/examples/delayed_job/config/initializers/mime_types.rb +5 -0
- data/examples/delayed_job/config/initializers/secret_token.rb +7 -0
- data/examples/delayed_job/config/initializers/session_store.rb +8 -0
- data/examples/delayed_job/config/locales/en.yml +5 -0
- data/examples/delayed_job/config/routes.rb +58 -0
- data/examples/delayed_job/config.ru +4 -0
- data/examples/delayed_job/db/seeds.rb +7 -0
- data/examples/delayed_job/lib/tasks/.gitkeep +0 -0
- data/examples/delayed_job/public/404.html +26 -0
- data/examples/delayed_job/public/422.html +26 -0
- data/examples/delayed_job/public/500.html +26 -0
- data/examples/delayed_job/public/favicon.ico +0 -0
- data/examples/delayed_job/public/images/rails.png +0 -0
- data/examples/delayed_job/public/index.html +239 -0
- data/examples/delayed_job/public/javascripts/.gitkeep +0 -0
- data/examples/delayed_job/public/javascripts/application.js +0 -0
- data/examples/delayed_job/public/robots.txt +5 -0
- data/examples/delayed_job/public/stylesheets/.gitkeep +0 -0
- data/examples/delayed_job/script/rails +6 -0
- data/examples/delayed_job/vendor/plugins/.gitkeep +0 -0
- data/lib/tower/engine.rb +1 -1
- data/lib/tower/enqueue.rb +21 -0
- data/lib/tower/queue/with_delayed_job.rb +6 -0
- data/lib/tower/queue.rb +55 -0
- data/lib/tower/service.rb +2 -1
- data/lib/tower.rb +6 -1
- data/spec/tower/engine_spec.rb +5 -0
- data/spec/tower/queue/with_delayed_job_spec.rb +52 -0
- data/spec/tower/queue_spec.rb +62 -0
- data/spec/tower/service_spec.rb +40 -0
- data/spec/tower_spec.rb +2 -4
- data/tower.gemspec +48 -2
- metadata +65 -11
@@ -0,0 +1,62 @@
|
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
|
3
|
+
describe Tower::Queue do
|
4
|
+
|
5
|
+
subject { Tower::Queue }
|
6
|
+
|
7
|
+
describe 'initialize' do
|
8
|
+
|
9
|
+
it 'should raise LoadError if delayed_job is missing' do
|
10
|
+
lambda { subject.send :new }.should raise_error(LoadError)
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'with Delayed::Job' do
|
14
|
+
before do
|
15
|
+
module Delayed; end
|
16
|
+
class Delayed::Job; end
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should not raise LoadError if Delayed::Job exists' do
|
20
|
+
lambda { subject.send :new }.should_not raise_error(LoadError)
|
21
|
+
end
|
22
|
+
it 'should extend instance with Tower::Queue::WithDelayedJob' do
|
23
|
+
subject.send(:new).should be_kind_of(Tower::Queue::WithDelayedJob)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '.current' do
|
30
|
+
|
31
|
+
it 'should exist' do
|
32
|
+
subject.should respond_to(:current)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should be instance of Tower::Queue' do
|
36
|
+
subject.current.should be_kind_of(Tower::Queue)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '.add' do
|
41
|
+
def add(*args)
|
42
|
+
subject.current.should_receive(:add).with(*args).and_return true
|
43
|
+
subject.add *args
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should exist' do
|
47
|
+
subject.should respond_to(:add)
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'should call self.current.add with given args' do
|
51
|
+
service = mock 'Service'
|
52
|
+
add service
|
53
|
+
add service, :one
|
54
|
+
add service, :one, :two
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
|
3
|
+
describe Tower::Service do
|
4
|
+
|
5
|
+
describe '.takes' do
|
6
|
+
context 'with args' do
|
7
|
+
it 'should take a splat'
|
8
|
+
it 'should save args to @takes'
|
9
|
+
end
|
10
|
+
context 'without args' do
|
11
|
+
it 'should return @takes'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'runners' do
|
16
|
+
|
17
|
+
describe '.now' do
|
18
|
+
it 'should take a splat'
|
19
|
+
it 'should initialize a new Tower::Service instance'
|
20
|
+
it 'should call instance.run'
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '.later' do
|
24
|
+
it 'should take a splat'
|
25
|
+
it 'shouldl queue up service for later'
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
describe '.new' do
|
31
|
+
it 'should take a splat'
|
32
|
+
it 'should create instance variables using names from self.class.takes'
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '#run' do
|
36
|
+
it 'should raise NotImplementedError'
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
end
|
data/spec/tower_spec.rb
CHANGED
data/tower.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "tower"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jordan Glasner"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2012-01-02"
|
13
13
|
s.description = "Put those models on a diet! Move your app logic to app/services"
|
14
14
|
s.email = "jordan@digitalignition.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -25,10 +25,53 @@ Gem::Specification.new do |s|
|
|
25
25
|
"README.rdoc",
|
26
26
|
"Rakefile",
|
27
27
|
"VERSION",
|
28
|
+
"examples/delayed_job/.gitignore",
|
29
|
+
"examples/delayed_job/Gemfile",
|
30
|
+
"examples/delayed_job/README",
|
31
|
+
"examples/delayed_job/Rakefile",
|
32
|
+
"examples/delayed_job/app/controllers/application_controller.rb",
|
33
|
+
"examples/delayed_job/app/helpers/application_helper.rb",
|
34
|
+
"examples/delayed_job/app/views/layouts/application.html.erb",
|
35
|
+
"examples/delayed_job/config.ru",
|
36
|
+
"examples/delayed_job/config/application.rb",
|
37
|
+
"examples/delayed_job/config/boot.rb",
|
38
|
+
"examples/delayed_job/config/database.yml",
|
39
|
+
"examples/delayed_job/config/environment.rb",
|
40
|
+
"examples/delayed_job/config/environments/development.rb",
|
41
|
+
"examples/delayed_job/config/environments/production.rb",
|
42
|
+
"examples/delayed_job/config/environments/test.rb",
|
43
|
+
"examples/delayed_job/config/initializers/backtrace_silencers.rb",
|
44
|
+
"examples/delayed_job/config/initializers/inflections.rb",
|
45
|
+
"examples/delayed_job/config/initializers/mime_types.rb",
|
46
|
+
"examples/delayed_job/config/initializers/secret_token.rb",
|
47
|
+
"examples/delayed_job/config/initializers/session_store.rb",
|
48
|
+
"examples/delayed_job/config/locales/en.yml",
|
49
|
+
"examples/delayed_job/config/routes.rb",
|
50
|
+
"examples/delayed_job/db/seeds.rb",
|
51
|
+
"examples/delayed_job/lib/tasks/.gitkeep",
|
52
|
+
"examples/delayed_job/public/404.html",
|
53
|
+
"examples/delayed_job/public/422.html",
|
54
|
+
"examples/delayed_job/public/500.html",
|
55
|
+
"examples/delayed_job/public/favicon.ico",
|
56
|
+
"examples/delayed_job/public/images/rails.png",
|
57
|
+
"examples/delayed_job/public/index.html",
|
58
|
+
"examples/delayed_job/public/javascripts/.gitkeep",
|
59
|
+
"examples/delayed_job/public/javascripts/application.js",
|
60
|
+
"examples/delayed_job/public/robots.txt",
|
61
|
+
"examples/delayed_job/public/stylesheets/.gitkeep",
|
62
|
+
"examples/delayed_job/script/rails",
|
63
|
+
"examples/delayed_job/vendor/plugins/.gitkeep",
|
28
64
|
"lib/tower.rb",
|
29
65
|
"lib/tower/engine.rb",
|
66
|
+
"lib/tower/enqueue.rb",
|
67
|
+
"lib/tower/queue.rb",
|
68
|
+
"lib/tower/queue/with_delayed_job.rb",
|
30
69
|
"lib/tower/service.rb",
|
31
70
|
"spec/spec_helper.rb",
|
71
|
+
"spec/tower/engine_spec.rb",
|
72
|
+
"spec/tower/queue/with_delayed_job_spec.rb",
|
73
|
+
"spec/tower/queue_spec.rb",
|
74
|
+
"spec/tower/service_spec.rb",
|
32
75
|
"spec/tower_spec.rb",
|
33
76
|
"tower.gemspec"
|
34
77
|
]
|
@@ -42,17 +85,20 @@ Gem::Specification.new do |s|
|
|
42
85
|
s.specification_version = 3
|
43
86
|
|
44
87
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
88
|
+
s.add_runtime_dependency(%q<rails>, ["~> 3.0.1"])
|
45
89
|
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
46
90
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
47
91
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
48
92
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
49
93
|
else
|
94
|
+
s.add_dependency(%q<rails>, ["~> 3.0.1"])
|
50
95
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
51
96
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
52
97
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
53
98
|
s.add_dependency(%q<rcov>, [">= 0"])
|
54
99
|
end
|
55
100
|
else
|
101
|
+
s.add_dependency(%q<rails>, ["~> 3.0.1"])
|
56
102
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
57
103
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
58
104
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: tower
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jordan Glasner
|
@@ -10,11 +10,22 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date:
|
13
|
+
date: 2012-01-02 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: rails
|
17
17
|
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.0.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rspec
|
28
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
18
29
|
none: false
|
19
30
|
requirements:
|
20
31
|
- - ~>
|
@@ -22,10 +33,10 @@ dependencies:
|
|
22
33
|
version: 2.3.0
|
23
34
|
type: :development
|
24
35
|
prerelease: false
|
25
|
-
version_requirements: *
|
36
|
+
version_requirements: *id002
|
26
37
|
- !ruby/object:Gem::Dependency
|
27
38
|
name: bundler
|
28
|
-
requirement: &
|
39
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
29
40
|
none: false
|
30
41
|
requirements:
|
31
42
|
- - ~>
|
@@ -33,10 +44,10 @@ dependencies:
|
|
33
44
|
version: 1.0.0
|
34
45
|
type: :development
|
35
46
|
prerelease: false
|
36
|
-
version_requirements: *
|
47
|
+
version_requirements: *id003
|
37
48
|
- !ruby/object:Gem::Dependency
|
38
49
|
name: jeweler
|
39
|
-
requirement: &
|
50
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
40
51
|
none: false
|
41
52
|
requirements:
|
42
53
|
- - ~>
|
@@ -44,10 +55,10 @@ dependencies:
|
|
44
55
|
version: 1.6.4
|
45
56
|
type: :development
|
46
57
|
prerelease: false
|
47
|
-
version_requirements: *
|
58
|
+
version_requirements: *id004
|
48
59
|
- !ruby/object:Gem::Dependency
|
49
60
|
name: rcov
|
50
|
-
requirement: &
|
61
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
51
62
|
none: false
|
52
63
|
requirements:
|
53
64
|
- - ">="
|
@@ -55,7 +66,7 @@ dependencies:
|
|
55
66
|
version: "0"
|
56
67
|
type: :development
|
57
68
|
prerelease: false
|
58
|
-
version_requirements: *
|
69
|
+
version_requirements: *id005
|
59
70
|
description: Put those models on a diet! Move your app logic to app/services
|
60
71
|
email: jordan@digitalignition.com
|
61
72
|
executables: []
|
@@ -74,10 +85,53 @@ files:
|
|
74
85
|
- README.rdoc
|
75
86
|
- Rakefile
|
76
87
|
- VERSION
|
88
|
+
- examples/delayed_job/.gitignore
|
89
|
+
- examples/delayed_job/Gemfile
|
90
|
+
- examples/delayed_job/README
|
91
|
+
- examples/delayed_job/Rakefile
|
92
|
+
- examples/delayed_job/app/controllers/application_controller.rb
|
93
|
+
- examples/delayed_job/app/helpers/application_helper.rb
|
94
|
+
- examples/delayed_job/app/views/layouts/application.html.erb
|
95
|
+
- examples/delayed_job/config.ru
|
96
|
+
- examples/delayed_job/config/application.rb
|
97
|
+
- examples/delayed_job/config/boot.rb
|
98
|
+
- examples/delayed_job/config/database.yml
|
99
|
+
- examples/delayed_job/config/environment.rb
|
100
|
+
- examples/delayed_job/config/environments/development.rb
|
101
|
+
- examples/delayed_job/config/environments/production.rb
|
102
|
+
- examples/delayed_job/config/environments/test.rb
|
103
|
+
- examples/delayed_job/config/initializers/backtrace_silencers.rb
|
104
|
+
- examples/delayed_job/config/initializers/inflections.rb
|
105
|
+
- examples/delayed_job/config/initializers/mime_types.rb
|
106
|
+
- examples/delayed_job/config/initializers/secret_token.rb
|
107
|
+
- examples/delayed_job/config/initializers/session_store.rb
|
108
|
+
- examples/delayed_job/config/locales/en.yml
|
109
|
+
- examples/delayed_job/config/routes.rb
|
110
|
+
- examples/delayed_job/db/seeds.rb
|
111
|
+
- examples/delayed_job/lib/tasks/.gitkeep
|
112
|
+
- examples/delayed_job/public/404.html
|
113
|
+
- examples/delayed_job/public/422.html
|
114
|
+
- examples/delayed_job/public/500.html
|
115
|
+
- examples/delayed_job/public/favicon.ico
|
116
|
+
- examples/delayed_job/public/images/rails.png
|
117
|
+
- examples/delayed_job/public/index.html
|
118
|
+
- examples/delayed_job/public/javascripts/.gitkeep
|
119
|
+
- examples/delayed_job/public/javascripts/application.js
|
120
|
+
- examples/delayed_job/public/robots.txt
|
121
|
+
- examples/delayed_job/public/stylesheets/.gitkeep
|
122
|
+
- examples/delayed_job/script/rails
|
123
|
+
- examples/delayed_job/vendor/plugins/.gitkeep
|
77
124
|
- lib/tower.rb
|
78
125
|
- lib/tower/engine.rb
|
126
|
+
- lib/tower/enqueue.rb
|
127
|
+
- lib/tower/queue.rb
|
128
|
+
- lib/tower/queue/with_delayed_job.rb
|
79
129
|
- lib/tower/service.rb
|
80
130
|
- spec/spec_helper.rb
|
131
|
+
- spec/tower/engine_spec.rb
|
132
|
+
- spec/tower/queue/with_delayed_job_spec.rb
|
133
|
+
- spec/tower/queue_spec.rb
|
134
|
+
- spec/tower/service_spec.rb
|
81
135
|
- spec/tower_spec.rb
|
82
136
|
- tower.gemspec
|
83
137
|
homepage: http://github.com/glasner/tower
|
@@ -93,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
93
147
|
requirements:
|
94
148
|
- - ">="
|
95
149
|
- !ruby/object:Gem::Version
|
96
|
-
hash:
|
150
|
+
hash: 4500319440222707002
|
97
151
|
segments:
|
98
152
|
- 0
|
99
153
|
version: "0"
|