tower 0.1.0 → 0.1.1

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.
Files changed (53) hide show
  1. data/Gemfile +3 -0
  2. data/Gemfile.lock +65 -0
  3. data/README.rdoc +1 -11
  4. data/VERSION +1 -1
  5. data/examples/delayed_job/.gitignore +4 -0
  6. data/examples/delayed_job/Gemfile +33 -0
  7. data/examples/delayed_job/README +256 -0
  8. data/examples/delayed_job/Rakefile +7 -0
  9. data/examples/delayed_job/app/controllers/application_controller.rb +3 -0
  10. data/examples/delayed_job/app/helpers/application_helper.rb +2 -0
  11. data/examples/delayed_job/app/views/layouts/application.html.erb +14 -0
  12. data/examples/delayed_job/config/application.rb +42 -0
  13. data/examples/delayed_job/config/boot.rb +6 -0
  14. data/examples/delayed_job/config/database.yml +22 -0
  15. data/examples/delayed_job/config/environment.rb +5 -0
  16. data/examples/delayed_job/config/environments/development.rb +26 -0
  17. data/examples/delayed_job/config/environments/production.rb +49 -0
  18. data/examples/delayed_job/config/environments/test.rb +35 -0
  19. data/examples/delayed_job/config/initializers/backtrace_silencers.rb +7 -0
  20. data/examples/delayed_job/config/initializers/inflections.rb +10 -0
  21. data/examples/delayed_job/config/initializers/mime_types.rb +5 -0
  22. data/examples/delayed_job/config/initializers/secret_token.rb +7 -0
  23. data/examples/delayed_job/config/initializers/session_store.rb +8 -0
  24. data/examples/delayed_job/config/locales/en.yml +5 -0
  25. data/examples/delayed_job/config/routes.rb +58 -0
  26. data/examples/delayed_job/config.ru +4 -0
  27. data/examples/delayed_job/db/seeds.rb +7 -0
  28. data/examples/delayed_job/lib/tasks/.gitkeep +0 -0
  29. data/examples/delayed_job/public/404.html +26 -0
  30. data/examples/delayed_job/public/422.html +26 -0
  31. data/examples/delayed_job/public/500.html +26 -0
  32. data/examples/delayed_job/public/favicon.ico +0 -0
  33. data/examples/delayed_job/public/images/rails.png +0 -0
  34. data/examples/delayed_job/public/index.html +239 -0
  35. data/examples/delayed_job/public/javascripts/.gitkeep +0 -0
  36. data/examples/delayed_job/public/javascripts/application.js +0 -0
  37. data/examples/delayed_job/public/robots.txt +5 -0
  38. data/examples/delayed_job/public/stylesheets/.gitkeep +0 -0
  39. data/examples/delayed_job/script/rails +6 -0
  40. data/examples/delayed_job/vendor/plugins/.gitkeep +0 -0
  41. data/lib/tower/engine.rb +1 -1
  42. data/lib/tower/enqueue.rb +21 -0
  43. data/lib/tower/queue/with_delayed_job.rb +6 -0
  44. data/lib/tower/queue.rb +55 -0
  45. data/lib/tower/service.rb +2 -1
  46. data/lib/tower.rb +6 -1
  47. data/spec/tower/engine_spec.rb +5 -0
  48. data/spec/tower/queue/with_delayed_job_spec.rb +52 -0
  49. data/spec/tower/queue_spec.rb +62 -0
  50. data/spec/tower/service_spec.rb +40 -0
  51. data/spec/tower_spec.rb +2 -4
  52. data/tower.gemspec +48 -2
  53. 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
@@ -1,7 +1,5 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
- describe "Tower" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
6
- end
3
+ describe Tower do
4
+
7
5
  end
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.0"
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 = "2011-12-31"
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.0
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: 2011-12-31 00:00:00 Z
13
+ date: 2012-01-02 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rspec
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: *id001
36
+ version_requirements: *id002
26
37
  - !ruby/object:Gem::Dependency
27
38
  name: bundler
28
- requirement: &id002 !ruby/object:Gem::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: *id002
47
+ version_requirements: *id003
37
48
  - !ruby/object:Gem::Dependency
38
49
  name: jeweler
39
- requirement: &id003 !ruby/object:Gem::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: *id003
58
+ version_requirements: *id004
48
59
  - !ruby/object:Gem::Dependency
49
60
  name: rcov
50
- requirement: &id004 !ruby/object:Gem::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: *id004
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: -1626697860867845215
150
+ hash: 4500319440222707002
97
151
  segments:
98
152
  - 0
99
153
  version: "0"