dj_dashboard 0.0.4 → 0.0.5

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.
data/.gitignore CHANGED
@@ -4,3 +4,4 @@ pkg/
4
4
  test/dummy/db/*.sqlite3
5
5
  test/dummy/log/*.log
6
6
  test/dummy/tmp/
7
+ .rspec
data/Gemfile CHANGED
@@ -11,3 +11,11 @@ gem 'haml'
11
11
  # To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
12
12
  # gem 'ruby-debug'
13
13
  # gem 'ruby-debug19'
14
+
15
+ group :test, :development do
16
+ gem 'rspec-rails'
17
+ gem 'rr'
18
+ gem 'faker'
19
+ gem 'machinist', '~> 1.0'
20
+ gem 'shoulda'
21
+ end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dj_dashboard (0.0.4)
4
+ dj_dashboard (0.0.5)
5
5
  delayed_job
6
6
  haml
7
7
  rails (~> 3.0)
@@ -52,12 +52,16 @@ GEM
52
52
  delayed_job (2.1.4)
53
53
  activesupport (~> 3.0)
54
54
  daemons
55
+ diff-lcs (1.1.3)
55
56
  erubis (2.6.6)
56
57
  abstract (>= 1.0.0)
58
+ faker (1.0.1)
59
+ i18n (~> 0.4)
57
60
  ffi (1.0.11)
58
61
  haml (3.1.4)
59
62
  i18n (0.5.0)
60
63
  json (1.6.3)
64
+ machinist (1.0.6)
61
65
  mail (2.2.19)
62
66
  activesupport (>= 2.3.6)
63
67
  i18n (>= 0.4.0)
@@ -89,6 +93,20 @@ GEM
89
93
  rake (0.9.2.2)
90
94
  rdoc (3.11)
91
95
  json (~> 1.4)
96
+ rr (1.0.4)
97
+ rspec (2.7.0)
98
+ rspec-core (~> 2.7.0)
99
+ rspec-expectations (~> 2.7.0)
100
+ rspec-mocks (~> 2.7.0)
101
+ rspec-core (2.7.1)
102
+ rspec-expectations (2.7.0)
103
+ diff-lcs (~> 1.1.2)
104
+ rspec-mocks (2.7.0)
105
+ rspec-rails (2.7.0)
106
+ actionpack (~> 3.0)
107
+ activesupport (~> 3.0)
108
+ railties (~> 3.0)
109
+ rspec (~> 2.7.0)
92
110
  rubyzip (0.9.5)
93
111
  sass (3.1.11)
94
112
  selenium-webdriver (2.15.0)
@@ -96,6 +114,7 @@ GEM
96
114
  ffi (~> 1.0.9)
97
115
  multi_json (~> 1.0.4)
98
116
  rubyzip
117
+ shoulda (2.11.3)
99
118
  sqlite3 (1.3.5)
100
119
  thor (0.14.6)
101
120
  treetop (1.4.10)
@@ -112,6 +131,11 @@ DEPENDENCIES
112
131
  capybara (>= 0.4.0)
113
132
  delayed_job
114
133
  dj_dashboard!
134
+ faker
115
135
  haml
136
+ machinist (~> 1.0)
116
137
  rails (= 3.0.11)
138
+ rr
139
+ rspec-rails
140
+ shoulda
117
141
  sqlite3
@@ -12,7 +12,7 @@ module DjDashboard
12
12
  {
13
13
  name: job,
14
14
  running: Delayed::Job.where("handler like '%#{job}%'").where("locked_at is not null").count,
15
- failed: Delayed::Job.where("handler like '%#{job}%'").where("failed_at is not null and attempts > 3").count,
15
+ failed: Delayed::Job.where("handler like '%#{job}%'").where("failed_at is not null and attempts >= 3").count,
16
16
  pending: Delayed::Job.where("handler like '%#{job}%'").where(locked_at: nil, failed_at: nil).count,
17
17
  retrying: Delayed::Job.where("handler like '%#{job}%'").where(locked_at: nil).where("failed_at is not null").count
18
18
  }
data/dj_dashboard.gemspec CHANGED
@@ -23,4 +23,9 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency "rails", '~> 3.0'
24
24
 
25
25
  s.add_development_dependency "sqlite3"
26
+ s.add_development_dependency "rspec-rails"
27
+ s.add_development_dependency "shoulda"
28
+ s.add_development_dependency "rr"
29
+ s.add_development_dependency "machinist", "~> 1.0"
30
+ s.add_development_dependency "faker"
26
31
  end
@@ -1,3 +1,3 @@
1
1
  module DjDashboard
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe DjDashboard::JobsController do
4
+
5
+ describe "GET /" do
6
+
7
+ it "should fetch jobs" do
8
+ mock(DjDashboard::Job).fetch
9
+ get :index
10
+ end
11
+
12
+ end
13
+
14
+ end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ describe DjDashboard::Job do
4
+
5
+ describe ".fetch" do
6
+ class MyJob
7
+ def perform; end
8
+ end
9
+
10
+ class MyOtherJob
11
+ def perform; end
12
+ end
13
+
14
+ it "should return a hash for each job" do
15
+ Delayed::Job.enqueue MyJob.new
16
+ Delayed::Job.enqueue MyOtherJob.new
17
+ results = DjDashboard::Job.fetch
18
+
19
+ found_myjob = results.any? { |job| job[:name] == 'MyJob' }
20
+ found_myjob.should be_true
21
+ found_myotherjob = results.any? { |job| job[:name] == 'MyOtherJob' }
22
+ found_myotherjob.should be_true
23
+ end
24
+
25
+ it "should return each job hash with attributes: name, running, failed, pending, retrying" do
26
+ Delayed::Job.enqueue MyJob.new
27
+ Delayed::Job.enqueue MyOtherJob.new
28
+ results = DjDashboard::Job.fetch
29
+ results.each { |res| res.keys.should include(:name, :running, :failed, :pending, :retrying) }
30
+ end
31
+
32
+ it "should return running jobs" do
33
+ 2.times { Delayed::Job.enqueue MyJob.new }
34
+
35
+ Delayed::Job.update_all(locked_at: Time.now)
36
+
37
+ results = DjDashboard::Job.fetch
38
+ results.first[:running].should eql(2)
39
+ end
40
+
41
+ it "should return failed jobs" do
42
+ 2.times { Delayed::Job.enqueue MyJob.new }
43
+
44
+ Delayed::Job.update_all(failed_at: Time.now, attempts: 3)
45
+
46
+ results = DjDashboard::Job.fetch
47
+ results.first[:failed].should eql(2)
48
+ end
49
+
50
+ it "should return pending jobs" do
51
+ 2.times { Delayed::Job.enqueue MyJob.new }
52
+
53
+ results = DjDashboard::Job.fetch
54
+ results.first[:pending].should eql(2)
55
+ end
56
+
57
+ it "should return retrying jobs" do
58
+ 2.times { Delayed::Job.enqueue MyJob.new }
59
+
60
+ Delayed::Job.update_all(failed_at: Time.now)
61
+
62
+ results = DjDashboard::Job.fetch
63
+ results.first[:retrying].should eql(2)
64
+ end
65
+ end
66
+
67
+ end
@@ -0,0 +1,33 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../../test/dummy/config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+ # == Mock Framework
13
+ #
14
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
15
+ #
16
+ # config.mock_with :mocha
17
+ # config.mock_with :flexmock
18
+ config.mock_with :rr
19
+ # config.mock_with :rspec
20
+
21
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
22
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
23
+
24
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
25
+ # examples within a transaction, remove the following line or assign false
26
+ # instead of true.
27
+ config.use_transactional_fixtures = true
28
+
29
+ # If true, the base class of anonymous controllers will be inferred
30
+ # automatically. This will be the default behavior in future versions of
31
+ # rspec-rails.
32
+ config.infer_base_class_for_anonymous_controllers = false
33
+ end
@@ -0,0 +1,33 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../../config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+ # == Mock Framework
13
+ #
14
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
15
+ #
16
+ # config.mock_with :mocha
17
+ # config.mock_with :flexmock
18
+ # config.mock_with :rr
19
+ config.mock_with :rspec
20
+
21
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
22
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
23
+
24
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
25
+ # examples within a transaction, remove the following line or assign false
26
+ # instead of true.
27
+ config.use_transactional_fixtures = true
28
+
29
+ # If true, the base class of anonymous controllers will be inferred
30
+ # automatically. This will be the default behavior in future versions of
31
+ # rspec-rails.
32
+ config.infer_base_class_for_anonymous_controllers = false
33
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dj_dashboard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-12 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: haml
16
- requirement: &70184618900600 !ruby/object:Gem::Requirement
16
+ requirement: &70128177353460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70184618900600
24
+ version_requirements: *70128177353460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sass
27
- requirement: &70184618899180 !ruby/object:Gem::Requirement
27
+ requirement: &70128177352460 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70184618899180
35
+ version_requirements: *70128177352460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: delayed_job
38
- requirement: &70184618897440 !ruby/object:Gem::Requirement
38
+ requirement: &70128177351280 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70184618897440
46
+ version_requirements: *70128177351280
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rails
49
- requirement: &70184618878940 !ruby/object:Gem::Requirement
49
+ requirement: &70128177350480 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70184618878940
57
+ version_requirements: *70128177350480
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sqlite3
60
- requirement: &70184618877180 !ruby/object:Gem::Requirement
60
+ requirement: &70128177349880 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,62 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70184618877180
68
+ version_requirements: *70128177349880
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-rails
71
+ requirement: &70128177349200 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70128177349200
80
+ - !ruby/object:Gem::Dependency
81
+ name: shoulda
82
+ requirement: &70128177348580 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70128177348580
91
+ - !ruby/object:Gem::Dependency
92
+ name: rr
93
+ requirement: &70128177347740 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *70128177347740
102
+ - !ruby/object:Gem::Dependency
103
+ name: machinist
104
+ requirement: &70128177346940 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70128177346940
113
+ - !ruby/object:Gem::Dependency
114
+ name: faker
115
+ requirement: &70128177346200 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *70128177346200
69
124
  description: Delayed Job Dashboard
70
125
  email:
71
126
  - ben.kempner@gmail.com
@@ -93,6 +148,9 @@ files:
93
148
  - lib/tasks/install.rake
94
149
  - public/javascripts/dj_dashboard/jobs.js
95
150
  - public/stylesheets/dj_dashboard/jobs.css
151
+ - spec/controllers/dj_dashboard/jobs_controller_spec.rb
152
+ - spec/models/dj_dashboard/job_spec.rb
153
+ - spec/spec_helper.rb
96
154
  - test/dj_dashboard_test.rb
97
155
  - test/dummy/Rakefile
98
156
  - test/dummy/app/controllers/application_controller.rb
@@ -129,6 +187,7 @@ files:
129
187
  - test/dummy/public/stylesheets/.gitkeep
130
188
  - test/dummy/script/delayed_job
131
189
  - test/dummy/script/rails
190
+ - test/dummy/spec/spec_helper.rb
132
191
  - test/integration/navigation_test.rb
133
192
  - test/support/integration_case.rb
134
193
  - test/test_helper.rb
@@ -146,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
205
  version: '0'
147
206
  segments:
148
207
  - 0
149
- hash: 813747452078818706
208
+ hash: 1105974597055427148
150
209
  required_rubygems_version: !ruby/object:Gem::Requirement
151
210
  none: false
152
211
  requirements:
@@ -155,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
214
  version: '0'
156
215
  segments:
157
216
  - 0
158
- hash: 813747452078818706
217
+ hash: 1105974597055427148
159
218
  requirements: []
160
219
  rubyforge_project:
161
220
  rubygems_version: 1.8.6
@@ -163,6 +222,9 @@ signing_key:
163
222
  specification_version: 3
164
223
  summary: Delayed Job Dashboard
165
224
  test_files:
225
+ - spec/controllers/dj_dashboard/jobs_controller_spec.rb
226
+ - spec/models/dj_dashboard/job_spec.rb
227
+ - spec/spec_helper.rb
166
228
  - test/dj_dashboard_test.rb
167
229
  - test/dummy/Rakefile
168
230
  - test/dummy/app/controllers/application_controller.rb
@@ -199,6 +261,7 @@ test_files:
199
261
  - test/dummy/public/stylesheets/.gitkeep
200
262
  - test/dummy/script/delayed_job
201
263
  - test/dummy/script/rails
264
+ - test/dummy/spec/spec_helper.rb
202
265
  - test/integration/navigation_test.rb
203
266
  - test/support/integration_case.rb
204
267
  - test/test_helper.rb