mry 0.52.0.0 → 0.53.0.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
- SHA1:
3
- metadata.gz: bd762e726ed1b37d981d592c615ef04ec49e2e3e
4
- data.tar.gz: 0d75d6869075114267dbf6e632de91f971420824
2
+ SHA256:
3
+ metadata.gz: 2eaf029a8c3e25b5f2735db4b479a3938238c37ea11268ef6455fb246c490a4c
4
+ data.tar.gz: 06b2dc193c00736aa14a8ef7be5d97447e61ccfe43345bd602ea034873521cd0
5
5
  SHA512:
6
- metadata.gz: 84b6dfb378db69f13820789269f831ac43e09708d5f46bb444b70bcc57bc991df404556dd5fc58e7445fc86bbe1141f79bf7242530ac910326a30a2a264dc278
7
- data.tar.gz: ce570da53bd36e88fb8eed66064b9b2117d0d5b2015c548d37cfb0b7eb67e4810a6be99f3de4e282cb4382ee3d235c03a6953540571d2c2498001eceabe24c6a
6
+ metadata.gz: 2c206cf61303233db93407ab7f75fbdb87acde94dc5388628dad70d61ae4b940cef28968659e18e615912b1b481d7cc356b01d3d0c1744c1bc92f6f5ad50c0cc
7
+ data.tar.gz: f53feb055daffede768686d88b918ecf71207634c0e1c428ff0897339de67b94ca370cbcb18c9734f2460517230114bfa75ad9dc0b454e5d8d7dcf7472c5719f
data/.travis.yml CHANGED
@@ -1,8 +1,9 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.3.5
5
- - 2.4.2
4
+ - 2.3.6
5
+ - 2.4.3
6
+ - 2.5.0
6
7
  - ruby-head
7
8
 
8
9
  cache: bundler
@@ -10,6 +11,12 @@ bundler_args: --jobs=4 --retry=3
10
11
  sudo: false
11
12
 
12
13
 
14
+ before_install: 'gem update --system'
13
15
 
14
16
  script:
15
17
  - bundle exec rake test
18
+
19
+ matrix:
20
+ allow_failures:
21
+ - rvm: ruby-head
22
+ fast_finish: true
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Usage: bin/check_rubocop_update v0.52.1 v0.53.0
4
+
5
+ require 'open3'
6
+ require 'yaml'
7
+ require 'tmpdir'
8
+
9
+ def debug_print(mes)
10
+ $stdout.puts mes
11
+ end
12
+
13
+ def sh!(*cmd)
14
+ debug_print 'sh!: ' + cmd.join(' ')
15
+ system(*cmd, exception: true)
16
+ end
17
+
18
+ def capture3!(*cmd)
19
+ debug_print 'capture3!: ' + cmd.join(' ')
20
+ Open3.capture3(*cmd).tap do |out, err, status|
21
+ raise "#{out} #{err}" unless status.success?
22
+ end
23
+ end
24
+
25
+ def each_commit(before, after, &block)
26
+ return enum_for(__method__, before, after) unless block_given?
27
+
28
+ commits = capture3!('git', 'log', "#{before}..#{after}", '--format=tformat:%H').yield_self do |stdout, _stderr, _status|
29
+ stdout.each_line.map(&:chomp)
30
+ end
31
+ commits.each do |commit|
32
+ sh! 'rm', '-f', 'Gemfile.lock' if File.exist?('Gemfile.lock')
33
+ sh! 'bundle', 'install' if has_gemfile_change?(commit)
34
+ sh! 'git', 'checkout', commit
35
+ block.call
36
+ end
37
+ end
38
+
39
+ def has_gemfile_change?(commit)
40
+ capture3!('git', 'show', '--name-only', '--format=tformat:', commit).yield_self do |stdout, _stderr, _status|
41
+ stdout.each_line.any? do |fname|
42
+ fname.chomp!
43
+ fname == 'Gemfile' || fname == 'rubocop.gemspec'
44
+ end
45
+ end
46
+ end
47
+
48
+ def chtmpdir(&block)
49
+ Dir.mktmpdir do |dir|
50
+ Dir.chdir(dir) do
51
+ block.call
52
+ end
53
+ end
54
+ end
55
+
56
+ def main(before, after)
57
+ {}.tap do |result|
58
+ result[:added] = []
59
+ result[:renamed] = []
60
+ result[:deleted] = []
61
+
62
+ chtmpdir do
63
+ sh! 'git', 'clone', 'git@github.com:bbatsov/rubocop.git'
64
+ Dir.chdir('./rubocop') do
65
+ cops = each_commit(before + '~', after).map do
66
+ capture3!('bin/rubocop', '--show-cops').yield_self do |stdout, _, _|
67
+ YAML.load(stdout)
68
+ end
69
+ end
70
+ cops.each_cons(2) do |new, old|
71
+ added = new.keys - old.keys
72
+ removed = old.keys - new.keys
73
+ if added.size > removed.size && removed.size == 0
74
+ result[:added].concat added
75
+ elsif added.size < removed.size && added.size == 0
76
+ result[:deleted].concat removed
77
+ elsif added.size != 0 && removed.size != 0
78
+ result[:renamed] << {before: removed, after: added}
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+
86
+ before = ARGV[0]
87
+ after = ARGV[1]
88
+
89
+ out = main(before, after)
90
+ res = YAML.dump(out)
91
+ puts res
92
+ fname = '/tmp/mry_check_rubocop_update_log.yaml'
93
+ File.write(fname, res)
94
+ puts "Wrote: #{fname}"
@@ -1,6 +1,22 @@
1
1
  module Mry
2
2
  module AddedCops
3
3
  Cops = {
4
+ Gem::Version.new('0.53.0') => %w[
5
+ Rails/ActiveRecordAliases
6
+ Style/EmptyLineAfterGuardClause
7
+ Naming/MemoizedInstanceVariableName
8
+ Style/ExpandPathArguments
9
+ Lint/OrderedMagicComments
10
+ Layout/EmptyComment
11
+ Style/TrailingBodyOnModule
12
+ Style/TrailingBodyOnClass
13
+ Lint/NumberConversion
14
+ Lint/UnneededCopEnableDirective
15
+ Naming/UncommunicativeBlockParamName
16
+ Naming/UncommunicativeMethodArgName
17
+ Security/Open
18
+ Lint/BigDecimalNew
19
+ ],
4
20
  Gem::Version.new('0.52.0') => %w[
5
21
  Style/StringHashKeys
6
22
  Style/RandomWithOffset
@@ -18,7 +34,6 @@ module Mry
18
34
  Style/ColonMethodDefinition
19
35
  Layout/ClassStructure
20
36
  Rails/CreateTableWithTimestamps
21
- Style/ExtendSelf
22
37
  Rails/RedundantReceiverInWithOptions
23
38
  Style/EvalWithLocation
24
39
  Layout/EmptyLinesAroundArguments
data/lib/mry/rewriters.rb CHANGED
@@ -3,6 +3,15 @@ module Mry
3
3
  class Rewriter_Master < YAMLRewriter::Rewriter
4
4
  end
5
5
 
6
+ class Rewriter_0_53_0 < YAMLRewriter::Rewriter
7
+ define_rule ['Naming/UncommunicativeMethodArgName' => 'Naming/UncommunicativeMethodParamName']
8
+ define_rule ['Lint/ConditionPosition' => 'Layout/ConditionPosition']
9
+ define_rule ['Lint/BlockAlignment' => 'Layout/BlockAlignment']
10
+ define_rule ['Lint/DefEndAlignment' => 'Layout/DefEndAlignment']
11
+ define_rule ['Lint/EndAlignment' => 'Layout/EndAlignment']
12
+ define_rule ['Lint/UnneededDisable' => 'Lint/UnneededCopDisableDirective']
13
+ end
14
+
6
15
  class Rewriter_0_52_0 < YAMLRewriter::Rewriter
7
16
  define_rule ['Lint/RescueWithoutErrorClass' => 'Style/RescueStandardError']
8
17
  end
@@ -150,7 +159,8 @@ module Mry
150
159
  end
151
160
 
152
161
  Rewriters = {
153
- Gem::Version.new('0.52.0') => Rewriter_0_51_0,
162
+ Gem::Version.new('0.53.0') => Rewriter_0_53_0,
163
+ Gem::Version.new('0.52.0') => Rewriter_0_52_0,
154
164
  Gem::Version.new('0.51.0') => Rewriter_0_51_0,
155
165
  Gem::Version.new('0.50.0') => Rewriter_0_50_0,
156
166
  Gem::Version.new('0.49.0') => Rewriter_0_49_0,
data/lib/mry/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mry
2
- VERSION = "0.52.0.0"
2
+ VERSION = "0.53.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.52.0.0
4
+ version: 0.53.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-12-13 00:00:00.000000000 Z
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -138,6 +138,7 @@ files:
138
138
  - LICENSE
139
139
  - README.md
140
140
  - Rakefile
141
+ - bin/check_rubocop_update
141
142
  - bin/console
142
143
  - bin/setup
143
144
  - exe/mry
@@ -174,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
175
  version: '0'
175
176
  requirements: []
176
177
  rubyforge_project:
177
- rubygems_version: 2.6.13
178
+ rubygems_version: 2.7.6
178
179
  signing_key:
179
180
  specification_version: 4
180
181
  summary: Mry Migrates .Rubocop.Yml