standard 1.0.1 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad16fa94acb2de73ebed6090c37d6e73791f7db9588ce441606963930381d36a
4
- data.tar.gz: 2a649119dd14d36e72f0eb159373cba7b173e43b92566a27d92c8d4582564a89
3
+ metadata.gz: 16ec4288b1ec5d16ae48f2b6ccd9bee9dd3a644ea1461f0745b629bca3367599
4
+ data.tar.gz: d2eb8efc1ca7e9561806ed7820e3ad17fc30c44d02c7ffc0d69f0ad56dac2ce3
5
5
  SHA512:
6
- metadata.gz: 6190b3e6ffd7bc1f7254c42d085fa42e4e7e5d16032c46841be6c7149a7ee3d3b01ea07487380237bc7745d2d52112b9c1f8434fac55ce11935212ed6f081b08
7
- data.tar.gz: d3c470c9d92695eaa9acb8532b2959176e2c6caa42115cb5781eb6efff81ebab9f711ead27598b7acc3c643a193a9848c7b81dc26637f1d239d38cb8131f2009
6
+ metadata.gz: 5e9b1e0954d2e9df13ce44cf0a5bbf18bb5c76093828c6205467ac67065061c0eee839b7caf3da2cc48563770c6355ad4b5d256b6ad9f50a938266b8dabe08df
7
+ data.tar.gz: 49effa8819996f2eec32ad46b1a333bf9edd1e99a048d2f9443868494c2dcc939e0f248904426d953dd7e63450b2388ba0fa222ce62e89a0ffefc9af702cff78
@@ -12,7 +12,7 @@ jobs:
12
12
  strategy:
13
13
  matrix:
14
14
  os: [ ubuntu-latest ]
15
- ruby-version: [2.4, 2.7, 3.0]
15
+ ruby-version: [2.5, 2.7, 3.0]
16
16
 
17
17
  runs-on: ${{ matrix.os }}
18
18
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.0
4
+
5
+ * Update rubocop from 1.12.1 to [1.13.0](https://github.com/rubocop-hq/rubocop/releases/tag/v1.13.0)
6
+ * Update rubocop-performance from 1.9.2 to [1.11.1](https://github.com/rubocop-hq/rubocop-performance/releases/tag/v1.11.1)
7
+ * Enabled the following rules:
8
+ * [`Performance/RedundantSplitRegexpArgument`](https://github.com/rubocop/rubocop-performance/pull/190)
9
+ * [`Style/IfWithBooleanLiteralBranches`](https://github.com/rubocop-hq/rubocop/pull/9396)
10
+ * [`Lint/TripleQuotes`](https://github.com/rubocop-hq/rubocop/pull/9402)
11
+ * [`Lint/SymbolConversion`](https://github.com/rubocop/rubocop/pull/9362)
12
+ * [`Lint/OrAssignmentToConstant`](https://github.com/rubocop-hq/rubocop/pull/9363)
13
+ * [`Lint/NumberedParameterAssignment`](https://github.com/rubocop-hq/rubocop/pull/9326)
14
+ * [`Style/HashConversion`](https://github.com/rubocop-hq/rubocop/pull/9478)
15
+ * [`Gemspec/DateAssignment`](https://github.com/rubocop-hq/rubocop/pull/9496)
16
+ * [`Style/StringChars`](https://github.com/rubocop/rubocop/pull/9615)
17
+
18
+ ## 1.0.5
19
+
20
+ * Update rubocop from 1.11.0 to [1.12.1](https://github.com/rubocop-hq/rubocop/releases/tag/v1.12.1)
21
+
22
+ ## 1.0.4
23
+
24
+ * Workaround RuboCop's CLI from erroring when it detects a cop named
25
+ BlockDelimiters by renaming it to BlockSingleLineBraces
26
+ ([#271](https://github.com/testdouble/standard/issues/271)0
27
+
28
+ ## 1.0.3
29
+
30
+ * Fix an exit code bug introduced in 1.0.2
31
+ ([#272](https://github.com/testdouble/standard/pull/272)
32
+
33
+ ## 1.0.2
34
+
35
+ * Preserve RuboCop's CLI exit codes
36
+ ([#270](https://github.com/testdouble/standard/pull/270)) by
37
+ [@nicksieger](https://github.com/nicksieger)
38
+
3
39
  ## 1.0.1
4
40
 
5
41
  * Update rubocop from 1.10.0 to [1.11.0](https://github.com/rubocop-hq/rubocop/releases/tag/v1.11.0)
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standard (1.0.1)
5
- rubocop (= 1.11.0)
6
- rubocop-performance (= 1.10.1)
4
+ standard (1.1.0)
5
+ rubocop (= 1.13.0)
6
+ rubocop-performance (= 1.11.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -15,16 +15,16 @@ GEM
15
15
  method_source (1.0.0)
16
16
  minitest (5.14.4)
17
17
  parallel (1.20.1)
18
- parser (3.0.0.0)
18
+ parser (3.0.1.1)
19
19
  ast (~> 2.4.1)
20
- pry (0.14.0)
20
+ pry (0.14.1)
21
21
  coderay (~> 1.1)
22
22
  method_source (~> 1.0)
23
23
  rainbow (3.0.0)
24
24
  rake (13.0.3)
25
25
  regexp_parser (2.1.1)
26
- rexml (3.2.4)
27
- rubocop (1.11.0)
26
+ rexml (3.2.5)
27
+ rubocop (1.13.0)
28
28
  parallel (~> 1.10)
29
29
  parser (>= 3.0.0.0)
30
30
  rainbow (>= 2.2.2, < 4.0)
@@ -33,10 +33,10 @@ GEM
33
33
  rubocop-ast (>= 1.2.0, < 2.0)
34
34
  ruby-progressbar (~> 1.7)
35
35
  unicode-display_width (>= 1.4.0, < 3.0)
36
- rubocop-ast (1.4.1)
37
- parser (>= 2.7.1.5)
38
- rubocop-performance (1.10.1)
39
- rubocop (>= 0.90.0, < 2.0)
36
+ rubocop-ast (1.5.0)
37
+ parser (>= 3.0.1.1)
38
+ rubocop-performance (1.11.1)
39
+ rubocop (>= 1.7.0, < 2.0)
40
40
  rubocop-ast (>= 0.4.0)
41
41
  ruby-progressbar (1.11.0)
42
42
  simplecov (0.21.2)
@@ -44,7 +44,7 @@ GEM
44
44
  simplecov-html (~> 0.11)
45
45
  simplecov_json_formatter (~> 0.1)
46
46
  simplecov-html (0.12.3)
47
- simplecov_json_formatter (0.1.2)
47
+ simplecov_json_formatter (0.1.3)
48
48
  unicode-display_width (2.0.0)
49
49
 
50
50
  PLATFORMS
data/LICENSE.txt CHANGED
@@ -2,7 +2,7 @@ Copyright (c) 2019 Test Double, LLC
2
2
 
3
3
  Portions of these files Copyright (c) 2012-18 Bozhidar Batsov:
4
4
  - config/base.yml
5
- - lib/standard/cop/block_delimiters.rb
5
+ - lib/standard/cop/block_single_line_braces.rb
6
6
  - test/cop_invoker.rb
7
7
 
8
8
  Permission is hereby granted, free of charge, to any person obtaining
data/README.md CHANGED
@@ -211,6 +211,7 @@ if you've used StandardJS.)
211
211
  * [myRent](https://www.myrent.co.nz)
212
212
  * [Renuo](https://www.renuo.ch/)
213
213
  * [JetThoughts](https://www.jetthoughts.com/)
214
+ * [Oyster](https://www.oysterhr.com/)
214
215
  * And that's about it so far!
215
216
 
216
217
  If your team starts using Standard, [send a pull
@@ -231,11 +232,6 @@ style.
231
232
 
232
233
  ## I disagree with rule X, can you change it?
233
234
 
234
- **[NOTE: until StandardRB hits 1.0.0, the answer is yes! It just requires
235
- [opening an issue](https://github.com/testdouble/standard/issues/new) and
236
- convincing [@searls](https://twitter.com/searls) (the BDFNow) to make the
237
- change.]**
238
-
239
235
  No. The whole point of Standard is to save you time by avoiding
240
236
  [bikeshedding](https://www.freebsd.org/doc/en/books/faq/misc.html#bikeshed-painting)
241
237
  about code style. There are lots of debates online about tabs vs. spaces, etc.
@@ -295,7 +291,7 @@ rules to ignore for a particular glob:
295
291
  ```yaml
296
292
  ignore:
297
293
  - 'test/**/*':
298
- - Style/BlockDelimiters
294
+ - Layout/EndAlignment
299
295
  ```
300
296
 
301
297
  ## How do I disable a warning within my source code?
data/config/base.yml CHANGED
@@ -21,6 +21,9 @@ Bundler/InsecureProtocolSource:
21
21
  - '**/Gemfile'
22
22
  - '**/gems.rb'
23
23
 
24
+ Gemspec/DateAssignment:
25
+ Enabled: true
26
+
24
27
  Gemspec/DuplicatedAssignment:
25
28
  Enabled: true
26
29
  Include:
@@ -478,6 +481,12 @@ Lint/NonDeterministicRequireOrder:
478
481
  Lint/NonLocalExitFromIterator:
479
482
  Enabled: true
480
483
 
484
+ Lint/NumberedParameterAssignment:
485
+ Enabled: true
486
+
487
+ Lint/OrAssignmentToConstant:
488
+ Enabled: true
489
+
481
490
  Lint/OrderedMagicComments:
482
491
  Enabled: true
483
492
 
@@ -557,6 +566,9 @@ Lint/ShadowedArgument:
557
566
  Lint/ShadowedException:
558
567
  Enabled: true
559
568
 
569
+ Lint/SymbolConversion:
570
+ Enabled: true
571
+
560
572
  Lint/Syntax:
561
573
  Enabled: true
562
574
 
@@ -566,6 +578,9 @@ Lint/TopLevelReturnWithArgument:
566
578
  Lint/TrailingCommaInAttributeDeclaration:
567
579
  Enabled: true
568
580
 
581
+ Lint/TripleQuotes:
582
+ Enabled: true
583
+
569
584
  Lint/UnderscorePrefixedVariableName:
570
585
  Enabled: true
571
586
 
@@ -689,6 +704,9 @@ Performance/RedundantMerge:
689
704
  Performance/RedundantSortBlock:
690
705
  Enabled: true
691
706
 
707
+ Performance/RedundantSplitRegexpArgument:
708
+ Enabled: true
709
+
692
710
  Performance/RedundantStringChars:
693
711
  Enabled: true
694
712
 
@@ -738,7 +756,7 @@ Security/YAMLLoad:
738
756
  Enabled: true
739
757
  SafeAutoCorrect: false
740
758
 
741
- Standard/BlockDelimiters:
759
+ Standard/BlockSingleLineBraces:
742
760
  Enabled: true
743
761
 
744
762
  Style/Alias:
@@ -747,7 +765,6 @@ Style/Alias:
747
765
 
748
766
  Style/AndOr:
749
767
  Enabled: true
750
- EnforcedStyle: always
751
768
 
752
769
  Style/ArgumentsForwarding:
753
770
  Enabled: true
@@ -855,6 +872,9 @@ Style/GlobalVars:
855
872
  Enabled: true
856
873
  AllowedVariables: []
857
874
 
875
+ Style/HashConversion:
876
+ Enabled: true
877
+
858
878
  Style/HashExcept:
859
879
  Enabled: true
860
880
 
@@ -871,6 +891,9 @@ Style/IfInsideElse:
871
891
  Style/IfUnlessModifierOfIfUnless:
872
892
  Enabled: true
873
893
 
894
+ Style/IfWithBooleanLiteralBranches:
895
+ Enabled: true
896
+
874
897
  Style/IfWithSemicolon:
875
898
  Enabled: true
876
899
 
@@ -1090,6 +1113,9 @@ Style/StabbyLambdaParentheses:
1090
1113
  Style/StderrPuts:
1091
1114
  Enabled: true
1092
1115
 
1116
+ Style/StringChars:
1117
+ Enabled: true
1118
+
1093
1119
  Style/StringLiterals:
1094
1120
  Enabled: true
1095
1121
  EnforcedStyle: double_quotes
data/config/ruby-1.9.yml CHANGED
@@ -2,3 +2,6 @@ inherit_from: ./ruby-2.2.yml
2
2
 
3
3
  Style/Encoding:
4
4
  Enabled: false
5
+
6
+ Style/HashConversion:
7
+ Enabled: false
data/config/ruby-2.3.yml CHANGED
@@ -1,4 +1 @@
1
- inherit_from: ./ruby-2.5.yml
2
-
3
- AllCops:
4
- TargetRubyVersion: 2.4 # The oldest supported
1
+ inherit_from: ./ruby-2.4.yml
@@ -0,0 +1,4 @@
1
+ inherit_from: ./ruby-2.5.yml
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.5 # The oldest supported
data/lib/standard.rb CHANGED
@@ -7,7 +7,7 @@ require "standard/cli"
7
7
  require "standard/railtie" if defined?(Rails) && defined?(Rails::Railtie)
8
8
 
9
9
  require "standard/formatter"
10
- require "standard/cop/block_delimiters"
10
+ require "standard/cop/block_single_line_braces"
11
11
 
12
12
  module Standard
13
13
  end
data/lib/standard/cli.rb CHANGED
@@ -3,9 +3,6 @@ require_relative "loads_runner"
3
3
 
4
4
  module Standard
5
5
  class Cli
6
- SUCCESS_STATUS_CODE = 0
7
- FAILURE_STATUS_CODE = 1
8
-
9
6
  def initialize(argv)
10
7
  @argv = argv
11
8
  @builds_config = BuildsConfig.new
@@ -14,10 +11,7 @@ module Standard
14
11
 
15
12
  def run
16
13
  config = @builds_config.call(@argv)
17
-
18
- success = @loads_runner.call(config.runner).call(config)
19
-
20
- success ? SUCCESS_STATUS_CODE : FAILURE_STATUS_CODE
14
+ @loads_runner.call(config.runner).call(config).to_i
21
15
  end
22
16
  end
23
17
  end
@@ -10,7 +10,7 @@ module RuboCop::Cop
10
10
  # # good - single line block
11
11
  # items.each { |item| item / 5 }
12
12
  #
13
- class BlockDelimiters < RuboCop::Cop::Base
13
+ class BlockSingleLineBraces < RuboCop::Cop::Base
14
14
  extend RuboCop::Cop::AutoCorrector
15
15
 
16
16
  def on_send(node)
@@ -18,6 +18,8 @@ class Standard::CreatesConfigStore
18
18
  "ruby-2.2.yml"
19
19
  elsif desired_version < Gem::Version.new("2.4")
20
20
  "ruby-2.3.yml"
21
+ elsif desired_version < Gem::Version.new("2.5")
22
+ "ruby-2.4.yml"
21
23
  elsif desired_version < Gem::Version.new("2.6")
22
24
  "ruby-2.5.yml"
23
25
  elsif desired_version < Gem::Version.new("3.0")
@@ -9,7 +9,7 @@ class Standard::CreatesConfigStore
9
9
  private
10
10
 
11
11
  def max_rubocop_supported_version(desired_version)
12
- rubocop_supported_version = Gem::Version.new("2.4")
12
+ rubocop_supported_version = Gem::Version.new("2.5")
13
13
  if desired_version < rubocop_supported_version
14
14
  rubocop_supported_version
15
15
  else
@@ -6,9 +6,9 @@ module RuboCop
6
6
  end
7
7
  end
8
8
 
9
- class CommentConfig
10
- remove_const :COMMENT_DIRECTIVE_REGEXP
11
- COMMENT_DIRECTIVE_REGEXP = Regexp.new(
9
+ class DirectiveComment
10
+ remove_const :DIRECTIVE_COMMENT_REGEXP
11
+ DIRECTIVE_COMMENT_REGEXP = Regexp.new(
12
12
  ('# (?:standard|rubocop) : ((?:disable|enable|todo))\b ' + COPS_PATTERN)
13
13
  .gsub(" ", '\s*')
14
14
  )
@@ -13,7 +13,7 @@ module Standard
13
13
  config.rubocop_options[:formatters] = [["files", temp_file.path]]
14
14
  config.rubocop_options[:format] = "files"
15
15
  config.rubocop_options[:out] = temp_file.path
16
- Runners::Rubocop.new.call(config)
16
+ exit_code = Runners::Rubocop.new.call(config)
17
17
 
18
18
  # Read in the files with errors. It will have the absolute paths
19
19
  # of the files but we only want the relative path.
@@ -37,6 +37,7 @@ module Standard
37
37
  file.puts "# Remove from this list as you refactor files."
38
38
  file.write(yaml_format_errors.to_yaml)
39
39
  end
40
+ exit_code
40
41
  ensure
41
42
  # Clean up temp file.
42
43
  temp_file.close
@@ -4,36 +4,15 @@ module Standard
4
4
  module Runners
5
5
  class Rubocop
6
6
  def call(config)
7
- rubocop_runner = RuboCop::Runner.new(
8
- config.rubocop_options,
9
- config.rubocop_config_store
7
+ rubocop_runner = RuboCop::CLI::Command::ExecuteRunner.new(
8
+ RuboCop::CLI::Environment.new(
9
+ config.rubocop_options,
10
+ config.rubocop_config_store,
11
+ config.paths
12
+ )
10
13
  )
11
14
 
12
- rubocop_runner.run(config.paths).tap do |success|
13
- print_errors_and_warnings(success, rubocop_runner)
14
- print_corrected_code_if_fixing_stdin(config.rubocop_options)
15
- end
16
- end
17
-
18
- private
19
-
20
- def print_errors_and_warnings(success, rubocop_runner)
21
- return unless success
22
-
23
- (rubocop_runner.warnings + rubocop_runner.errors).each do |message|
24
- warn message
25
- end
26
- end
27
-
28
- def print_corrected_code_if_fixing_stdin(rubocop_options)
29
- return unless rubocop_options[:stdin] && rubocop_options[:auto_correct]
30
-
31
- if rubocop_options[:stderr]
32
- warn "=" * 20
33
- else
34
- puts "=" * 20
35
- end
36
- print rubocop_options[:stdin]
15
+ rubocop_runner.run
37
16
  end
38
17
  end
39
18
  end
@@ -1,3 +1,3 @@
1
1
  module Standard
2
- VERSION = Gem::Version.new("1.0.1")
2
+ VERSION = Gem::Version.new("1.1.0")
3
3
  end
data/standard.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.version = Standard::VERSION
8
8
  spec.authors = ["Justin Searls"]
9
9
  spec.email = ["searls@gmail.com"]
10
- spec.required_ruby_version = ">= 2.4.0"
10
+ spec.required_ruby_version = ">= 2.5.0"
11
11
 
12
12
  spec.summary = "Ruby Style Guide, with linter & automatic code fixer"
13
13
  spec.homepage = "https://github.com/testdouble/standard"
@@ -19,6 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency "rubocop", "1.11.0"
23
- spec.add_dependency "rubocop-performance", "1.10.1"
22
+ spec.add_dependency "rubocop", "1.13.0"
23
+ spec.add_dependency "rubocop-performance", "1.11.1"
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Searls
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-04 00:00:00.000000000 Z
11
+ date: 2021-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.11.0
19
+ version: 1.13.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.11.0
26
+ version: 1.13.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubocop-performance
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.10.1
33
+ version: 1.11.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.10.1
40
+ version: 1.11.1
41
41
  description:
42
42
  email:
43
43
  - searls@gmail.com
@@ -62,6 +62,7 @@ files:
62
62
  - config/ruby-1.9.yml
63
63
  - config/ruby-2.2.yml
64
64
  - config/ruby-2.3.yml
65
+ - config/ruby-2.4.yml
65
66
  - config/ruby-2.5.yml
66
67
  - config/ruby-2.7.yml
67
68
  - docs/RELEASE.md
@@ -69,7 +70,7 @@ files:
69
70
  - lib/standard.rb
70
71
  - lib/standard/builds_config.rb
71
72
  - lib/standard/cli.rb
72
- - lib/standard/cop/block_delimiters.rb
73
+ - lib/standard/cop/block_single_line_braces.rb
73
74
  - lib/standard/creates_config_store.rb
74
75
  - lib/standard/creates_config_store/assigns_rubocop_yaml.rb
75
76
  - lib/standard/creates_config_store/configures_ignored_paths.rb
@@ -101,14 +102,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
102
  requirements:
102
103
  - - ">="
103
104
  - !ruby/object:Gem::Version
104
- version: 2.4.0
105
+ version: 2.5.0
105
106
  required_rubygems_version: !ruby/object:Gem::Requirement
106
107
  requirements:
107
108
  - - ">="
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  requirements: []
111
- rubygems_version: 3.1.4
112
+ rubygems_version: 3.1.2
112
113
  signing_key:
113
114
  specification_version: 4
114
115
  summary: Ruby Style Guide, with linter & automatic code fixer