rfix 1.3.0.pre.199 → 1.4.0.pre.201

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: 4329b03ddb1e83fbb9a00904e2f12ddd747bef384cea815b3fff933adffdc1c0
4
- data.tar.gz: c9dbf63cbaaadefe458c560cf88535d2aef4d57e2dd7c0ff6554dcf560da51be
3
+ metadata.gz: a9d00d88c31b789becaae582b5c7d6f3954ca694c643b3b8498d94bdf16c7e7d
4
+ data.tar.gz: af23b2635872fe812d20ba4995777dd03a079f8f2916d5a8c816d79c0a488637
5
5
  SHA512:
6
- metadata.gz: cc086f736a7bf0341b9bd2c05dc936b2f5a08a3443f235e914a52b05b4ea27ce385802fcba6275c9baae9d0f078493dc280d08a084acee177c4c26c4f5f0de9f
7
- data.tar.gz: 9f157905bad41d869dbb3759533b1b7774b06dee8e3033e8f96259a83b8d376ddc23a9013f7014f56b1266ae035f94c9318a65d63099829aba18dde5162891c9
6
+ metadata.gz: 501a500f81cb2a5d3740aba31426a76ba310c31beb8326f4162ed85be5c719a12e852b166ba63cfd1de913c3712e756f6347bd21bcb4cff2bab7ef75e2be50c1
7
+ data.tar.gz: fa3a37f18a7c47f47bc33f497581dc649e8ae41e248888a5de4a05959f18d030fe2803ed135c6b3f70796177dd158bb720de0123ffe8949601862ae57ba1ad86
data/.travis.yml CHANGED
@@ -8,11 +8,8 @@ os:
8
8
  - linux
9
9
  gemfile:
10
10
  - ci/Gemfile.rubocop-0.80
11
- - ci/Gemfile.rubocop-0.81
12
11
  - ci/Gemfile.rubocop-0.82
13
- - ci/Gemfile.rubocop-0.83
14
12
  - ci/Gemfile.rubocop-0.84
15
- - ci/Gemfile.rubocop-0.85
16
13
  - ci/Gemfile.rubocop-0.85.1
17
14
  before_install:
18
15
  - yes | gem update --system --force
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rfix (1.3.0)
4
+ rfix (1.4.0)
5
5
  cri (~> 2.15.10)
6
+ dry-core (~> 0.5.0)
6
7
  listen (~> 3.0)
7
8
  rainbow (~> 3.0)
8
9
  require_all (~> 3.0.0)
@@ -33,7 +34,7 @@ GEM
33
34
  colorize (0.8.1)
34
35
  concurrent-ruby (1.1.6)
35
36
  contracts (0.16.0)
36
- cri (2.15.10)
37
+ cri (2.15.11)
37
38
  cucumber (4.0.1)
38
39
  builder (~> 3.2, >= 3.2.3)
39
40
  cucumber-core (~> 7.0, >= 7.0.0)
@@ -62,6 +63,8 @@ GEM
62
63
  cucumber-cucumber-expressions (~> 10.1, >= 10.1.0)
63
64
  cucumber-messages (~> 12.1, >= 12.1.1)
64
65
  diff-lcs (1.3)
66
+ dry-core (0.5.0)
67
+ concurrent-ruby (~> 1.0)
65
68
  faker (2.13.0)
66
69
  i18n (>= 1.6, < 2)
67
70
  ffi (1.13.1)
@@ -121,7 +124,7 @@ GEM
121
124
  regexp_parser (1.7.1)
122
125
  require_all (3.0.0)
123
126
  rexml (3.2.4)
124
- rouge (3.24.0)
127
+ rouge (3.26.0)
125
128
  rspec (3.9.0)
126
129
  rspec-core (~> 3.9.0)
127
130
  rspec-expectations (~> 3.9.0)
@@ -131,6 +134,9 @@ GEM
131
134
  rspec-expectations (3.9.2)
132
135
  diff-lcs (>= 1.2.0, < 2.0)
133
136
  rspec-support (~> 3.9.0)
137
+ rspec-its (1.3.0)
138
+ rspec-core (>= 3.0.0)
139
+ rspec-expectations (>= 3.0.0)
134
140
  rspec-mocks (3.9.1)
135
141
  diff-lcs (>= 1.2.0, < 2.0)
136
142
  rspec-support (~> 3.9.0)
@@ -175,7 +181,8 @@ DEPENDENCIES
175
181
  rake (~> 12.3)
176
182
  rfix!
177
183
  rspec (~> 3.0)
184
+ rspec-its (~> 1.3.0)
178
185
  rubocop (~> 0.85)
179
186
 
180
187
  BUNDLED WITH
181
- 2.1.4
188
+ 2.2.5
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # :bug: Rfix [![Build Status](https://travis-ci.org/oleander/rfix-rb.svg?branch=master)](https://travis-ci.org/oleander/rfix-rb) [![Gem](https://img.shields.io/gem/dt/rfix)](https://rubygems.org/gems/rfix)
1
+ # :bug: rfix [![Build Status](https://travis-ci.org/oleander/rfix-rb.svg?branch=master)](https://travis-ci.org/oleander/rfix-rb) [![Gem](https://img.shields.io/gem/dt/rfix)](https://rubygems.org/gems/rfix)
2
2
 
3
3
  RuboCop CLI that only lints and auto-fixes code you committed by utilizing `git-log` and `git-diff`. Rfix CLI makes it possible to lint (`rfix lint`) and auto-fix (`rfix local|origin|branch`) code changes since a certain point in history. You can auto-fix code committed since creating the current branch (`rfix origin`) or since pushing to upstream (`rfix local`).
4
4
 
@@ -46,8 +46,8 @@ $ rfix # Displays this list of supported commands
46
46
  - `$ git clone https://github.com/oleander/rfix-rb`
47
47
  - `$ cd rfix-rb`
48
48
  2. Downloads fixtures and run time dependencies
49
- - `$ make dir fetch`
50
49
  - `$ bundle install`
50
+ - `$ rake rebuild
51
51
 
52
52
  ### Install from repository
53
53
 
data/lib/rfix.rb CHANGED
@@ -10,6 +10,7 @@ require "rfix/log"
10
10
  require "rfix/cmd"
11
11
  require "rfix/repository"
12
12
  require "rfix/formatter"
13
+ require "rfix/indentation"
13
14
  require "rfix/extensions/extensions"
14
15
  require "rfix/extensions/offense"
15
16
  require "rfix/branch"
@@ -113,11 +113,13 @@ module Rfix
113
113
  def report_line(_file, offense, _location, highlighted_area)
114
114
  extra = " "
115
115
  src = highlighted_source_line(offense).lines.map { |line| extra + line }.join("\n")
116
+ indent = Indentation.new(src, extra_indentation: 2)
117
+ src = indent.call
116
118
  lines = @formatter.format(@lexer.lex(src)).gsub('\\e', CLI::UI::ANSI::ESC).lines.map(&:chomp)
117
119
  out("\n\n")
118
120
  out(lines.join("\n"), format: false)
119
- b_pos = highlighted_area.begin_pos + extra.length
120
- e_pos = highlighted_area.end_pos + extra.length
121
+ b_pos = highlighted_area.begin_pos + extra.length * 2 - indent.min_indentation
122
+ e_pos = highlighted_area.end_pos + extra.length * 2 - indent.min_indentation
121
123
  size = e_pos - b_pos
122
124
  out((" " * b_pos) + Rainbow((" " * size)).underline.bold)
123
125
  out("\n\n")
@@ -0,0 +1,39 @@
1
+ require "dry/core/memoizable"
2
+
3
+ module Rfix
4
+ class Indentation
5
+ include Dry::Core::Memoizable
6
+ SPACE = " ".freeze
7
+
8
+ attr_reader :extra_indentation, :input
9
+
10
+ def initialize(input, extra_indentation: 0)
11
+ @input = input
12
+ @extra_indentation = extra_indentation
13
+ end
14
+
15
+ def stripped
16
+ lines.map do |line|
17
+ line.sub(/^\s{#{min_indentation}}/, "")
18
+ end.map do |line|
19
+ [SPACE * extra_indentation, line].join
20
+ end.join
21
+ end
22
+
23
+ alias call stripped
24
+
25
+ private
26
+
27
+ def min_indentation
28
+ lines.map do |line|
29
+ line.match(/^\s*/)[0].length
30
+ end.min || 0
31
+ end
32
+
33
+ def lines
34
+ input.lines
35
+ end
36
+
37
+ memoize :min_indentation, :lines
38
+ end
39
+ end
data/lib/rfix/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rfix
4
- VERSION = "1.3.0"
4
+ VERSION = "1.4.0"
5
5
  end
data/rfix.gemspec CHANGED
@@ -52,6 +52,7 @@ Gem::Specification.new do |spec|
52
52
  spec.requirements << "git, v2.0+"
53
53
 
54
54
  spec.add_runtime_dependency "cri", "~> 2.15.10"
55
+ spec.add_runtime_dependency "dry-core", "~> 0.5.0"
55
56
  spec.add_runtime_dependency "listen", "~> 3.0"
56
57
  spec.add_runtime_dependency "rainbow", "~> 3.0"
57
58
  spec.add_runtime_dependency "require_all", "~> 3.0.0"
@@ -60,6 +61,7 @@ Gem::Specification.new do |spec|
60
61
  spec.add_runtime_dependency "rugged", "~> 1.0.0"
61
62
 
62
63
  spec.add_development_dependency "rspec", "~> 3.0"
64
+ spec.add_development_dependency "rspec-its", "~> 1.3.0"
63
65
  spec.add_development_dependency "aruba", "~> 1.0"
64
66
  spec.add_development_dependency "colorize", "~> 0.8.1"
65
67
  spec.add_development_dependency "git", "~> 1.7.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0.pre.199
4
+ version: 1.4.0.pre.201
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linus Oleander
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-10 00:00:00.000000000 Z
11
+ date: 2021-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cri
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.15.10
27
+ - !ruby/object:Gem::Dependency
28
+ name: dry-core
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.5.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.5.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: listen
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -128,6 +142,20 @@ dependencies:
128
142
  - - "~>"
129
143
  - !ruby/object:Gem::Version
130
144
  version: '3.0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: rspec-its
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 1.3.0
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 1.3.0
131
159
  - !ruby/object:Gem::Dependency
132
160
  name: aruba
133
161
  requirement: !ruby/object:Gem::Requirement
@@ -281,6 +309,7 @@ files:
281
309
  - lib/rfix/file_cache.rb
282
310
  - lib/rfix/formatter.rb
283
311
  - lib/rfix/git_helper.rb
312
+ - lib/rfix/indentation.rb
284
313
  - lib/rfix/loader/bundler.rb
285
314
  - lib/rfix/loader/env.rb
286
315
  - lib/rfix/loader/spec.rb