standard-rails 0.0.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab3080f565a9c7d7580405c2007ab6c06d1bea30f1e7dffd505d0ef9c0c390e6
4
- data.tar.gz: 77d4a5d0a5b645f86d3a13aa492eb2c7319989f515b25f06c125b689abff434b
3
+ metadata.gz: 652768c12a7064d7e370409ff8a9efd695a8b890fadd85191a88374d3fc93819
4
+ data.tar.gz: 217a54e55bfad2efaa9732b1d04025ce64d3da1c932239b209bc6ae391b6a06b
5
5
  SHA512:
6
- metadata.gz: fafc62eb0a95ff6eeb6c170218ac4297ccdba6187a6a741058fc777802542ca463f211faa44a6ccb8e019edecc117278799c1d87dcf3603a6a553102e6915a70
7
- data.tar.gz: e1ffb63b3a0d5419e975a63f6b2992e0211ba2e1bafc4b2f272b2ea9a64d0d3052495e83b22cc8c5bdaebec79fd41c67ac01cd38ff31b76cb771811dd8e2792f
6
+ metadata.gz: f04acf06d0e03e96bbdbd4c5ef84e71ff5d03f663e7e97abf9752b1e9ea7a8502b5599487f210216a5f3c93e9f417509ebc805c419d9ba47e5c741fc9e465018
7
+ data.tar.gz: 104b2c885ec6f826175f08d11da339ef23d22230ad8a33cbe88d75cc448b7a6479e2754486469d528f3219ec98d6a9c26000734a0b067405069a28e66fb484e4
data/.standard.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  # For available configuration options, see:
2
2
  # https://github.com/testdouble/standard
3
- ruby_version: 2.6
3
+ ruby_version: 2.7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
- ## 0.0.1
1
+ ## [0.2.0]
2
2
 
3
- - Initial release. Doesn't actually exist as a plugin yet, but can be imported
4
- via `extend_config`. We don't recommend this, however, as all the values are
5
- currently set to rubocop-rails defaults!
3
+ - Update Rubocop Rails to [v2.20.2](https://github.com/rubocop/rubocop-rails/releases/tag/v2.20.2)
4
+
5
+ ## [0.1.0]
6
+
7
+ - Configure the cops as agreed upon at RailsConf 2023
8
+
9
+ ## [0.0.1]
10
+
11
+ - Initial release
data/Gemfile CHANGED
@@ -1,8 +1,7 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in standard-rails.gemspec
4
3
  gemspec
5
-
6
4
  gem "rake"
7
5
  gem "minitest"
8
6
  gem "standard"
7
+ gem "m"
data/Gemfile.lock CHANGED
@@ -1,68 +1,90 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standard-rails (0.0.1)
5
- rubocop-rails (~> 2.18.0)
4
+ standard-rails (0.2.0)
5
+ lint_roller (~> 1.0)
6
+ rubocop-rails (~> 2.20.2)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
- activesupport (7.0.4.3)
11
+ activesupport (7.0.7.2)
11
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
13
  i18n (>= 1.6, < 2)
13
14
  minitest (>= 5.1)
14
15
  tzinfo (~> 2.0)
15
16
  ast (2.4.2)
17
+ base64 (0.1.1)
16
18
  concurrent-ruby (1.2.2)
17
- i18n (1.12.0)
19
+ i18n (1.14.1)
18
20
  concurrent-ruby (~> 1.0)
19
21
  json (2.6.3)
20
22
  language_server-protocol (3.17.0.3)
21
- minitest (5.18.0)
22
- parallel (1.22.1)
23
- parser (3.2.1.1)
23
+ lint_roller (1.1.0)
24
+ m (1.6.1)
25
+ method_source (>= 0.6.7)
26
+ rake (>= 0.9.2.2)
27
+ method_source (1.0.0)
28
+ minitest (5.20.0)
29
+ parallel (1.23.0)
30
+ parser (3.2.2.3)
24
31
  ast (~> 2.4.1)
25
- rack (3.0.7)
32
+ racc
33
+ racc (1.7.1)
34
+ rack (3.0.8)
26
35
  rainbow (3.1.1)
27
36
  rake (13.0.6)
28
- regexp_parser (2.7.0)
29
- rexml (3.2.5)
30
- rubocop (1.48.1)
37
+ regexp_parser (2.8.1)
38
+ rexml (3.2.6)
39
+ rubocop (1.56.2)
40
+ base64 (~> 0.1.1)
31
41
  json (~> 2.3)
42
+ language_server-protocol (>= 3.17.0)
32
43
  parallel (~> 1.10)
33
- parser (>= 3.2.0.0)
44
+ parser (>= 3.2.2.3)
34
45
  rainbow (>= 2.2.2, < 4.0)
35
46
  regexp_parser (>= 1.8, < 3.0)
36
47
  rexml (>= 3.2.5, < 4.0)
37
- rubocop-ast (>= 1.26.0, < 2.0)
48
+ rubocop-ast (>= 1.28.1, < 2.0)
38
49
  ruby-progressbar (~> 1.7)
39
50
  unicode-display_width (>= 2.4.0, < 3.0)
40
- rubocop-ast (1.27.0)
51
+ rubocop-ast (1.29.0)
41
52
  parser (>= 3.2.1.0)
42
- rubocop-performance (1.16.0)
53
+ rubocop-performance (1.19.0)
43
54
  rubocop (>= 1.7.0, < 2.0)
44
55
  rubocop-ast (>= 0.4.0)
45
- rubocop-rails (2.18.0)
56
+ rubocop-rails (2.20.2)
46
57
  activesupport (>= 4.2.0)
47
58
  rack (>= 1.1)
48
59
  rubocop (>= 1.33.0, < 2.0)
49
60
  ruby-progressbar (1.13.0)
50
- standard (1.25.2)
61
+ standard (1.31.0)
51
62
  language_server-protocol (~> 3.17.0.2)
52
- rubocop (= 1.48.1)
53
- rubocop-performance (= 1.16.0)
63
+ lint_roller (~> 1.0)
64
+ rubocop (~> 1.56.0)
65
+ standard-custom (~> 1.0.0)
66
+ standard-performance (~> 1.2)
67
+ standard-custom (1.0.2)
68
+ lint_roller (~> 1.0)
69
+ rubocop (~> 1.50)
70
+ standard-performance (1.2.0)
71
+ lint_roller (~> 1.1)
72
+ rubocop-performance (~> 1.19.0)
54
73
  tzinfo (2.0.6)
55
74
  concurrent-ruby (~> 1.0)
56
75
  unicode-display_width (2.4.2)
57
76
 
58
77
  PLATFORMS
78
+ arm64-darwin-20
59
79
  arm64-darwin-22
80
+ x86_64-linux
60
81
 
61
82
  DEPENDENCIES
83
+ m
62
84
  minitest
63
85
  rake
64
86
  standard
65
87
  standard-rails!
66
88
 
67
89
  BUNDLED WITH
68
- 2.4.8
90
+ 2.4.10
data/README.md CHANGED
@@ -1,8 +1,35 @@
1
1
  # standard-rails
2
2
 
3
- This gem will be the first official plugin for the
4
- [standard](https://github.com/testdouble/standard) gem, which is a Ruby code
5
- linter and formatter.
3
+ This gem provides a [lint_roller](https://github.com/standardrb/lint_roller)
4
+ plugin configuration for the
5
+ [rubocop-rails](https://github.com/rubocop/rubocop-rails) ruleset, for use
6
+ as an extension to the [Standard Ruby
7
+ gem](https://github.com/standardrb/standard).
8
+
9
+ To install it, you'll want to start by adding it to your Gemfile:
10
+
11
+ ```ruby
12
+ gem "standard-rails"
13
+ ```
14
+
15
+ ## Configuration
16
+
17
+ In your `.standard.yml` file, you can simply list `standard-rails` as a plugin:
18
+
19
+ ```yaml
20
+ plugins:
21
+ - standard-rails
22
+ ```
23
+
24
+ Even though it'll usually be inferred automatically, you can specify the exact
25
+ version of Rails you want the rules to run against by converting the string to
26
+ a nested hash:
27
+
28
+ ```yaml
29
+ plugins:
30
+ - standard-rails:
31
+ target_rails_version: 7.0
32
+ ```
6
33
 
7
34
  ## Code of Conduct
8
35
 
@@ -12,3 +39,4 @@ including (but not limited to) one-on-one communications, public posts/comments,
12
39
  code reviews, pull requests, and GitHub issues. If violations occur, Test Double
13
40
  will take any action they deem appropriate for the infraction, up to and
14
41
  including blocking a user from the organization's repositories.
42
+
data/Rakefile CHANGED
@@ -7,6 +7,47 @@ Rake::TestTask.new(:test) do |t|
7
7
  t.test_files = FileList["test/**/*_test.rb"]
8
8
  end
9
9
 
10
+ task :copy_rubocop_rails_entry_point_and_comment_out_monkey_patch do
11
+ gem_spec = Gem.loaded_specs["rubocop-rails"]
12
+ gem_require_path = Pathname.new(gem_spec.full_require_paths.first)
13
+ entry_point_contents = File.read(gem_require_path.join("rubocop-rails.rb"))
14
+ already_printed_load_path_veriable = false
15
+ entry_point_without_monkey_patch = entry_point_contents.split("\n").map { |line|
16
+ if line.include?("Inject.defaults!") || line.include?("rails/inject")
17
+ line.prepend("# ")
18
+ elsif line.include?("require_relative")
19
+ relative_path = line.match(/require_relative ['"](.*)['"]/)[1]
20
+
21
+ if !already_printed_load_path_veriable
22
+ already_printed_load_path_veriable = true
23
+ [
24
+ "require_path = Pathname.new(Gem.loaded_specs[\"rubocop-rails\"].full_require_paths.first)",
25
+ "require require_path.join(#{relative_path.inspect})"
26
+ ]
27
+ else
28
+ "require require_path.join(#{relative_path.inspect})"
29
+ end
30
+ else
31
+ line
32
+ end
33
+ }.flatten.join("\n")
34
+
35
+ File.write "lib/standard/rails/load_rubocop_rails_without_the_monkey_patch.rb", <<~RUBY
36
+ # GENERATED FILE - DO NOT EDIT
37
+ #
38
+ # This file should look just like: https://github.com/rubocop/rubocop-rails/blob/master/lib/rubocop-rails.rb
39
+ # Except without the `Inject.defaults!` monkey patching.
40
+ #
41
+ # Because there are both necessary require statements and additional patching
42
+ # of RuboCop built-in cops in this file, we need to monitor it for changes
43
+ # in rubocop-rails and keep it up to date.
44
+ #
45
+ # Last updated from #{gem_spec.name} v#{gem_spec.version}
46
+
47
+ #{entry_point_without_monkey_patch}
48
+ RUBY
49
+ end
50
+
10
51
  require "standard/rake"
11
52
 
12
- task default: %i[test standard:fix]
53
+ task default: %i[copy_rubocop_rails_entry_point_and_comment_out_monkey_patch standard:fix test]