dj_dashboard 0.0.8.4 → 0.0.8.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dj_dashboard (0.0.8.4)
4
+ dj_dashboard (0.0.8.5)
5
5
  delayed_job (~> 2.0)
6
6
  haml
7
7
  jquery-rails
@@ -4,12 +4,18 @@ module DjDashboard
4
4
 
5
5
  before_filter :authenticate!
6
6
 
7
+ PAGE_SIZE = 10
8
+
7
9
  def index
8
10
  @jobs = Job.fetch
9
11
  end
10
12
 
11
13
  def stats
12
- @jobs = Delayed::Job.send(params[:type].to_sym, params[:job_name]).page(params[:page]).per_page(10)
14
+ @current_page = params[:page] && params[:page].to_i || 1
15
+ offset = params[:page] && ((params[:page].to_i-1) * PAGE_SIZE) || 0
16
+ @jobs = Delayed::Job.send(params[:type].to_sym, params[:job_name]).order("created_at desc").limit(PAGE_SIZE).offset(offset)
17
+ @pages = (1..(Delayed::Job.send(params[:type].to_sym, params[:job_name]).count.to_f / PAGE_SIZE).ceil).to_a
18
+ @jobs_wp = Delayed::Job.send(params[:type].to_sym, params[:job_name]).page(params[:page]).per_page(PAGE_SIZE)
13
19
  @is_pagination_link = params[:page] ? true : false
14
20
  @job_name = @jobs.first.job_name if @jobs.any?
15
21
  @stat_type = params[:type]
@@ -0,0 +1,73 @@
1
+ %ul.pagination
2
+
3
+ %li
4
+ - if current_page > pages.first
5
+ = link_to "← Previous", dj_dashboard_job_stats_path(job_name: job_name, type: type, page: current_page - 1)
6
+ - else
7
+ ← Previous
8
+
9
+ - if current_page < 9
10
+
11
+ - pages.slice(0..8).each do |page|
12
+ - if page == current_page
13
+ %li.current= page
14
+ - else
15
+ %li
16
+ = link_to page, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: page)
17
+
18
+ %li
19
+ %span ...
20
+
21
+ %li
22
+ = link_to pages[-2], dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages[-2])
23
+ %li
24
+ = link_to pages.last, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.last)
25
+
26
+ - elsif current_page >= 9 && current_page < pages.size-8
27
+
28
+ %li
29
+ = link_to pages.first, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.first)
30
+ %li
31
+ = link_to pages.second, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.second)
32
+
33
+ %li
34
+ %span ...
35
+
36
+ - ((current_page-4)..(current_page + 4)).each do |page|
37
+ - if page == current_page
38
+ %li.current= page
39
+ - else
40
+ %li
41
+ = link_to page, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: page)
42
+
43
+ %li
44
+ %span ...
45
+
46
+ %li
47
+ = link_to pages[-2], dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages[-2])
48
+ %li
49
+ = link_to pages.last, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.last)
50
+
51
+ - else
52
+
53
+ %li
54
+ = link_to pages.first, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.first)
55
+ %li
56
+ = link_to pages.second, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.second)
57
+
58
+ - # divider
59
+ %li
60
+ %span ...
61
+
62
+ - pages.slice(pages.size-9..pages.size).each do |page|
63
+ - if page == current_page
64
+ %li.current= page
65
+ - else
66
+ %li
67
+ = link_to page, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: page)
68
+
69
+ %li
70
+ - if current_page < pages.last
71
+ = link_to "Next →", dj_dashboard_job_stats_path(job_name: job_name, type: type, page: current_page + 1)
72
+ - else
73
+ Next →
@@ -1,7 +1,8 @@
1
1
  %tr.stats{:class => "#{@stat_type.to_s}", :id => "stats_#{@job_name.gsub('::', '__')}"}
2
2
  %td{:colspan => 5}
3
3
  %h3= "#{@stat_type.to_s.capitalize} Jobs"
4
- #job_pagination= will_paginate(@jobs)
4
+ - #job_pagination= will_paginate(@jobs_wp)
5
+ #job_pagination{ style: 'width: 500px' }= render :partial => "pagination", locals: { job_name: @job_name, type: @stat_type, pages: @pages, current_page: @current_page }
5
6
  %table.stat
6
7
  %tr.header
7
8
  %td Priority
@@ -1,3 +1,3 @@
1
1
  module DjDashboard
2
- VERSION = '0.0.8.4'
2
+ VERSION = '0.0.8.5'
3
3
  end
@@ -32,3 +32,6 @@ tr.striped { background-color: #292929; }
32
32
 
33
33
  #job_pagination { float: right; font-size: 13px; }
34
34
  #job_pagination a { color: #fff; text-shadow: 1px 1px #666; }
35
+ #job_pagination ul.pagination { float: right; }
36
+ #job_pagination ul.pagination li { display: inline; list-style-type: none; }
37
+ #job_pagination ul.pagination li.current { font-weight: bold; font-style: italic; }
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.8.4
4
+ version: 0.0.8.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-07 00:00:00.000000000Z
12
+ date: 2012-02-16 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: haml
16
- requirement: &70127304933300 !ruby/object:Gem::Requirement
16
+ requirement: &70314677378280 !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: *70127304933300
24
+ version_requirements: *70314677378280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jquery-rails
27
- requirement: &70127304932580 !ruby/object:Gem::Requirement
27
+ requirement: &70314677374580 !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: *70127304932580
35
+ version_requirements: *70314677374580
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: delayed_job
38
- requirement: &70127304931900 !ruby/object:Gem::Requirement
38
+ requirement: &70314677373420 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '2.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70127304931900
46
+ version_requirements: *70314677373420
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: will_paginate
49
- requirement: &70127304931300 !ruby/object:Gem::Requirement
49
+ requirement: &70314677372760 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70127304931300
57
+ version_requirements: *70314677372760
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rails
60
- requirement: &70127304930500 !ruby/object:Gem::Requirement
60
+ requirement: &70314677371280 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '3.0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70127304930500
68
+ version_requirements: *70314677371280
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
- requirement: &70127304930020 !ruby/object:Gem::Requirement
71
+ requirement: &70314677370300 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70127304930020
79
+ version_requirements: *70314677370300
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec-rails
82
- requirement: &70127304929280 !ruby/object:Gem::Requirement
82
+ requirement: &70314677369240 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70127304929280
90
+ version_requirements: *70314677369240
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: shoulda
93
- requirement: &70127304928560 !ruby/object:Gem::Requirement
93
+ requirement: &70314677368380 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70127304928560
101
+ version_requirements: *70314677368380
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rr
104
- requirement: &70127304927640 !ruby/object:Gem::Requirement
104
+ requirement: &70314677367460 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70127304927640
112
+ version_requirements: *70314677367460
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: faker
115
- requirement: &70127304925820 !ruby/object:Gem::Requirement
115
+ requirement: &70314677366580 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70127304925820
123
+ version_requirements: *70314677366580
124
124
  description: Delayed Job Dashboard
125
125
  email:
126
126
  - ben.kempner@gmail.com
@@ -137,6 +137,7 @@ files:
137
137
  - Rakefile
138
138
  - app/controllers/dj_dashboard/jobs_controller.rb
139
139
  - app/models/dj_dashboard/job.rb
140
+ - app/views/dj_dashboard/jobs/_pagination.html.haml
140
141
  - app/views/dj_dashboard/jobs/_stats.html.haml
141
142
  - app/views/dj_dashboard/jobs/index.html.haml
142
143
  - app/views/dj_dashboard/jobs/stats.js.erb
@@ -214,7 +215,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
214
215
  version: '0'
215
216
  segments:
216
217
  - 0
217
- hash: -3388323406394100528
218
+ hash: -761297183406624285
218
219
  required_rubygems_version: !ruby/object:Gem::Requirement
219
220
  none: false
220
221
  requirements:
@@ -223,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
224
  version: '0'
224
225
  segments:
225
226
  - 0
226
- hash: -3388323406394100528
227
+ hash: -761297183406624285
227
228
  requirements: []
228
229
  rubyforge_project:
229
230
  rubygems_version: 1.8.6