radius-spec 0.5.0 → 0.9.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.
@@ -1,3 +1,5 @@
1
+ require: rubocop-rails
2
+
1
3
  inherit_mode:
2
4
  merge:
3
5
  - Exclude
@@ -5,10 +7,6 @@ inherit_mode:
5
7
 
6
8
  inherit_from: common_rubocop.yml
7
9
 
8
- # Enable additional Rails cops
9
- Rails:
10
- Enabled: true
11
-
12
10
  AllCops:
13
11
  Exclude:
14
12
  - 'bin/puma'
@@ -22,24 +20,26 @@ AllCops:
22
20
  - 'db/migrate/**/*'
23
21
 
24
22
  # Rails project's are not concerned with API docs normally
25
- Documentation:
23
+ Style/Documentation:
26
24
  Enabled: false
27
25
 
28
- Metrics/BlockLength:
29
- Exclude:
30
- - 'config/routes.rb'
31
- - 'spec/rails_helper.rb'
32
-
33
26
  # Rails foreign keys and indexes can get long. We want to ignore our annotation
34
27
  # comments which are for these entries.
35
28
  #
36
29
  # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
37
30
  # URISchemes: http, https
38
- Metrics/LineLength:
31
+ Layout/LineLength:
39
32
  IgnoredPatterns:
40
33
  - '\A# fk_rails_'
41
34
  - '\A# index_'
42
35
 
36
+ Metrics/BlockLength:
37
+ Exclude:
38
+ - 'bin/setup'
39
+ - 'bin/update'
40
+ - 'config/routes.rb'
41
+ - 'spec/rails_helper.rb'
42
+
43
43
  # For our Rails apps several of them use the `respond_to` with `format` blocks
44
44
  # to handle various mime types (mostly HTML and JSON). Given our `do` / `end`
45
45
  # block style for non-functional blocks (which includes both `respond_to` and
@@ -143,6 +143,37 @@ Rails/FindEach:
143
143
  Rails/HasAndBelongsToMany:
144
144
  Enabled: false
145
145
 
146
+ # We find the combo `:only` and `:if` readable. While the `:except` and `:if`
147
+ # combo is easier to read as a combined proc. As a team we are fine with
148
+ # handling this in PR reviews, until such time which Rubocop provides an option
149
+ # for us to configure this.
150
+ Rails/IgnoredSkipActionFilterOption:
151
+ Enabled: false
152
+
153
+ # We do not care about this check due to its lack of configuration.
154
+ #
155
+ # Some of the team finds the naming of this method is more confusing than using
156
+ # `each_with_object`. We all agree the other examples are bad and should not be
157
+ # used:
158
+ #
159
+ # # OK for us
160
+ # [1, 2, 3].each_with_object({}) { |el, h| h[foo(el)] = el }
161
+ #
162
+ # # Bad
163
+ # [1, 2, 3].to_h { |el| [foo(el), el] }
164
+ # [1, 2, 3].map { |el| [foo(el), el] }.to_h
165
+ # Hash[[1, 2, 3].collect { |el| [foo(el), el] }]
166
+ #
167
+ # If this check supports configuration in the future so that we can allow
168
+ # `each_with_object` then we'll turn it back on.
169
+ Rails/IndexBy:
170
+ Enabled: false
171
+
172
+ # We find the name of this method to be very confusing. We'd prefer this method
173
+ # is never used.
174
+ Rails/IndexWith:
175
+ Enabled: false
176
+
146
177
  # The ActiveSupport monkey patches for `present?` are nearly all defined as:
147
178
  #
148
179
  # !blank?
@@ -220,17 +251,13 @@ Rails/SaveBang:
220
251
  # - http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html
221
252
  # - http://api.rubyonrails.org/classes/ActiveRecord/Relation.html
222
253
  #
254
+ # Configuration parameters: Blacklist, Whitelist.
223
255
  # Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters
224
256
  Rails/SkipsModelValidations:
225
- Blacklist:
226
- - 'decrement_counter'
227
- - 'increment_counter'
228
- - 'toggle!'
229
- - 'update_all'
230
- - 'update_attribute'
231
- - 'update_column'
232
- - 'update_columns'
233
- - 'update_counters'
257
+ Whitelist:
258
+ - 'decrement!'
259
+ - 'increment!'
260
+ - 'touch'
234
261
 
235
262
  # Rails uses compact style by default so we're disabling this with a :hammer:
236
263
  # for things likely to be generated by Rails (i.e. most things in app).
@@ -482,10 +482,8 @@ module Radius
482
482
  end
483
483
 
484
484
  # Try to load the factories defined for the specs
485
- # rubocop:disable Lint/HandleExceptions
486
485
  begin
487
486
  require 'support/model_factories'
488
487
  rescue LoadError
489
488
  # Ignore as this is an optional convenience feature
490
489
  end
491
- # rubocop:enable Lint/HandleExceptions
@@ -22,6 +22,10 @@ RSpec.configure do |config|
22
22
  # ...rather than:
23
23
  # # => "be bigger than 2"
24
24
  expectations.include_chain_clauses_in_custom_matcher_descriptions = true
25
+
26
+ # The default is to warn, but this normally just gets ignored by
27
+ # developers. It's best to fix the problem then live with the warning.
28
+ expectations.on_potential_false_positives = :raise
25
29
  end
26
30
 
27
31
  # rspec-mocks config goes here. You can use an alternate test double
@@ -101,6 +105,11 @@ RSpec.configure do |config|
101
105
  # as the one that triggered the failure.
102
106
  Kernel.srand config.seed
103
107
 
108
+ # Common shared_example / shared_context inclusion alias for behavior driven
109
+ # development
110
+ config.alias_it_should_behave_like_to :has_behavior
111
+ config.alias_it_should_behave_like_to :it_has_behavior, 'has behavior:'
112
+
104
113
  config.when_first_matching_example_defined(
105
114
  :model_factory,
106
115
  :model_factories,
@@ -91,10 +91,8 @@ RSpec.configure do |config|
91
91
  end
92
92
 
93
93
  # Try to any custom VCR config for the app
94
- # rubocop:disable Lint/HandleExceptions
95
94
  begin
96
95
  require 'support/vcr'
97
96
  rescue LoadError
98
97
  # Ignore as this is an optional convenience feature
99
98
  end
100
- # rubocop:enable Lint/HandleExceptions
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Radius
4
4
  module Spec
5
- VERSION = "0.5.0"
5
+ VERSION = "0.9.0"
6
6
  end
7
7
  end
data/radius-spec.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
 
13
13
  spec.metadata = {
14
14
  "bug_tracker_uri" => "https://github.com/RadiusNetworks/radius-spec/issues",
15
- "changelog_uri" => "https://github.com/RadiusNetworks/radius-spec/blob/v#{Radius::Spec::VERSION}/CHANGELOG.md",
15
+ "changelog_uri" => "https://github.com/RadiusNetworks/radius-spec/blob/v#{Radius::Spec::VERSION}/CHANGELOG.md",
16
16
  "source_code_uri" => "https://github.com/RadiusNetworks/radius-spec/tree/v#{Radius::Spec::VERSION}",
17
17
  }
18
18
  spec.summary = "Radius Networks RSpec setup and plug-ins"
@@ -21,18 +21,19 @@ Gem::Specification.new do |spec|
21
21
  spec.homepage = "https://github.com/RadiusNetworks/radius-spec"
22
22
  spec.license = "Apache-2.0"
23
23
 
24
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
24
+ spec.files = `git ls-files -z`.split("\x0").reject { |f|
25
25
  f.match(%r{^(test|spec|features)/})
26
- end
26
+ }
27
27
  spec.bindir = "exe"
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ["lib"]
30
30
 
31
- spec.required_ruby_version = ">= 2.5"
31
+ spec.required_ruby_version = ">= 2.5" # rubocop:disable Gemspec/RequiredRubyVersion
32
32
 
33
33
  spec.add_runtime_dependency "rspec", "~> 3.7"
34
- spec.add_runtime_dependency "rubocop", "~> 0.59.1"
34
+ spec.add_runtime_dependency "rubocop", "~> 0.89.0"
35
+ spec.add_runtime_dependency "rubocop-rails", "~> 2.6.0"
35
36
 
36
- spec.add_development_dependency "bundler", "~> 1.16"
37
- spec.add_development_dependency "rake", "~> 12.0"
37
+ spec.add_development_dependency "bundler", ">= 2.2.10"
38
+ spec.add_development_dependency "rake", ">= 12.0", "< 14.0"
38
39
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radius-spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Radius Networks
8
8
  - Aaron Kromer
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-09-26 00:00:00.000000000 Z
12
+ date: 2021-09-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -31,42 +31,62 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 0.59.1
34
+ version: 0.89.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 0.59.1
41
+ version: 0.89.0
42
42
  - !ruby/object:Gem::Dependency
43
- name: bundler
43
+ name: rubocop-rails
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '1.16'
49
- type: :development
48
+ version: 2.6.0
49
+ type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '1.16'
55
+ version: 2.6.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: bundler
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 2.2.10
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 2.2.10
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: rake
58
72
  requirement: !ruby/object:Gem::Requirement
59
73
  requirements:
60
- - - "~>"
74
+ - - ">="
61
75
  - !ruby/object:Gem::Version
62
76
  version: '12.0'
77
+ - - "<"
78
+ - !ruby/object:Gem::Version
79
+ version: '14.0'
63
80
  type: :development
64
81
  prerelease: false
65
82
  version_requirements: !ruby/object:Gem::Requirement
66
83
  requirements:
67
- - - "~>"
84
+ - - ">="
68
85
  - !ruby/object:Gem::Version
69
86
  version: '12.0'
87
+ - - "<"
88
+ - !ruby/object:Gem::Version
89
+ version: '14.0'
70
90
  description: Standard RSpec setup and a collection of plug-ins to help improve specs.
71
91
  email:
72
92
  - support@radiusnetworks.com
@@ -74,10 +94,11 @@ executables: []
74
94
  extensions: []
75
95
  extra_rdoc_files: []
76
96
  files:
97
+ - ".github/workflows/ci.yml"
98
+ - ".github/workflows/reviewdog.yml"
77
99
  - ".gitignore"
78
100
  - ".rspec"
79
101
  - ".rubocop.yml"
80
- - ".travis.yml"
81
102
  - ".yardopts"
82
103
  - CHANGELOG.md
83
104
  - CODE_OF_CONDUCT.md
@@ -88,6 +109,7 @@ files:
88
109
  - benchmarks/bm_setup.rb
89
110
  - benchmarks/call_vs_yield.rb
90
111
  - benchmarks/case_equality_vs_class_check.rb
112
+ - benchmarks/casecmp_vs_downcase.rb
91
113
  - benchmarks/cover_vs_include.rb
92
114
  - benchmarks/delete_vs_tr.rb
93
115
  - benchmarks/double_negation.rb
@@ -95,14 +117,16 @@ files:
95
117
  - benchmarks/format_string.rb
96
118
  - benchmarks/format_string_token.rb
97
119
  - benchmarks/gsub_vs_tr.rb
120
+ - benchmarks/hash_each.rb
98
121
  - benchmarks/hash_merge.rb
122
+ - benchmarks/hash_transform.rb
99
123
  - benchmarks/kwargs.rb
100
124
  - benchmarks/max_ternary.rb
101
125
  - benchmarks/max_ternary_micro.rb
126
+ - benchmarks/style_hash_like_case.rb
102
127
  - benchmarks/unfreeze_string.rb
103
128
  - benchmarks/unpack_first.rb
104
129
  - bin/ci
105
- - bin/ci-code-review
106
130
  - bin/console
107
131
  - bin/pry
108
132
  - bin/rake
@@ -126,9 +150,9 @@ licenses:
126
150
  - Apache-2.0
127
151
  metadata:
128
152
  bug_tracker_uri: https://github.com/RadiusNetworks/radius-spec/issues
129
- changelog_uri: https://github.com/RadiusNetworks/radius-spec/blob/v0.5.0/CHANGELOG.md
130
- source_code_uri: https://github.com/RadiusNetworks/radius-spec/tree/v0.5.0
131
- post_install_message:
153
+ changelog_uri: https://github.com/RadiusNetworks/radius-spec/blob/v0.9.0/CHANGELOG.md
154
+ source_code_uri: https://github.com/RadiusNetworks/radius-spec/tree/v0.9.0
155
+ post_install_message:
132
156
  rdoc_options: []
133
157
  require_paths:
134
158
  - lib
@@ -143,9 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
167
  - !ruby/object:Gem::Version
144
168
  version: '0'
145
169
  requirements: []
146
- rubyforge_project:
147
- rubygems_version: 2.7.6
148
- signing_key:
170
+ rubygems_version: 3.1.2
171
+ signing_key:
149
172
  specification_version: 4
150
173
  summary: Radius Networks RSpec setup and plug-ins
151
174
  test_files: []
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- cache: bundler
4
- before_install:
5
- - gem update --system
6
- - gem install bundler
7
- bundler_args: --jobs=3 --retry=3 --without documentation debug
8
- before_script:
9
- - "bin/ci-code-review"
10
- script: bin/ci
11
- rvm:
12
- - 2.5
13
- - ruby-head
14
- matrix:
15
- allow_failures:
16
- - rvm: ruby-head
17
- fast_finish: true
data/bin/ci-code-review DELETED
@@ -1,28 +0,0 @@
1
- #!/bin/bash
2
-
3
- # See:
4
- # - https://docs.travis-ci.com/user/environment-variables/#Convenience-Variables
5
- # - https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables
6
- # - https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
7
- if [[ "$TRAVIS_PULL_REQUEST" = "false" ]] || [[ "$TRAVIS_BRANCH" = "production" ]]; then
8
- exit
9
- fi
10
-
11
- set -e
12
- cd "$(dirname "$0")/.."
13
-
14
- REVIEWDOG_VERSION="0.9.9"
15
-
16
- if ! [ "$(./bin/reviewdog -version)" = "$REVIEWDOG_VERSION" ]; then
17
- echo "Installing reviewdog version ${REVIEWDOG_VERSION}..."
18
- curl -fsSL https://github.com/haya14busa/reviewdog/releases/download/$REVIEWDOG_VERSION/reviewdog_linux_amd64 \
19
- -o ./bin/reviewdog
20
- chmod +x ./bin/reviewdog
21
- fi
22
-
23
- echo Rubocop Version: $(./bin/rubocop --version)
24
- echo Review Dog Version: $(./bin/reviewdog -version)
25
-
26
- # Add `-diff="git diff master"` to reviewdog args when running locally
27
- ./bin/rubocop --config .rubocop.yml --extra-details --display-style-guide --rails | \
28
- ./bin/reviewdog -f=rubocop -reporter=github-pr-check