tower 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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"