mry 0.50.0.0 → 0.51.0.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
  SHA1:
3
- metadata.gz: 41406d4a5dba6af9b6a3b7c95eb7495f39b1c5ac
4
- data.tar.gz: dfd1df230426618a98e2c5cfe0ecc1a2166ca106
3
+ metadata.gz: 15b17045e3852894486fa3b095d0536a4eeeb446
4
+ data.tar.gz: 1aa5bb16b8377e503de0b91d1b3f521f5b32940d
5
5
  SHA512:
6
- metadata.gz: 8d4ed71a150c9b37e59968354ee6977f0f225221c2f229e9cb153609828494f7159ba7df4108b8392d82ad7fe370ce47f1f109e9f86eeddba8ec87ad16a30585
7
- data.tar.gz: c485f538ab21a9874bed758d1fa7f627866c93d2c6db25ee2dc250c74f295adba7a14bf1692c3504a0fd76b5230b14ca120a1ec2213bd3758e96fb728e620ff3
6
+ metadata.gz: e47372ddb2b2f9c06fe378b56740bbdf191c30c0bda199152534a9675707cc0a336937cea8d8735868cc355c01baeaed7e83c7b3e26f3d2aa838dbe7d1f0bba3
7
+ data.tar.gz: bf21b7bbb54d800d21a4382415eb21601db68015b37df7fabc9229f85f117c6a51c2bbacca59741b7f2b1be27170c385c094fddc4d22a1d2e3bb7f9c75b52514
data/README.md CHANGED
@@ -34,7 +34,38 @@ $ mry .rubocop.yml
34
34
  Update `.rubocop.yml` to version 0.48.0:
35
35
 
36
36
  ```bash
37
- $ mry --target=0.48.0 .rubocop.yml
37
+ $ mry --target=0.51.0 .rubocop.yml
38
+ ```
39
+
40
+ And you can specify current RuboCop version.
41
+ If you specify current RuboCop version, mry adds cops that are added in new version RuboCop to your `.rubocop.yml`.
42
+ By this feature, you can check new features of RuboCop with mry.
43
+
44
+ ```bash
45
+ $ mry --from=0.50.0 --target=0.51.0 .rubocop.yml
46
+ $ cat .rubocop.yml
47
+ ...
48
+
49
+
50
+ # The following cops are added between 0.50.0 and 0.51.0.
51
+ # The configurations are default.
52
+ # If you want to use a cop by default, remove a configuration for the cop from here.
53
+ # If you want to disable a cop, change `Enabled` to false.
54
+
55
+ # Supports --auto-correct
56
+ Gemspec/OrderedDependencies:
57
+ Description: Dependencies in the gemspec should be alphabetically sorted.
58
+ Enabled: true
59
+ Include:
60
+ - "**/*.gemspec"
61
+ TreatCommentsAsGroupSeparators: true
62
+
63
+ # Supports --auto-correct
64
+ Lint/RedundantWithObject:
65
+ Description: Checks for redundant `with_object`.
66
+ Enabled: true
67
+
68
+ ...
38
69
  ```
39
70
 
40
71
  ### Example
data/lib/mry.rb CHANGED
@@ -1,15 +1,13 @@
1
1
  require 'yaml_rewriter'
2
2
  require 'optparse'
3
+ require 'tmpdir'
4
+ require 'pathname'
3
5
 
4
6
  require "mry/version"
5
- require 'mry/rewriter_master'
6
- require 'mry/rewriter_0_50_0'
7
- require 'mry/rewriter_0_49_0'
8
- require 'mry/rewriter_0_47_0'
9
- require 'mry/rewriter_0_46_0'
10
- require 'mry/rewriter_0'
7
+ require 'mry/rewriters'
11
8
  require 'mry/runner'
12
9
  require 'mry/cli'
10
+ require 'mry/added_cops'
13
11
 
14
12
  module Mry
15
13
  end
@@ -0,0 +1,200 @@
1
+ module Mry
2
+ module AddedCops
3
+ Cops = {
4
+ Gem::Version.new('0.51.0') => %w[
5
+ Rails/UnknownEnv
6
+ Style/StderrPuts
7
+ Lint/UnneededRequireStatement
8
+ Lint/RedundantWithObject
9
+ Style/CommentedKeyword
10
+ Lint/RegexpAsCondition
11
+ Style/MixinUsage
12
+ Style/DateTime
13
+ Gemspec/OrderedDependencies
14
+ ],
15
+ Gem::Version.new('0.50.0') => %w[
16
+ Style/RedundantConditional
17
+ Naming/HeredocDelimiterNaming
18
+ Lint/ReturnInVoidContext
19
+ Lint/BooleanSymbol
20
+ Rails/HasManyOrHasOneDependent
21
+ Style/Dir
22
+ Naming/HeredocDelimiterCase
23
+ Lint/RescueWithoutErrorClass
24
+ Performance/UnfreezeString
25
+ Style/OrAssignment
26
+ Style/ReturnNil
27
+ Lint/UriEscapeUnescape
28
+ Performance/UriDefaultParser
29
+ Lint/UriRegexp
30
+ Style/MinMax
31
+ Bundler/InsecureProtocolSource
32
+ Lint/RedundantWithIndex
33
+ Lint/InterpolationCheck
34
+ ],
35
+ Gem::Version.new('0.49.0') => %w[
36
+ Rails/ApplicationJob
37
+ Rails/ApplicationRecord
38
+ Performance/Caller
39
+ Style/FormatStringToken
40
+ Lint/ScriptPermission
41
+ Style/YodaCondition
42
+ Style/MultipleComparison
43
+ Lint/RescueType
44
+ ],
45
+ Gem::Version.new('0.48.0') => %w[
46
+ Performance/DoubleStartEndWith
47
+ Style/EmptyLineAfterMagicComment
48
+ Style/MixinGrouping
49
+ Style/EmptyLinesAroundBeginBody
50
+ Style/EmptyLinesAroundExceptionHandlingKeywords
51
+ Rails/RelativeDateConstant
52
+ Style/IndentHeredoc
53
+ Style/InverseMethods
54
+ Rails/ActiveSupportAliases
55
+ Lint/AmbiguousBlockAssociation
56
+ Rails/Blank
57
+ Rails/Present
58
+ ],
59
+ Gem::Version.new('0.47.0') => %w[
60
+ Lint/MultipleCompare
61
+ Lint/SafeNavigationChain
62
+ Security/MarshalLoad
63
+ Security/YAMLLoad
64
+ Performance/RegexpMatch
65
+ Rails/FilePath
66
+ Rails/SkipsModelValidations
67
+ Style/MethodCallWithArgsParentheses
68
+ Rails/ReversibleMigration
69
+ ],
70
+ Gem::Version.new('0.46.0') => %w[
71
+ Bundler/DuplicatedGem
72
+ Style/EmptyMethod
73
+ Rails/EnumUniqueness
74
+ Bundler/OrderedGems
75
+ ],
76
+ Gem::Version.new('0.45.0') => %w[
77
+ Lint/DuplicateCaseCondition
78
+ Lint/EmptyWhen
79
+ Style/MultilineIfModifier
80
+ Style/SpaceInLambdaLiteral
81
+ Lint/EmptyExpression
82
+ ],
83
+ Gem::Version.new('0.44.0') => %w[
84
+ Rails/HttpPositionalArguments
85
+ Metrics/BlockLength
86
+ Rails/DynamicFindBy
87
+ Rails/DelegateAllowBlank
88
+ Style/MultilineMemoization
89
+ ],
90
+ Gem::Version.new('0.43.0') => %w[
91
+ Style/DocumentationMethod
92
+ Rails/SafeNavigation
93
+ Rails/NotNullColumn
94
+ Style/VariableNumber
95
+ Security/JSONLoad
96
+ Style/SafeNavigation
97
+ Performance/SortWithBlock
98
+ Lint/UnifiedInteger
99
+ ],
100
+ Gem::Version.new('0.42.0') => %w[
101
+ Style/TernaryParentheses
102
+ Style/MethodMissing
103
+ Rails/SaveBang
104
+ Style/NumericPredicate
105
+ ],
106
+ Gem::Version.new('0.41.0') => %w[
107
+ Style/SpaceInsidePercentLiteralDelimiters
108
+ Style/SpaceInsideArrayPercentLiteral
109
+ Style/NumericLiteralPrefix
110
+ Style/ImplicitRuntimeError
111
+ Style/EachForSimpleLoop
112
+ Lint/ShadowedException
113
+ Lint/PercentSymbolArray
114
+ Lint/PercentStringArray
115
+ Lint/InheritException
116
+ Performance/PushSplat
117
+ Rails/RequestReferer
118
+ Rails/OutputSafety
119
+ Rails/Exit
120
+ ],
121
+ }.freeze
122
+
123
+ class RuboCopVersionMismatchError < StandardError
124
+ def initialize(expected:)
125
+ @expected = expected
126
+ end
127
+
128
+ def message
129
+ <<~MES
130
+
131
+ `require 'rubocop'` is failed because mry can't find rubocop v#{@expected}.
132
+ Execute `gem install rubocop -v #{@expected}`.
133
+ Or update rubocop version in your Gemfile, and execute `bundle install` if you use `bundle exec`.
134
+
135
+ MES
136
+ end
137
+ end
138
+
139
+ class << self
140
+ def added_cops_yaml(from:, to:)
141
+ begin
142
+ gem 'rubocop', "= #{to}"
143
+ require 'rubocop'
144
+ rescue Gem::MissingSpecVersionError, Gem::LoadError
145
+ raise RuboCopVersionMismatchError.new(expected: to)
146
+ end
147
+ cops = added_cops(from: from, to: to)
148
+ return if cops.empty?
149
+
150
+ in_tmpdir do
151
+ stdout do
152
+ RuboCop::CLI.new.run(['--show-cops', cops.join(',')])
153
+ end
154
+ end
155
+ end
156
+
157
+ def added_cops(from:, to:)
158
+ range = from..to
159
+ Cops
160
+ .flat_map {|key, cops| range.cover?(key) && from != key ? cops : [] }
161
+ .map {|cop| update_name(cop: cop, to: to) }
162
+ end
163
+
164
+ private
165
+
166
+ def update_name(cop:, to:)
167
+ rewriters, reverse_rewriters = *Rewriters.rewriters(to)
168
+ reverse_rewriters.each do |rew|
169
+ rew.rules.each do |rule|
170
+ cop = rule.replacement(cop, reverse: true) if rule.match?([cop], reverse: true)
171
+ end
172
+ end
173
+ rewriters.each do |rew|
174
+ rew.rules.each do |rule|
175
+ cop = rule.replacement(cop, reverse: false) if rule.match?([cop], reverse: false)
176
+ end
177
+ end
178
+
179
+ cop
180
+ end
181
+
182
+ def stdout(&block)
183
+ stdout_back = $stdout
184
+ $stdout = StringIO.new
185
+ block.call
186
+ $stdout.string
187
+ ensure
188
+ $stdout = stdout_back
189
+ end
190
+
191
+ def in_tmpdir(&block)
192
+ Dir.mktmpdir do |dir|
193
+ Dir.chdir(dir) do
194
+ block.call(Pathname(dir))
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end
data/lib/mry/cli.rb CHANGED
@@ -9,7 +9,7 @@ module Mry
9
9
  puts option.help
10
10
  return 1
11
11
  end
12
- Runner.run(argv, @target)
12
+ Runner.run(argv, to: @target, from: @from)
13
13
  return 0
14
14
  end
15
15
 
@@ -18,6 +18,7 @@ module Mry
18
18
 
19
19
  def parse_option(argv)
20
20
  @target = Gem::Version.new('1000000')
21
+ @from = nil
21
22
  option.parse!(argv)
22
23
  end
23
24
 
@@ -32,6 +33,10 @@ module Mry
32
33
  Gem::Version.new(t)
33
34
  end
34
35
  end
36
+
37
+ opt.on('--from=CURRENT_VERSION') do |t|
38
+ @from = Gem::Version.new(t)
39
+ end
35
40
  end
36
41
  end
37
42
  end
@@ -0,0 +1,169 @@
1
+ module Mry
2
+ module Rewriters
3
+ class Rewriter_Master < YAMLRewriter::Rewriter
4
+ end
5
+
6
+ class Rewriter_0_51_0 < YAMLRewriter::Rewriter
7
+ define_rule ['Lint/LiteralInCondition' => 'Lint/LiteralAsCondition']
8
+ end
9
+
10
+ class Rewriter_0_50_0 < YAMLRewriter::Rewriter
11
+ define_rule ['Style/AccessorMethodName' => 'Naming/AccessorMethodName']
12
+ define_rule ['Style/AsciiIdentifiers' => 'Naming/AsciiIdentifiers']
13
+ define_rule ['Style/OpMethod' => 'Naming/BinaryOperatorParameterName']
14
+ define_rule ['Style/ClassAndModuleCamelCase' => 'Naming/ClassAndModuleCamelCase']
15
+ define_rule ['Style/ConstantName' => 'Naming/ConstantName']
16
+ define_rule ['Style/FileName' => 'Naming/FileName']
17
+ define_rule ['Style/MethodName' => 'Naming/MethodName']
18
+ define_rule ['Style/PredicateName' => 'Naming/PredicateName']
19
+ define_rule ['Style/VariableName' => 'Naming/VariableName']
20
+ define_rule ['Style/VariableNumber' => 'Naming/VariableNumber']
21
+ end
22
+
23
+ class Rewriter_0_49_0 < YAMLRewriter::Rewriter
24
+ layout_cops = %w[
25
+ Layout/AccessModifierIndentation
26
+ Layout/AlignArray
27
+ Layout/AlignHash
28
+ Layout/AlignParameters
29
+ Layout/BlockEndNewline
30
+ Layout/CaseIndentation
31
+ Layout/ClosingParenthesisIndentation
32
+ Layout/CommentIndentation
33
+ Layout/DotPosition
34
+ Layout/ElseAlignment
35
+ Layout/EmptyLineAfterMagicComment
36
+ Layout/EmptyLineBetweenDefs
37
+ Layout/EmptyLinesAroundAccessModifier
38
+ Layout/EmptyLinesAroundBeginBody
39
+ Layout/EmptyLinesAroundBlockBody
40
+ Layout/EmptyLinesAroundClassBody
41
+ Layout/EmptyLinesAroundExceptionHandlingKeywords
42
+ Layout/EmptyLinesAroundMethodBody
43
+ Layout/EmptyLinesAroundModuleBody
44
+ Layout/EmptyLines
45
+ Layout/EndOfLine
46
+ Layout/ExtraSpacing
47
+ Layout/FirstArrayElementLineBreak
48
+ Layout/FirstHashElementLineBreak
49
+ Layout/FirstMethodArgumentLineBreak
50
+ Layout/FirstMethodParameterLineBreak
51
+ Layout/FirstParameterIndentation
52
+ Layout/IndentArray
53
+ Layout/IndentAssignment
54
+ Layout/IndentationConsistency
55
+ Layout/IndentationWidth
56
+ Layout/IndentHash
57
+ Layout/IndentHeredoc
58
+ Layout/InitialIndentation
59
+ Layout/LeadingCommentSpace
60
+ Layout/MultilineArrayBraceLayout
61
+ Layout/MultilineAssignmentLayout
62
+ Layout/MultilineBlockLayout
63
+ Layout/MultilineHashBraceLayout
64
+ Layout/MultilineMethodCallBraceLayout
65
+ Layout/MultilineMethodCallIndentation
66
+ Layout/MultilineMethodDefinitionBraceLayout
67
+ Layout/MultilineOperationIndentation
68
+ Layout/RescueEnsureAlignment
69
+ Layout/SpaceAfterColon
70
+ Layout/SpaceAfterComma
71
+ Layout/SpaceAfterMethodName
72
+ Layout/SpaceAfterNot
73
+ Layout/SpaceAfterSemicolon
74
+ Layout/SpaceAroundBlockParameters
75
+ Layout/SpaceAroundEqualsInParameterDefault
76
+ Layout/SpaceAroundKeyword
77
+ Layout/SpaceAroundOperators
78
+ Layout/SpaceBeforeBlockBraces
79
+ Layout/SpaceBeforeComma
80
+ Layout/SpaceBeforeComment
81
+ Layout/SpaceBeforeFirstArg
82
+ Layout/SpaceBeforeSemicolon
83
+ Layout/SpaceInLambdaLiteral
84
+ Layout/SpaceInsideArrayPercentLiteral
85
+ Layout/SpaceInsideBlockBraces
86
+ Layout/SpaceInsideBrackets
87
+ Layout/SpaceInsideHashLiteralBraces
88
+ Layout/SpaceInsideParens
89
+ Layout/SpaceInsidePercentLiteralDelimiters
90
+ Layout/SpaceInsideRangeLiteral
91
+ Layout/SpaceInsideStringInterpolation
92
+ Layout/Tab
93
+ Layout/TrailingBlankLines
94
+ Layout/TrailingWhitespace
95
+ ]
96
+
97
+ layout_cops.each do |cop|
98
+ define_rule [cop.sub('Layout', 'Style') => cop]
99
+ end
100
+ end
101
+
102
+ class Rewriter_0_48_0 < YAMLRewriter::Rewriter
103
+ # 0.48.0 release does not have renaming.
104
+ end
105
+
106
+ class Rewriter_0_47_0 < YAMLRewriter::Rewriter
107
+ define_rule ['Lint/Eval' => 'Security/Eval']
108
+ define_rule ['Style/CaseIndentation', 'IndentWhenRelativeTo' => 'EnforcedStyle']
109
+ define_rule ['Lint/BlockAlignment', 'AlignWith' => 'EnforcedStyleAlignWith']
110
+ define_rule ['Lint/EndAlignment', 'AlignWith' => 'EnforcedStyleAlignWith']
111
+ define_rule ['Lint/DefEndAlignment', 'AlignWith' => 'EnforcedStyleAlignWith']
112
+ define_rule ['Rails/UniqBeforePluck', 'EnforcedMode' => 'EnforcedStyle']
113
+ define_rule ['Style/MethodCallParentheses' => 'Style/MethodCallWithoutArgsParentheses']
114
+ end
115
+
116
+ class Rewriter_0_46_0 < YAMLRewriter::Rewriter
117
+ define_rule ['Performance/SortWithBlock' => 'Performance/CompareWithBlock']
118
+ end
119
+
120
+ class Rewriter_0_45_0 < YAMLRewriter::Rewriter
121
+ # 0.45.0 release does not have renaming.
122
+ end
123
+
124
+ class Rewriter_0_44_0 < YAMLRewriter::Rewriter
125
+ # 0.44.0 release does not have renaming.
126
+ end
127
+
128
+ class Rewriter_0_43_0 < YAMLRewriter::Rewriter
129
+ define_rule ['Lint/UselessArraySplat' => 'Lint/UnneededSplatExpansion']
130
+ end
131
+
132
+ class Rewriter_0_42_0 < YAMLRewriter::Rewriter
133
+ # 0.42.0 release does not have renaming.
134
+ end
135
+
136
+ class Rewriter_0_41_0 < YAMLRewriter::Rewriter
137
+ define_rule ['Style/DeprecatedHashMethods' => 'Style/PreferredHashMethods']
138
+ end
139
+ class Rewriter_0 < YAMLRewriter::Rewriter
140
+ define_rule ['Style/SingleSpaceBeforeFirstArg' => 'Style/SpaceBeforeFirstArg']
141
+ define_rule ['Lint/SpaceBeforeFirstArg' => 'Style/SpaceBeforeFirstArg']
142
+ define_rule ['Style/SpaceAfterControlKeyword' => 'Style/SpaceAroundKeyword']
143
+ define_rule ['Style/SpaceBeforeModifierKeyword' => 'Style/SpaceAroundKeyword']
144
+ define_rule ['Style/SpaceAroundOperators', 'MultiSpaceAllowedForOperators' => 'AllowForAlignment']
145
+ end
146
+
147
+ Rewriters = {
148
+ Gem::Version.new('0.51.0') => Rewriter_0_51_0,
149
+ Gem::Version.new('0.50.0') => Rewriter_0_50_0,
150
+ Gem::Version.new('0.49.0') => Rewriter_0_49_0,
151
+ Gem::Version.new('0.47.0') => Rewriter_0_47_0,
152
+ Gem::Version.new('0.46.0') => Rewriter_0_46_0,
153
+ Gem::Version.new('0.45.0') => Rewriter_0_45_0,
154
+ Gem::Version.new('0.44.0') => Rewriter_0_44_0,
155
+ Gem::Version.new('0.43.0') => Rewriter_0_43_0,
156
+ Gem::Version.new('0.42.0') => Rewriter_0_42_0,
157
+ Gem::Version.new('0.41.0') => Rewriter_0_41_0,
158
+ Gem::Version.new('0') => Rewriter_0,
159
+ }.freeze
160
+
161
+ def self.rewriters(target)
162
+ return [(Rewriters.values + [Rewriter_Master]).reverse, []] if target == :master
163
+
164
+ Rewriters
165
+ .partition{|key, _value| target >= key}
166
+ .map{|rewriters| rewriters.map{|k, v| v}.reverse}
167
+ end
168
+ end
169
+ end
data/lib/mry/runner.rb CHANGED
@@ -1,16 +1,8 @@
1
1
  module Mry
2
2
  module Runner
3
- Rewriters = {
4
- Gem::Version.new('0.50.0') => Rewriter_0_50_0,
5
- Gem::Version.new('0.49.0') => Rewriter_0_49_0,
6
- Gem::Version.new('0.47.0') => Rewriter_0_47_0,
7
- Gem::Version.new('0.46.0') => Rewriter_0_46_0,
8
- Gem::Version.new('0') => Rewriter_0,
9
- }.freeze
10
-
11
3
  class << self
12
- def run(files, target)
13
- rewriters, reverse_rewriters = *rewriters(target)
4
+ def run(files, to: , from:)
5
+ rewriters, reverse_rewriters = *Rewriters.rewriters(to)
14
6
 
15
7
  files.each do |file|
16
8
  yaml = File.read(file)
@@ -20,20 +12,26 @@ module Mry
20
12
  rewriters.each do |r|
21
13
  yaml = r.new(yaml).rewrite
22
14
  end
15
+ yaml += added_cops(from: from, to: to) if from
23
16
  File.write(file, yaml)
24
17
  end
25
18
  end
26
19
 
27
-
28
20
  private
29
21
 
30
- # @return [Array<Array<Rewriter>>]
31
- def rewriters(target)
32
- return [(Rewriters.values + [Rewriter_Master]).reverse, []] if target == :master
22
+ def added_cops(from:, to:)
23
+ yaml = AddedCops.added_cops_yaml(from: from, to: to)
24
+
25
+ <<~MESSAGE.rstrip + "\n"
26
+
27
+
28
+ # The following cops are added between #{from} and #{to}.
29
+ # The configurations are default.
30
+ # If you want to use a cop by default, remove a configuration for the cop from here.
31
+ # If you want to disable a cop, change `Enabled` to false.
33
32
 
34
- Rewriters
35
- .partition{|key, _value| target >= key}
36
- .map{|rewriters| rewriters.map{|k, v| v}.reverse}
33
+ #{yaml}
34
+ MESSAGE
37
35
  end
38
36
  end
39
37
  end
data/lib/mry/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mry
2
- VERSION = "0.50.0.0"
2
+ VERSION = "0.51.0.0"
3
3
  end
data/mry.gemspec CHANGED
@@ -23,11 +23,13 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.required_ruby_version = '>= 2.3.0'
25
25
 
26
+ spec.add_runtime_dependency 'rubocop', '>= 0.41.0'
27
+
26
28
  spec.add_development_dependency "bundler", "~> 1.14"
27
29
  spec.add_development_dependency "rake", "~> 10.0"
28
30
  spec.add_development_dependency 'minitest', '~> 5'
29
31
  spec.add_development_dependency "minitest-power_assert", "~> 0.2.0"
30
32
  spec.add_development_dependency "pry"
31
- spec.add_development_dependency 'rubocop', '0.48.1'
32
- spec.add_development_dependency 'meowcop'
33
+ spec.add_development_dependency 'rubocop', '0.51.0'
34
+ spec.add_development_dependency 'meowcop', '1.12.1'
33
35
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.50.0.0
4
+ version: 0.51.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masataka Kuwabara
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-01 00:00:00.000000000 Z
11
+ date: 2017-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubocop
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.41.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.41.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +100,28 @@ dependencies:
86
100
  requirements:
87
101
  - - '='
88
102
  - !ruby/object:Gem::Version
89
- version: 0.48.1
103
+ version: 0.51.0
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - '='
95
109
  - !ruby/object:Gem::Version
96
- version: 0.48.1
110
+ version: 0.51.0
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: meowcop
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ">="
115
+ - - '='
102
116
  - !ruby/object:Gem::Version
103
- version: '0'
117
+ version: 1.12.1
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - ">="
122
+ - - '='
109
123
  - !ruby/object:Gem::Version
110
- version: '0'
124
+ version: 1.12.1
111
125
  description: Mry Migrates .Rubocop.Yml
112
126
  email:
113
127
  - kuwabara@pocke.me
@@ -128,13 +142,9 @@ files:
128
142
  - bin/setup
129
143
  - exe/mry
130
144
  - lib/mry.rb
145
+ - lib/mry/added_cops.rb
131
146
  - lib/mry/cli.rb
132
- - lib/mry/rewriter_0.rb
133
- - lib/mry/rewriter_0_46_0.rb
134
- - lib/mry/rewriter_0_47_0.rb
135
- - lib/mry/rewriter_0_49_0.rb
136
- - lib/mry/rewriter_0_50_0.rb
137
- - lib/mry/rewriter_master.rb
147
+ - lib/mry/rewriters.rb
138
148
  - lib/mry/runner.rb
139
149
  - lib/mry/version.rb
140
150
  - lib/yaml_rewriter.rb
@@ -1,10 +0,0 @@
1
- module Mry
2
- class Rewriter_0 < YAMLRewriter::Rewriter
3
- define_rule ['Style/SingleSpaceBeforeFirstArg' => 'Style/SpaceBeforeFirstArg']
4
- define_rule ['Lint/SpaceBeforeFirstArg' => 'Style/SpaceBeforeFirstArg']
5
- define_rule ['Style/SpaceAfterControlKeyword' => 'Style/SpaceAroundKeyword']
6
- define_rule ['Style/SpaceBeforeModifierKeyword' => 'Style/SpaceAroundKeyword']
7
- define_rule ['Style/DeprecatedHashMethods' => 'Style/PreferredHashMethods']
8
- define_rule ['Style/SpaceAroundOperators', 'MultiSpaceAllowedForOperators' => 'AllowForAlignment']
9
- end
10
- end
@@ -1,5 +0,0 @@
1
- module Mry
2
- class Rewriter_0_46_0 < YAMLRewriter::Rewriter
3
- define_rule ['Performance/SortWithBlock' => 'Performance/CompareWithBlock']
4
- end
5
- end
@@ -1,11 +0,0 @@
1
- module Mry
2
- class Rewriter_0_47_0 < YAMLRewriter::Rewriter
3
- define_rule ['Lint/Eval' => 'Security/Eval']
4
- define_rule ['Style/CaseIndentation', 'IndentWhenRelativeTo' => 'EnforcedStyle']
5
- define_rule ['Lint/BlockAlignment', 'AlignWith' => 'EnforcedStyleAlignWith']
6
- define_rule ['Lint/EndAlignment', 'AlignWith' => 'EnforcedStyleAlignWith']
7
- define_rule ['Lint/DefEndAlignment', 'AlignWith' => 'EnforcedStyleAlignWith']
8
- define_rule ['Rails/UniqBeforePluck', 'EnforcedMode' => 'EnforcedStyle']
9
- define_rule ['Style/MethodCallParentheses' => 'Style/MethodCallWithoutArgsParentheses']
10
- end
11
- end
@@ -1,80 +0,0 @@
1
- module Mry
2
- class Rewriter_0_49_0 < YAMLRewriter::Rewriter
3
- layout_cops = %w[
4
- Layout/AccessModifierIndentation
5
- Layout/AlignArray
6
- Layout/AlignHash
7
- Layout/AlignParameters
8
- Layout/BlockEndNewline
9
- Layout/CaseIndentation
10
- Layout/ClosingParenthesisIndentation
11
- Layout/CommentIndentation
12
- Layout/DotPosition
13
- Layout/ElseAlignment
14
- Layout/EmptyLineAfterMagicComment
15
- Layout/EmptyLineBetweenDefs
16
- Layout/EmptyLinesAroundAccessModifier
17
- Layout/EmptyLinesAroundBeginBody
18
- Layout/EmptyLinesAroundBlockBody
19
- Layout/EmptyLinesAroundClassBody
20
- Layout/EmptyLinesAroundExceptionHandlingKeywords
21
- Layout/EmptyLinesAroundMethodBody
22
- Layout/EmptyLinesAroundModuleBody
23
- Layout/EmptyLines
24
- Layout/EndOfLine
25
- Layout/ExtraSpacing
26
- Layout/FirstArrayElementLineBreak
27
- Layout/FirstHashElementLineBreak
28
- Layout/FirstMethodArgumentLineBreak
29
- Layout/FirstMethodParameterLineBreak
30
- Layout/FirstParameterIndentation
31
- Layout/IndentArray
32
- Layout/IndentAssignment
33
- Layout/IndentationConsistency
34
- Layout/IndentationWidth
35
- Layout/IndentHash
36
- Layout/IndentHeredoc
37
- Layout/InitialIndentation
38
- Layout/LeadingCommentSpace
39
- Layout/MultilineArrayBraceLayout
40
- Layout/MultilineAssignmentLayout
41
- Layout/MultilineBlockLayout
42
- Layout/MultilineHashBraceLayout
43
- Layout/MultilineMethodCallBraceLayout
44
- Layout/MultilineMethodCallIndentation
45
- Layout/MultilineMethodDefinitionBraceLayout
46
- Layout/MultilineOperationIndentation
47
- Layout/RescueEnsureAlignment
48
- Layout/SpaceAfterColon
49
- Layout/SpaceAfterComma
50
- Layout/SpaceAfterMethodName
51
- Layout/SpaceAfterNot
52
- Layout/SpaceAfterSemicolon
53
- Layout/SpaceAroundBlockParameters
54
- Layout/SpaceAroundEqualsInParameterDefault
55
- Layout/SpaceAroundKeyword
56
- Layout/SpaceAroundOperators
57
- Layout/SpaceBeforeBlockBraces
58
- Layout/SpaceBeforeComma
59
- Layout/SpaceBeforeComment
60
- Layout/SpaceBeforeFirstArg
61
- Layout/SpaceBeforeSemicolon
62
- Layout/SpaceInLambdaLiteral
63
- Layout/SpaceInsideArrayPercentLiteral
64
- Layout/SpaceInsideBlockBraces
65
- Layout/SpaceInsideBrackets
66
- Layout/SpaceInsideHashLiteralBraces
67
- Layout/SpaceInsideParens
68
- Layout/SpaceInsidePercentLiteralDelimiters
69
- Layout/SpaceInsideRangeLiteral
70
- Layout/SpaceInsideStringInterpolation
71
- Layout/Tab
72
- Layout/TrailingBlankLines
73
- Layout/TrailingWhitespace
74
- ]
75
-
76
- layout_cops.each do |cop|
77
- define_rule [cop.sub('Layout', 'Style') => cop]
78
- end
79
- end
80
- end
@@ -1,14 +0,0 @@
1
- module Mry
2
- class Rewriter_0_50_0 < YAMLRewriter::Rewriter
3
- define_rule ['Style/AccessorMethodName' => 'Naming/AccessorMethodName']
4
- define_rule ['Style/AsciiIdentifiers' => 'Naming/AsciiIdentifiers']
5
- define_rule ['Style/OpMethod' => 'Naming/BinaryOperatorParameterName']
6
- define_rule ['Style/ClassAndModuleCamelCase' => 'Naming/ClassAndModuleCamelCase']
7
- define_rule ['Style/ConstantName' => 'Naming/ConstantName']
8
- define_rule ['Style/FileName' => 'Naming/FileName']
9
- define_rule ['Style/MethodName' => 'Naming/MethodName']
10
- define_rule ['Style/PredicateName' => 'Naming/PredicateName']
11
- define_rule ['Style/VariableName' => 'Naming/VariableName']
12
- define_rule ['Style/VariableNumber' => 'Naming/VariableNumber']
13
- end
14
- end
@@ -1,4 +0,0 @@
1
- module Mry
2
- class Rewriter_Master < YAMLRewriter::Rewriter
3
- end
4
- end