ndr_dev_support 3.0.0 → 3.1.0
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 +5 -5
- data/.rubocop.yml +4 -0
- data/bin/console +1 -1
- data/code_safety.yml +20 -12
- data/lib/ndr_dev_support/integration_testing/dsl.rb +15 -0
- data/lib/ndr_dev_support/tasks.rb +1 -0
- data/lib/ndr_dev_support/version.rb +1 -1
- data/lib/tasks/audit_code.rake +1 -1
- data/lib/tasks/ci/dependencies.rake +61 -0
- data/ndr_dev_support.gemspec +3 -0
- metadata +18 -4
- data/.travis.yml +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1f9fa648db8ffa98eb6e5505ed89da5266ae1d19
|
4
|
+
data.tar.gz: b2a540c25a23505528540b6addd26cc6bfab2fb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80c793fbaa8c72db13f34b53db7b200a6745c8854f0afc5f25097223d32df3225cfff20b781c16a197662c5905566183f07e5cae04e06921673f24542318e968
|
7
|
+
data.tar.gz: b3b6535d2e6e235ad9e4c3c80be4944fd1443f6998ffd79526f216ddad819311d4cb1f50f90484ff9285e6a1a86ad54cd03e6becc16308c12a740bd27a8bdea1
|
data/.rubocop.yml
CHANGED
@@ -114,6 +114,10 @@ Rails/ActionFilter:
|
|
114
114
|
# projects will want to override this configuration to use 'filter' instead.
|
115
115
|
EnforcedStyle: action
|
116
116
|
|
117
|
+
Rails/DynamicFindBy:
|
118
|
+
Exclude:
|
119
|
+
- 'test/integration/**/*.rb'
|
120
|
+
|
117
121
|
Rails/SkipsModelValidations:
|
118
122
|
# Methods like 'update_column' exist for a reason, and it is the developer's
|
119
123
|
# responsibilty to understand the behaviour of the code they write; blanket
|
data/bin/console
CHANGED
data/code_safety.yml
CHANGED
@@ -10,12 +10,12 @@ file safety:
|
|
10
10
|
safe_revision: c03d4ff0dd037a2798563d464d0daeca1189debe
|
11
11
|
".rubocop.yml":
|
12
12
|
comments:
|
13
|
-
reviewed_by:
|
14
|
-
safe_revision:
|
13
|
+
reviewed_by: josh.pencheon
|
14
|
+
safe_revision: 949a0ff086946426531a34d48f646b32c761c272
|
15
15
|
".travis.yml":
|
16
16
|
comments:
|
17
17
|
reviewed_by: josh.pencheon
|
18
|
-
safe_revision:
|
18
|
+
safe_revision: 8faa3e5e7ba5ef29daa1a857c8c15702f57c5a3f
|
19
19
|
CODE_OF_CONDUCT.md:
|
20
20
|
comments:
|
21
21
|
reviewed_by: timgentry
|
@@ -38,8 +38,8 @@ file safety:
|
|
38
38
|
safe_revision: a601dbd139132f50eb22b1c88d5eda14a465a7c2
|
39
39
|
bin/console:
|
40
40
|
comments:
|
41
|
-
reviewed_by:
|
42
|
-
safe_revision:
|
41
|
+
reviewed_by: josh.pencheon
|
42
|
+
safe_revision: 3377bef3131bbe58acaa82083fcb27c9c6d1e2b0
|
43
43
|
bin/setup:
|
44
44
|
comments:
|
45
45
|
reviewed_by: timgentry
|
@@ -83,7 +83,7 @@ file safety:
|
|
83
83
|
lib/ndr_dev_support/integration_testing/dsl.rb:
|
84
84
|
comments:
|
85
85
|
reviewed_by: josh.pencheon
|
86
|
-
safe_revision:
|
86
|
+
safe_revision: dfe1e6bf5e6c014d6a1a5f9c7e3268900910b00e
|
87
87
|
lib/ndr_dev_support/rake_ci/brakeman_helper.rb:
|
88
88
|
comments:
|
89
89
|
reviewed_by: josh.pencheon
|
@@ -119,16 +119,16 @@ file safety:
|
|
119
119
|
lib/ndr_dev_support/tasks.rb:
|
120
120
|
comments:
|
121
121
|
reviewed_by: josh.pencheon
|
122
|
-
safe_revision:
|
122
|
+
safe_revision: 4dc952cb99ec6f4e416a5b668ceca7e8d7604eef
|
123
123
|
lib/ndr_dev_support/version.rb:
|
124
124
|
comments:
|
125
125
|
reviewed_by: josh.pencheon
|
126
|
-
safe_revision:
|
126
|
+
safe_revision: d96ee996d3b7fcd7ccf3450355ffe4c32253b3a5
|
127
127
|
lib/tasks/audit_code.rake:
|
128
128
|
comments: Identical to the version reviewed by josh.pencheon when contained within
|
129
129
|
ndr_support
|
130
130
|
reviewed_by: josh.pencheon
|
131
|
-
safe_revision:
|
131
|
+
safe_revision: 810858eb1acb297625708de6ddf8179c528c48f4
|
132
132
|
lib/tasks/ci/brakeman.rake:
|
133
133
|
comments:
|
134
134
|
reviewed_by: josh.pencheon
|
@@ -141,6 +141,10 @@ file safety:
|
|
141
141
|
comments:
|
142
142
|
reviewed_by: timgentry
|
143
143
|
safe_revision: cf22c7ab8b2eb67b501b5ebd1309c832db4fdf6c
|
144
|
+
lib/tasks/ci/dependencies.rake:
|
145
|
+
comments:
|
146
|
+
reviewed_by: josh.pencheon
|
147
|
+
safe_revision: 4dc952cb99ec6f4e416a5b668ceca7e8d7604eef
|
144
148
|
lib/tasks/ci/housekeep.rake:
|
145
149
|
comments:
|
146
150
|
reviewed_by: timgentry
|
@@ -184,12 +188,16 @@ file safety:
|
|
184
188
|
ndr_dev_support.gemspec:
|
185
189
|
comments:
|
186
190
|
reviewed_by: josh.pencheon
|
187
|
-
safe_revision:
|
191
|
+
safe_revision: 8faa3e5e7ba5ef29daa1a857c8c15702f57c5a3f
|
192
|
+
test/daemon/ci_server_test.rb:
|
193
|
+
comments:
|
194
|
+
reviewed_by: josh.pencheon
|
195
|
+
safe_revision: cdd176f2e90284e11899c5c6eea1032f9b785b74
|
188
196
|
test/ndr_dev_support_test.rb:
|
189
197
|
comments:
|
190
198
|
reviewed_by: timgentry
|
191
199
|
safe_revision: 26a8907a7a8a6b0d836aa12ca0335fa40be12240
|
192
200
|
test/test_helper.rb:
|
193
201
|
comments:
|
194
|
-
reviewed_by:
|
195
|
-
safe_revision:
|
202
|
+
reviewed_by: josh.pencheon
|
203
|
+
safe_revision: cdd176f2e90284e11899c5c6eea1032f9b785b74
|
@@ -29,6 +29,21 @@ module NdrDevSupport
|
|
29
29
|
assert(remain ? has_selector?(selector) : has_no_selector?(selector), message)
|
30
30
|
end
|
31
31
|
|
32
|
+
def find_new(*args, **options)
|
33
|
+
# There is no point waiting to see there are no existing matches:
|
34
|
+
pre_options = { wait: 0 }.merge(options)
|
35
|
+
prior_matches = find_all(*args, **pre_options)
|
36
|
+
|
37
|
+
yield
|
38
|
+
|
39
|
+
# We expect exactly one new match as a result of the interaction:
|
40
|
+
post_options = { count: prior_matches.length + 1 }
|
41
|
+
current_matches = find_all(*args, **post_options)
|
42
|
+
|
43
|
+
additional_matches = current_matches.to_a - prior_matches.to_a
|
44
|
+
additional_matches.first
|
45
|
+
end
|
46
|
+
|
32
47
|
# Adds variant of Capybara's #within_window method, that doesn't return
|
33
48
|
# to the preview window on an exception. This allows us to screenshot
|
34
49
|
# a popup automatically if a test errors/fails whilst it has focus.
|
data/lib/tasks/audit_code.rake
CHANGED
@@ -365,7 +365,7 @@ def print_repo_file_diffs(repolatest, repo, fname, usr, safe_revision, interacti
|
|
365
365
|
if usr.to_s.strip.empty?
|
366
366
|
usr = ask('File reviewed by:') do |q|
|
367
367
|
q.whitespace = :strip_and_collapse
|
368
|
-
q.validate = /\A[\w
|
368
|
+
q.validate = /\A[\w \-.]+\Z/
|
369
369
|
end
|
370
370
|
end
|
371
371
|
comment = ask('Please write your comments (optional):')
|
@@ -0,0 +1,61 @@
|
|
1
|
+
namespace :ci do
|
2
|
+
namespace :dependencies do
|
3
|
+
desc 'setup'
|
4
|
+
task :setup do
|
5
|
+
ENV['PROJECT_NAME'] = gem_name || ask('Project Name: ')
|
6
|
+
end
|
7
|
+
|
8
|
+
desc 'process'
|
9
|
+
task process: :setup do
|
10
|
+
# Usage: bundle exec rake ci:dependencies:process
|
11
|
+
arr = [
|
12
|
+
ENV['PROJECT_NAME'],
|
13
|
+
RUBY_VERSION,
|
14
|
+
gem_requirement('rails'),
|
15
|
+
gem_requirement('activemodel-caution'),
|
16
|
+
gem_requirement('ndr_dev_support'),
|
17
|
+
gem_requirement('ndr_error'),
|
18
|
+
gem_requirement('ndr_import'),
|
19
|
+
gem_requirement('ndr_support'),
|
20
|
+
gem_requirement('ndr_ui'),
|
21
|
+
gem_requirement('ndr_workflow'),
|
22
|
+
jquery_version,
|
23
|
+
bootstrap_version
|
24
|
+
]
|
25
|
+
puts "| #{arr.join(' | ')} |"
|
26
|
+
end
|
27
|
+
|
28
|
+
def current_dependencies
|
29
|
+
@current_dependencies ||= Bundler.environment.current_dependencies
|
30
|
+
end
|
31
|
+
|
32
|
+
# There is probably a simpler way of getting this information
|
33
|
+
def gem_name
|
34
|
+
self_dependency = current_dependencies.detect do |dep|
|
35
|
+
dep.source && dep.source.path.to_s == '.'
|
36
|
+
end
|
37
|
+
self_dependency && self_dependency.name
|
38
|
+
end
|
39
|
+
|
40
|
+
def gem_requirement(name)
|
41
|
+
dependency = current_dependencies.detect { |dep| dep.name == name }
|
42
|
+
|
43
|
+
return '-' if dependency.nil? || (dependency.source && dependency.source.path.to_s == '.')
|
44
|
+
return "@#{dependency.source.ref}@" if dependency.source
|
45
|
+
dependency.requirement.to_s
|
46
|
+
end
|
47
|
+
|
48
|
+
def jquery_version
|
49
|
+
Jquery::Rails::JQUERY_VERSION
|
50
|
+
rescue NameError
|
51
|
+
'-'
|
52
|
+
end
|
53
|
+
|
54
|
+
def bootstrap_version
|
55
|
+
require 'bootstrap-sass'
|
56
|
+
Bootstrap::VERSION
|
57
|
+
rescue LoadError
|
58
|
+
'-'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
data/ndr_dev_support.gemspec
CHANGED
@@ -13,6 +13,8 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.license = 'MIT'
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
16
|
+
# SECURE BNS 2018-08-06: Minimise sharing of (public-key encrypted) slack secrets in .travis.yml
|
17
|
+
spec.files -= %w[.travis.yml] # Not needed in the gem
|
16
18
|
spec.bindir = 'exe'
|
17
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
20
|
spec.require_paths = ['lib']
|
@@ -46,5 +48,6 @@ Gem::Specification.new do |spec|
|
|
46
48
|
|
47
49
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
48
50
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
51
|
+
spec.add_development_dependency 'mocha'
|
49
52
|
spec.add_development_dependency 'rake', '~> 10.0'
|
50
53
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ndr_dev_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NCRS Development Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
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: pry
|
@@ -262,6 +262,20 @@ dependencies:
|
|
262
262
|
- - "~>"
|
263
263
|
- !ruby/object:Gem::Version
|
264
264
|
version: '5.0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: mocha
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ">="
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
265
279
|
- !ruby/object:Gem::Dependency
|
266
280
|
name: rake
|
267
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -285,7 +299,6 @@ files:
|
|
285
299
|
- ".gitignore"
|
286
300
|
- ".hound.yml"
|
287
301
|
- ".rubocop.yml"
|
288
|
-
- ".travis.yml"
|
289
302
|
- CODE_OF_CONDUCT.md
|
290
303
|
- Gemfile
|
291
304
|
- LICENSE.txt
|
@@ -318,6 +331,7 @@ files:
|
|
318
331
|
- lib/tasks/ci/brakeman.rake
|
319
332
|
- lib/tasks/ci/bundle_audit.rake
|
320
333
|
- lib/tasks/ci/bundle_install.rake
|
334
|
+
- lib/tasks/ci/dependencies.rake
|
321
335
|
- lib/tasks/ci/housekeep.rake
|
322
336
|
- lib/tasks/ci/linguist.rake
|
323
337
|
- lib/tasks/ci/notes.rake
|
@@ -349,7 +363,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
349
363
|
version: '0'
|
350
364
|
requirements: []
|
351
365
|
rubyforge_project:
|
352
|
-
rubygems_version: 2.
|
366
|
+
rubygems_version: 2.5.2.3
|
353
367
|
signing_key:
|
354
368
|
specification_version: 4
|
355
369
|
summary: NDR Developer Support library
|