standard 1.0.1 → 1.1.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: 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