rubocop-gradual 0.1.0 → 0.1.1

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: 966ef7dacbe7b713f93a8ad8cc48af2fd39b2d76b521e4e09a5895084f4afc9d
4
- data.tar.gz: 550a64eda37a57229e718e13c74d92d72b2e1a346f6140026ef3c13de629ee86
3
+ metadata.gz: 0faebca65c344ef609bb905fb2db0e3f1fd30e5ef0eca7557421c36a01607978
4
+ data.tar.gz: 9ccf0c6f68b185c4ac5859abf12ab79ced66fb1c82987655d714a7d365811788
5
5
  SHA512:
6
- metadata.gz: 43ec3b161eb08c624f7d6014ae769dbf269c13b84d212ab50cee04b92c49eeaf66bf53d86ddec1b64cdae6d887a0284d948c56b95535a752e74414acfc32bd16
7
- data.tar.gz: 4fdd4987b2404314f82c24c4962cc280f76815ac82bb3372c0edffe9cf18ac0ca391422efd95fcd831ffe8f48ceda2110cb9ec62f07e883032aa7bf4df01c7c3
6
+ metadata.gz: 9641cdb414d6c980fec5d0b066b7093022fd68dfb40995f55c41460a2c2bb3cd4793b6bcbabf774cfea2b5eab95ea925569b0aeff0bc1e774375d98749dcb114
7
+ data.tar.gz: 72a1abe1d70e2f45e0bebbf4ab96e0254297f37839a11fe2d371e90574ba4a075512f92939a36898d0d150308bdd4b102003c767f04852ef6b4bdadbb9a5fe4b
data/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning].
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.1] - 2022-07-05
11
+
12
+ ### Changed
13
+
14
+ - `parallel` gem is used to speed up results parsing. ([@skryukov])
15
+
16
+ ### Fixed
17
+
18
+ - Fixed multiline issues hash calculation. ([@skryukov])
19
+
10
20
  ## [0.1.0] - 2022-07-03
11
21
 
12
22
  ### Added
@@ -15,7 +25,8 @@ and this project adheres to [Semantic Versioning].
15
25
 
16
26
  [@skryukov]: https://github.com/skryukov
17
27
 
18
- [Unreleased]: https://github.com/skryukov/rubocop-gradual/compare/v0.1.0...HEAD
28
+ [Unreleased]: https://github.com/skryukov/rubocop-gradual/compare/v0.1.1...HEAD
29
+ [0.1.1]: https://github.com/skryukov/rubocop-gradual/compare/v0.1.0...v0.1.1
19
30
  [0.1.0]: https://github.com/skryukov/rubocop-gradual/commits/v0.1.0
20
31
 
21
32
  [Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
@@ -35,8 +35,18 @@ module RuboCop
35
35
  def issue_hash(issue)
36
36
  return issue[:hash] if issue[:hash]
37
37
 
38
- code = data.lines[issue[:line] - 1..].join("\n")[issue[:column] - 1, issue[:length]]
39
- djb2a(code)
38
+ djb2a(fetch_code(issue[:line] - 1, issue[:column] - 1, issue[:length]))
39
+ end
40
+
41
+ def fetch_code(line, column, length)
42
+ code = ""
43
+ data.each_line.lazy.drop(line).each_with_index do |str, index|
44
+ from = index.zero? ? column : 0
45
+ length = index.zero? ? length : length - code.length
46
+ code += str[from, length]
47
+
48
+ return code if code.length >= length
49
+ end
40
50
  end
41
51
 
42
52
  def data
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "parallel"
4
+
3
5
  require_relative "results/file"
4
6
 
5
7
  module RuboCop
@@ -9,7 +11,7 @@ module RuboCop
9
11
  attr_reader :files
10
12
 
11
13
  def initialize(files:)
12
- @files = files.map { |file| File.new(**file) }.sort
14
+ @files = Parallel.map(files) { |file| File.new(**file) }.sort
13
15
  end
14
16
  end
15
17
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module Gradual
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-gradual
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Svyatoslav Kryukov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-03 00:00:00.000000000 Z
11
+ date: 2022-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs
@@ -44,6 +44,20 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '3.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: parallel
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.10'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.10'
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: rainbow
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -106,15 +120,15 @@ files:
106
120
  - lib/rubocop/gradual/results/issue.rb
107
121
  - lib/rubocop/gradual/serializer.rb
108
122
  - lib/rubocop/gradual/version.rb
109
- homepage: https://github.com/skryukov/paco
123
+ homepage: https://github.com/skryukov/rubocop-gradual
110
124
  licenses:
111
125
  - MIT
112
126
  metadata:
113
- bug_tracker_uri: https://github.com/skryukov/paco/issues
114
- changelog_uri: https://github.com/skryukov/paco/blob/main/CHANGELOG.md
115
- documentation_uri: https://github.com/skryukov/paco/blob/main/README.md
116
- homepage_uri: https://github.com/skryukov/paco
117
- source_code_uri: https://github.com/skryukov/paco
127
+ bug_tracker_uri: https://github.com/skryukov/rubocop-gradual/issues
128
+ changelog_uri: https://github.com/skryukov/rubocop-gradual/blob/main/CHANGELOG.md
129
+ documentation_uri: https://github.com/skryukov/rubocop-gradual/blob/main/README.md
130
+ homepage_uri: https://github.com/skryukov/rubocop-gradual
131
+ source_code_uri: https://github.com/skryukov/rubocop-gradual
118
132
  rubygems_mfa_required: 'true'
119
133
  post_install_message:
120
134
  rdoc_options: []