que-web 0.7.1 → 0.7.2
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.
- checksums.yaml +4 -4
- data/lib/que/web.rb +17 -16
- data/que-web.gemspec +1 -1
- data/spec/web_spec.rb +51 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70f3a29ddd4f76bdfb0a2aa84d663874366639a4
|
4
|
+
data.tar.gz: e6887380327c8e50a8a4e3aeb682d4d7408c81f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90343c4a7898f6085ae331a3062006032ff299704431f6e255818b9325423c54902df5f52191574bd840617953e1b6a21477083ca7c47f8922c6cd82403e6025
|
7
|
+
data.tar.gz: e2b62a44728afe7c43c3d5f14fc873e3c090c792de35a589d7c1dc57df98b2bee8808bd61b88b6d4ed26cf9f4cf8a7ff25597e420fb10a0a3a78e9040a4698e1
|
data/lib/que/web.rb
CHANGED
@@ -140,21 +140,6 @@ module Que
|
|
140
140
|
Pager.new(page, PAGE_SIZE, record_count)
|
141
141
|
end
|
142
142
|
|
143
|
-
def search
|
144
|
-
return '%' unless search_param.present?
|
145
|
-
"%#{search_param}%"
|
146
|
-
end
|
147
|
-
|
148
|
-
def search_running(jobs)
|
149
|
-
return jobs unless search_param.present?
|
150
|
-
jobs.select { |job| job.job_class.include? search_param }
|
151
|
-
end
|
152
|
-
|
153
|
-
def search_param
|
154
|
-
return unless params['search'].present?
|
155
|
-
params['search'].gsub(/[^0-9A-Za-z:]/, '')
|
156
|
-
end
|
157
|
-
|
158
143
|
after { session[FLASH_KEY] = {} if @sweep_flash }
|
159
144
|
|
160
145
|
module Helpers
|
@@ -167,10 +152,26 @@ module Que
|
|
167
152
|
end
|
168
153
|
|
169
154
|
def path_with_search(path)
|
170
|
-
path += "?search=#{search_param}" if search_param
|
155
|
+
path += "?search=#{search_param}" if search_param
|
171
156
|
path
|
172
157
|
end
|
173
158
|
|
159
|
+
def search
|
160
|
+
return '%' unless search_param
|
161
|
+
"%#{search_param}%"
|
162
|
+
end
|
163
|
+
|
164
|
+
def search_running(jobs)
|
165
|
+
return jobs unless search_param
|
166
|
+
jobs.select { |job| job.fetch('job_class').include? search_param }
|
167
|
+
end
|
168
|
+
|
169
|
+
def search_param
|
170
|
+
sanitised = (params['search'] || '').gsub(/[^0-9a-z:]i/, '')
|
171
|
+
return if sanitised.empty?
|
172
|
+
sanitised
|
173
|
+
end
|
174
|
+
|
174
175
|
def active_class(pattern)
|
175
176
|
if request.path.match pattern
|
176
177
|
"active"
|
data/que-web.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "que-web"
|
7
|
-
spec.version = "0.7.
|
7
|
+
spec.version = "0.7.2"
|
8
8
|
spec.authors = ["Jason Staten"]
|
9
9
|
spec.email = ["jstaten07@gmail.com"]
|
10
10
|
spec.summary = %q{A web interface for the que queue}
|
data/spec/web_spec.rb
CHANGED
@@ -1,8 +1,18 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Que::Web::Helpers do
|
4
|
+
let(:search) { '' }
|
5
|
+
let(:params) { { 'search' => search } }
|
6
|
+
|
4
7
|
subject do
|
5
|
-
|
8
|
+
# Capture the params into an ivar so the params method block below captures it
|
9
|
+
params_to_use = params
|
10
|
+
|
11
|
+
Class.new do
|
12
|
+
include Que::Web::Helpers
|
13
|
+
|
14
|
+
define_method(:params) { params_to_use }
|
15
|
+
end.new
|
6
16
|
end
|
7
17
|
|
8
18
|
def error_job(last_error)
|
@@ -22,4 +32,44 @@ describe Que::Web::Helpers do
|
|
22
32
|
subject.format_error(error_job('')).must_equal ''
|
23
33
|
end
|
24
34
|
end
|
35
|
+
|
36
|
+
describe '#search_running' do
|
37
|
+
let(:jobs) do
|
38
|
+
[
|
39
|
+
{ 'job_class' => 'JobClassA' },
|
40
|
+
{ 'job_class' => 'JobClassB' },
|
41
|
+
{ 'job_class' => 'JobClassA2' },
|
42
|
+
{ 'job_class' => 'JobClassC' }
|
43
|
+
]
|
44
|
+
end
|
45
|
+
|
46
|
+
describe 'when the search param is not supplied' do
|
47
|
+
let(:params) { {} }
|
48
|
+
|
49
|
+
it 'returns all the jobs' do
|
50
|
+
subject.search_running(jobs).must_equal(jobs)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'when the search param is blank' do
|
55
|
+
let(:search) { '' }
|
56
|
+
|
57
|
+
it 'returns all the jobs' do
|
58
|
+
subject.search_running(jobs).must_equal(jobs)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe 'when the search param is present' do
|
63
|
+
let(:search) { 'A' }
|
64
|
+
|
65
|
+
it 'returns only the jobs whose class matches the search' do
|
66
|
+
subject.search_running(jobs).must_equal(
|
67
|
+
[
|
68
|
+
{ 'job_class' => 'JobClassA' },
|
69
|
+
{ 'job_class' => 'JobClassA2' }
|
70
|
+
]
|
71
|
+
)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
25
75
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: que-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Staten
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: que
|