rfix 1.2.6 → 1.3.0.pre.199

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: 4963fcdeb152d9e132794d42982797eadf9848ecfcfed8e94f51885003b0ddbb
4
- data.tar.gz: 8cb32d9c8e17a881eec724678f0e69bc138ca360f24ea6318c733429e09e45f3
3
+ metadata.gz: 4329b03ddb1e83fbb9a00904e2f12ddd747bef384cea815b3fff933adffdc1c0
4
+ data.tar.gz: c9dbf63cbaaadefe458c560cf88535d2aef4d57e2dd7c0ff6554dcf560da51be
5
5
  SHA512:
6
- metadata.gz: 064c76697d6e5cad1b1e35c52f4ee9b7f52df2697fdf8680f18289130aa8b6f634ed3cf2bcba41cc8d0a27fd95e61e79d2c3a5638620baf61440935471ed784f
7
- data.tar.gz: 4936c5ca44319492caf7a8556ff5913ca527541b5d7a3453d04db77785bfcb535929153a7a7e11881283dc7e1910c7f4164d4293eae9c4b405de12fc032ccc88
6
+ metadata.gz: cc086f736a7bf0341b9bd2c05dc936b2f5a08a3443f235e914a52b05b4ea27ce385802fcba6275c9baae9d0f078493dc280d08a084acee177c4c26c4f5f0de9f
7
+ data.tar.gz: 9f157905bad41d869dbb3759533b1b7774b06dee8e3033e8f96259a83b8d376ddc23a9013f7014f56b1266ae035f94c9318a65d63099829aba18dde5162891c9
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rfix (1.2.6)
4
+ rfix (1.3.0)
5
5
  cri (~> 2.15.10)
6
6
  listen (~> 3.0)
7
7
  rainbow (~> 3.0)
8
8
  require_all (~> 3.0.0)
9
9
  rouge (~> 3.20)
10
- rubocop (~> 0.80)
10
+ rubocop (>= 0.80, < 0.90)
11
11
  rugged (~> 1.0.0)
12
12
 
13
13
  GEM
@@ -121,7 +121,7 @@ GEM
121
121
  regexp_parser (1.7.1)
122
122
  require_all (3.0.0)
123
123
  rexml (3.2.4)
124
- rouge (3.21.0)
124
+ rouge (3.24.0)
125
125
  rspec (3.9.0)
126
126
  rspec-core (~> 3.9.0)
127
127
  rspec-expectations (~> 3.9.0)
data/Makefile CHANGED
@@ -1,4 +1,12 @@
1
- install:
2
- brew install cmake pkg-config libgit2 safe-rm
3
- gem install colorize rake
4
- rake build
1
+ bundle:
2
+ cd tmp && bundle install
3
+ install: bundle
4
+ bundle exec rake install:local
5
+ # brew install cmake pkg-config libgit2 safe-rm
6
+ # gem install colorize rake
7
+ # rake build
8
+
9
+ test: install
10
+ cd tmp && rfix info || true
11
+ # cd tmp && bundle exec rfix --help || true
12
+ # cd tmp && bundle exec ./exe/rfix --debug --help || true
data/exe/rfix CHANGED
@@ -1,4 +1,23 @@
1
- #!/usr/bin/env ruby
1
+ # #!/usr/bin/env ruby
2
+
3
+ require "bundler"
4
+
5
+ require_relative "../lib/rfix/loader/spec.rb"
6
+ require_relative "../lib/rfix/loader/bundler.rb"
7
+ require_relative "../lib/rfix/loader/env.rb"
8
+
9
+ if spec = Bundler.find_locked("rubocop")
10
+ Gem::Specification.deactivate(spec.name)
11
+ unless spec.__materialize__&.activation
12
+ abort "Could not load rubocop spec file"
13
+ end
14
+ end
15
+
16
+ if spec = Gem.loaded_specs.fetch("rubocop")
17
+ unless Env.requirement === spec.version
18
+ abort "RuboCop version #{Env.pretty_req} required by rfix but #{spec.version} was found in Gemfile"
19
+ end
20
+ end
2
21
 
3
22
  require "cri"
4
23
  require "rfix"
@@ -0,0 +1,37 @@
1
+ begin
2
+ require "bundler"
3
+
4
+ module Bundler
5
+ class Null
6
+ def __materialize__
7
+
8
+ end
9
+
10
+ def version
11
+ raise "#version not impl."
12
+ end
13
+
14
+ def activation
15
+ raise "#activation not impl."
16
+ end
17
+ end
18
+
19
+ def self.locked_specs
20
+ locked_gems&.specs || []
21
+ rescue Bundler::GemfileNotFound
22
+ []
23
+ end
24
+
25
+ def self.find_locked(name)
26
+ locked_specs.select do |spec|
27
+ spec.name.casecmp(name).zero?
28
+ end.first
29
+ end
30
+
31
+ def self.activate_locked(name)
32
+ find_locked(name).__materialize__.tap(&:activation)
33
+ end
34
+ end
35
+ rescue LoadError
36
+ require_relative "null_bundler"
37
+ end
@@ -0,0 +1,33 @@
1
+ # require "pry"
2
+ class Env
3
+ KEY = "__RFIX_LOOP".freeze
4
+
5
+ def self.spec
6
+ Gem.loaded_specs.fetch("rfix")
7
+ end
8
+
9
+ def self.requirement
10
+ spec.dependencies.select do |gem|
11
+ gem.name == "rubocop"
12
+ end.first&.requirement || Env.log!("RuboCop requirement not found")
13
+ end
14
+
15
+ def self.pretty_req
16
+ requirement.as_list.join(" to ")
17
+ end
18
+
19
+ def self.bundle_path
20
+ Gem.bin_path("bundler", "bundle")
21
+ end
22
+
23
+ def self.log(msg)
24
+ # return unless ARGV.include?("--debug")
25
+
26
+ $stderr.puts ["==>", msg].join(" ")
27
+ end
28
+
29
+ def self.log!(msg)
30
+ $stderr.puts ["==>", msg].join(" ")
31
+ exit(1)
32
+ end
33
+ end
@@ -0,0 +1,41 @@
1
+ class Gem::Specification
2
+ def self.deactivate(name)
3
+ Gem.loaded_specs[name]&.deactivate
4
+ end
5
+
6
+ def deactivate
7
+ loaded_paths.each do |path|
8
+ $:.delete(path)
9
+ end
10
+
11
+ Gem.loaded_specs.delete(name)
12
+ end
13
+
14
+ def activation
15
+ self.class.deactivate(name)
16
+ activate
17
+ rescue Gem::ConflictError => error
18
+ abort error.to_s
19
+ end
20
+
21
+ private
22
+
23
+ def loaded_paths(spec = self, prev = [])
24
+ return root_loaded_path unless loaded_into_path?
25
+ return root_loaded_path if prev == root_loaded_path
26
+
27
+ root_loaded_path + dependent_specs.map do |spec|
28
+ loaded_paths(spec, root_loaded_path)
29
+ end.flatten
30
+ end
31
+
32
+ def loaded_into_path?
33
+ @lip ||= root_loaded_path.any? do |path|
34
+ $:.include?(path)
35
+ end
36
+ end
37
+
38
+ def root_loaded_path
39
+ @root ||= Dir.glob(lib_dirs_glob)
40
+ end
41
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rfix
4
- VERSION = "1.2.6"
4
+ VERSION = "1.3.0"
5
5
  end
@@ -56,7 +56,7 @@ Gem::Specification.new do |spec|
56
56
  spec.add_runtime_dependency "rainbow", "~> 3.0"
57
57
  spec.add_runtime_dependency "require_all", "~> 3.0.0"
58
58
  spec.add_runtime_dependency "rouge", "~> 3.20"
59
- spec.add_runtime_dependency "rubocop", "~> 0.80"
59
+ spec.add_runtime_dependency "rubocop", ">= 0.80", "< 0.90"
60
60
  spec.add_runtime_dependency "rugged", "~> 1.0.0"
61
61
 
62
62
  spec.add_development_dependency "rspec", "~> 3.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.2.6
4
+ version: 1.3.0.pre.199
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linus Oleander
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-07 00:00:00.000000000 Z
11
+ date: 2020-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cri
@@ -84,16 +84,22 @@ dependencies:
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0.80'
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '0.90'
90
93
  type: :runtime
91
94
  prerelease: false
92
95
  version_requirements: !ruby/object:Gem::Requirement
93
96
  requirements:
94
- - - "~>"
97
+ - - ">="
95
98
  - !ruby/object:Gem::Version
96
99
  version: '0.80'
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.90'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: rugged
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -275,6 +281,9 @@ files:
275
281
  - lib/rfix/file_cache.rb
276
282
  - lib/rfix/formatter.rb
277
283
  - lib/rfix/git_helper.rb
284
+ - lib/rfix/loader/bundler.rb
285
+ - lib/rfix/loader/env.rb
286
+ - lib/rfix/loader/spec.rb
278
287
  - lib/rfix/log.rb
279
288
  - lib/rfix/no_file.rb
280
289
  - lib/rfix/rake/paths.rb
@@ -325,7 +334,7 @@ licenses:
325
334
  - MIT
326
335
  metadata:
327
336
  homepage_uri: https://github.com/oleander/rfix-rb
328
- post_install_message:
337
+ post_install_message:
329
338
  rdoc_options: []
330
339
  require_paths:
331
340
  - lib
@@ -337,13 +346,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
337
346
  version: 2.5.0
338
347
  required_rubygems_version: !ruby/object:Gem::Requirement
339
348
  requirements:
340
- - - ">="
349
+ - - ">"
341
350
  - !ruby/object:Gem::Version
342
- version: '0'
351
+ version: 1.3.1
343
352
  requirements:
344
353
  - git, v2.0+
345
354
  rubygems_version: 3.0.3
346
- signing_key:
355
+ signing_key:
347
356
  specification_version: 4
348
357
  summary: RuboCop CLI that only lints and auto-fixes code you committed by utilizing
349
358
  `git-log` and `git-diff`