rfix 1.2.2

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.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +38 -0
  3. data/.gitignore +43 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +87 -0
  6. data/.travis.yml +37 -0
  7. data/Gemfile +2 -0
  8. data/Gemfile.base +14 -0
  9. data/Gemfile.base.lock +172 -0
  10. data/Gemfile.lock +181 -0
  11. data/Guardfile +16 -0
  12. data/LICENSE.txt +21 -0
  13. data/Makefile +4 -0
  14. data/README.md +92 -0
  15. data/Rakefile +27 -0
  16. data/bin/bundle +114 -0
  17. data/bin/console +29 -0
  18. data/bin/guard +29 -0
  19. data/bin/rake +29 -0
  20. data/bin/rfix +29 -0
  21. data/bin/rspec +29 -0
  22. data/bin/setup +29 -0
  23. data/ci/Gemfile.rubocop-0.80 +2 -0
  24. data/ci/Gemfile.rubocop-0.80.lock +170 -0
  25. data/ci/Gemfile.rubocop-0.81 +2 -0
  26. data/ci/Gemfile.rubocop-0.81.lock +170 -0
  27. data/ci/Gemfile.rubocop-0.82 +2 -0
  28. data/ci/Gemfile.rubocop-0.82.lock +170 -0
  29. data/ci/Gemfile.rubocop-0.83 +2 -0
  30. data/ci/Gemfile.rubocop-0.83.lock +168 -0
  31. data/ci/Gemfile.rubocop-0.84 +2 -0
  32. data/ci/Gemfile.rubocop-0.84.lock +171 -0
  33. data/ci/Gemfile.rubocop-0.85 +2 -0
  34. data/ci/Gemfile.rubocop-0.85.1 +2 -0
  35. data/ci/Gemfile.rubocop-0.85.1.lock +173 -0
  36. data/ci/Gemfile.rubocop-0.85.lock +173 -0
  37. data/exe/rfix +30 -0
  38. data/lib/rfix.rb +34 -0
  39. data/lib/rfix/box.rb +112 -0
  40. data/lib/rfix/branch.rb +31 -0
  41. data/lib/rfix/branches/base.rb +29 -0
  42. data/lib/rfix/branches/head.rb +13 -0
  43. data/lib/rfix/branches/main.rb +34 -0
  44. data/lib/rfix/branches/name.rb +23 -0
  45. data/lib/rfix/branches/reference.rb +21 -0
  46. data/lib/rfix/branches/upstream.rb +13 -0
  47. data/lib/rfix/cmd.rb +39 -0
  48. data/lib/rfix/commands/branch.rb +15 -0
  49. data/lib/rfix/commands/extensions/options.rb +8 -0
  50. data/lib/rfix/commands/help.rb +7 -0
  51. data/lib/rfix/commands/helper/args.rb +137 -0
  52. data/lib/rfix/commands/helper/help.rb +6 -0
  53. data/lib/rfix/commands/helper/loader.rb +6 -0
  54. data/lib/rfix/commands/helper/option.rb +0 -0
  55. data/lib/rfix/commands/helper/params.rb +0 -0
  56. data/lib/rfix/commands/helper/rubocop.rb +17 -0
  57. data/lib/rfix/commands/info.rb +30 -0
  58. data/lib/rfix/commands/lint.rb +23 -0
  59. data/lib/rfix/commands/local.rb +12 -0
  60. data/lib/rfix/commands/origin.rb +19 -0
  61. data/lib/rfix/commands/setup.rb +29 -0
  62. data/lib/rfix/commands/welcome.rb +24 -0
  63. data/lib/rfix/deleted.rb +13 -0
  64. data/lib/rfix/error.rb +2 -0
  65. data/lib/rfix/extensions/extensions.rb +18 -0
  66. data/lib/rfix/extensions/offense.rb +78 -0
  67. data/lib/rfix/extensions/string.rb +8 -0
  68. data/lib/rfix/file.rb +46 -0
  69. data/lib/rfix/file_cache.rb +59 -0
  70. data/lib/rfix/formatter.rb +126 -0
  71. data/lib/rfix/git_helper.rb +59 -0
  72. data/lib/rfix/log.rb +131 -0
  73. data/lib/rfix/no_file.rb +13 -0
  74. data/lib/rfix/rake/paths.rb +50 -0
  75. data/lib/rfix/rake/support.rb +75 -0
  76. data/lib/rfix/repository.rb +204 -0
  77. data/lib/rfix/rfix.rb +34 -0
  78. data/lib/rfix/tracked.rb +72 -0
  79. data/lib/rfix/tracked_file.rb +16 -0
  80. data/lib/rfix/untracked.rb +13 -0
  81. data/lib/rfix/version.rb +5 -0
  82. data/resources/ps.png +0 -0
  83. data/rfix.gemspec +68 -0
  84. data/tasks/bump.rake +11 -0
  85. data/tasks/bundle.rake +17 -0
  86. data/tasks/complex.rake +54 -0
  87. data/tasks/execute.rake +38 -0
  88. data/tasks/libgit2.rake +33 -0
  89. data/tasks/simple.rake +62 -0
  90. data/tasks/travis.rake +74 -0
  91. data/tasks/vendor.rake +34 -0
  92. metadata +350 -0
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rfix/git_file"
4
+
5
+ class Rfix::TrackedFile < Rfix::GitFile
6
+ def refresh!
7
+ @ranges = git("--no-pager", "diff", *params, "#{ref}..HEAD", path)
8
+ .grep(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,(\d+))? @@/) do
9
+ Regexp.last_match(1).to_i...(Regexp.last_match(1).to_i + (Regexp.last_match(2) || 1).to_i)
10
+ end
11
+ end
12
+
13
+ def include?(line)
14
+ @ranges.any? { |range| range.include?(line) }
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ class Rfix::Untracked < Rfix::File
2
+ def include?(_)
3
+ return true
4
+ end
5
+
6
+ def refresh!
7
+ # NOP
8
+ end
9
+
10
+ def inspect
11
+ "<Untracked({{info:#{path}}})>"
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rfix
4
+ VERSION = "1.2.2"
5
+ end
Binary file
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pathname"
4
+ require_relative "lib/rfix/version"
5
+ # require_relative "lib/rfix/gem_helper"
6
+
7
+ Gem::Specification.new do |spec|
8
+ # extend GemHelper
9
+
10
+ spec.name = "rfix"
11
+
12
+ if ENV["TRAVIS"]
13
+ spec.version = "#{Rfix::VERSION}-#{ENV.fetch('TRAVIS_BUILD_NUMBER')}"
14
+ elsif ENV["GITHUB_RUN_ID"]
15
+ spec.version = "#{Rfix::VERSION}-#{ENV.fetch('GITHUB_RUN_ID')}"
16
+ else
17
+ # rubocop:disable Gemspec/DuplicatedAssignment
18
+ spec.version = Rfix::VERSION
19
+ # rubocop:enable Gemspec/DuplicatedAssignment
20
+ end
21
+
22
+ spec.authors = ["Linus Oleander"]
23
+ spec.email = ["linus@oleander.nu"]
24
+ spec.summary = "RuboCop CLI that only lints and auto-fixes code you committed by utilizing `git-log` and `git-diff`"
25
+ # rubocop:enable Layout/LineLength
26
+
27
+ spec.description = <<~TEXT
28
+ 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`).
29
+
30
+ Includes a RuboCop formatter with syntax highlighting and build in hyperlinks for offense documentation.
31
+
32
+ Holds the same CLI arguments as RuboCop. Run `rfix --help` for a complete list or `rfix` for supported commands.
33
+ TEXT
34
+ spec.homepage = "https://github.com/oleander/rfix-rb"
35
+ spec.license = "MIT"
36
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
37
+
38
+ spec.metadata["homepage_uri"] = spec.homepage
39
+ # Specify which files should be added to the gem when it is released.
40
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
41
+ validate_file = ->(f) { f.match(%r{^(test|spec|features)/}) }
42
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
43
+ `git ls-files -z`.split("\x0").reject(&validate_file)
44
+ end
45
+
46
+ spec.files += Dir.glob("vendor/shopify/cli-ui/lib/**/*").reject(&validate_file)
47
+
48
+ spec.bindir = "exe"
49
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
50
+ spec.require_paths = ["lib", "vendor/shopify/cli-ui/lib"]
51
+
52
+ spec.requirements << "git, v2.0+"
53
+
54
+ spec.add_runtime_dependency "cri", "~> 2.15.10"
55
+ spec.add_runtime_dependency "listen", "~> 3.0"
56
+ spec.add_runtime_dependency "rainbow", "~> 3.0"
57
+ spec.add_runtime_dependency "rouge", "~> 3.20"
58
+ spec.add_runtime_dependency "rubocop", ">= 0.80"
59
+ spec.add_runtime_dependency "rugged", "~> 1.0.0"
60
+ spec.add_runtime_dependency "require_all", "~> 3.0.0"
61
+
62
+ spec.add_development_dependency "rspec", "~> 3.0"
63
+ spec.add_development_dependency "aruba", "~> 1.0"
64
+ spec.add_development_dependency "colorize", "~> 0.8.1"
65
+ spec.add_development_dependency "git", "~> 1.7.0"
66
+ spec.add_development_dependency "rake", "~> 12.3"
67
+ spec.add_development_dependency "pry", "~> 0.13.1"
68
+ end
@@ -0,0 +1,11 @@
1
+ namespace :gem do
2
+ task :inc do
3
+ sh "gem", "bump", "-c", "-m", "'Bump version to %{version}'"
4
+ end
5
+
6
+ task :amend do
7
+ sh "git commit --amend --no-edit"
8
+ end
9
+
10
+ task bump: [:inc, Bundle::INSTALL, Bundle::ADD, :amend]
11
+ end
@@ -0,0 +1,17 @@
1
+ namespace :bundle do
2
+ task :install do
3
+ gemfiles.each do |gemfile|
4
+ next if gemfile.end_with?(".lock")
5
+
6
+ sh "bundle install", "--gemfile", gemfile, "--jobs 3"
7
+ end
8
+ end
9
+
10
+ namespace :git do
11
+ task :add do
12
+ gemfiles.each do |gemfile|
13
+ sh "git add", gemfile
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,54 @@
1
+ require "tmpdir"
2
+
3
+ namespace :bundle do
4
+ namespace :complex do
5
+ directory Bundle::TMP
6
+
7
+ desc "Build complex bundle"
8
+ task build: [Bundle::Complex::FILE, Bundle::Complex::TEST] do
9
+ say "Complex bundle has been stored @ #{Bundle::Complex::FILE}"
10
+ end
11
+
12
+ desc "Rebuild complex bundle"
13
+ task rebuild: [:flush, Bundle::Complex::BUILD]
14
+
15
+ desc "Remove complex bundle"
16
+ task :flush do
17
+ rm_f Bundle::Complex::FILE
18
+ rm_rf Bundle::Complex::REPO
19
+ end
20
+
21
+ desc "Test repo by cloning to local directory"
22
+ task test: Bundle::Complex::FILE do
23
+ Dir.mktmpdir do |repo|
24
+ sh "git clone", Bundle::Complex::FILE, repo, "--branch master"
25
+ cd repo do
26
+ sh "git rev-list --count HEAD"
27
+ sh "git ls-files"
28
+ sh "git status"
29
+ end
30
+ end
31
+
32
+ say "Finished testing complex bundle"
33
+ end
34
+
35
+ file Bundle::Complex::FILE => Bundle::Complex::REPO do
36
+ cd Bundle::Complex::REPO do
37
+ sh "git bundle create", Bundle::Complex::FILE, "--branches --tags"
38
+ end
39
+ end
40
+
41
+ file Bundle::Complex::REPO do
42
+ sh "git clone", Bundle::Complex::GITHUB, Bundle::Complex::REPO, "--branch", "master"
43
+
44
+ cd Bundle::Complex::REPO do
45
+ sh "git", "reset --hard 27fec8"
46
+
47
+ sh "git config user.email 'not-my@real-email.com'"
48
+ sh "git config user.name 'John Doe'"
49
+
50
+ sh "git tag", Bundle::Complex::TAG
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,38 @@
1
+ require "rake/clean"
2
+ require "tmpdir"
3
+ require "pathname"
4
+
5
+ repo_path = Pathname.new(Dir.mktmpdir)
6
+
7
+ CLEAN.include(repo_path)
8
+
9
+ namespace :execute do
10
+ task local: [repo_path, :install] do
11
+ chdir(repo_path) do
12
+ sh "rfix local"
13
+ end
14
+ end
15
+
16
+ task branch: [repo_path, :install] do
17
+ chdir(repo_path) do
18
+ sh "rfix branch master"
19
+ end
20
+ end
21
+
22
+ task origin: [repo_path, :install] do
23
+ chdir(repo_path) do
24
+ sh "rfix origin"
25
+ end
26
+ end
27
+
28
+ task lint: [repo_path, :install] do
29
+ chdir(repo_path) do
30
+ sh "rfix lint"
31
+ end
32
+ end
33
+
34
+ file repo_path => :rebuild do
35
+ sh "git clone spec/fixtures/complex.bundle #{repo_path} --branch master"
36
+ sh "git --work-tree=#{repo_path} branch --set-upstream-to origin/master"
37
+ end
38
+ end
@@ -0,0 +1,33 @@
1
+ require "rake/clean"
2
+ require "tmpdir"
3
+ require "pathname"
4
+
5
+ root_path = Pathname.new(Dir.mktmpdir)
6
+ # root_path = Pathname.new(__dir__).join("../tmp")
7
+ libgit2_gz_path = root_path.join("v1.0.1.tar.gz")
8
+ libgit2_path = root_path.join("libgit2-1.0.1")
9
+
10
+ CLEAN.include(root_path)
11
+
12
+ namespace :libgit2 do
13
+ task build: libgit2_path do
14
+ chdir(libgit2_path) do
15
+ sh "cmake ."
16
+ sh "make"
17
+ end
18
+ end
19
+
20
+ task install: :build do
21
+ chdir(libgit2_path) do
22
+ sh "make install"
23
+ end
24
+ end
25
+
26
+ file libgit2_gz_path do
27
+ sh "wget -O #{libgit2_gz_path} https://github.com/libgit2/libgit2/archive/v1.0.1.tar.gz"
28
+ end
29
+
30
+ file libgit2_path => libgit2_gz_path do
31
+ sh "tar xzf #{libgit2_gz_path} -C #{root_path}"
32
+ end
33
+ end
@@ -0,0 +1,62 @@
1
+ namespace :bundle do
2
+ namespace :simple do
3
+ directory Bundle::Simple::REPO
4
+
5
+ desc "Build complex bundle"
6
+ task build: [Bundle::Simple::FILE, Bundle::Simple::TEST] do
7
+ say "Simple bundle has been stored @ #{Bundle::Simple::FILE}"
8
+ end
9
+
10
+ desc "Rebuild complex bundle"
11
+ task rebuild: [:flush, Bundle::Simple::BUILD]
12
+
13
+ desc "Remove complex bundle"
14
+ task :flush do
15
+ rm_f Bundle::Simple::FILE
16
+ rm_rf Bundle::Simple::REPO
17
+ end
18
+
19
+ desc "Test repo by cloning to local directory"
20
+ task test: Bundle::Simple::FILE do
21
+ Dir.mktmpdir do |repo|
22
+ sh "git clone", Bundle::Simple::FILE, repo, "--branch master"
23
+ cd repo do
24
+ sh "git rev-list --count HEAD"
25
+ sh "git ls-files"
26
+ sh "git status"
27
+ end
28
+ end
29
+
30
+ say "Finished testing simple bundle"
31
+ end
32
+
33
+ file Bundle::Simple::FILE => Bundle::Simple::REPO do
34
+ cd Bundle::Simple::REPO do
35
+ sh "git bundle create", Bundle::Simple::FILE, "--branches --tags"
36
+ end
37
+ end
38
+
39
+ file Bundle::Simple::REPO do
40
+ cd Bundle::Simple::REPO do
41
+ touch ".gitignore"
42
+
43
+ sh "git init"
44
+ sh "git add .gitignore"
45
+
46
+ sh "git config user.email 'you@example.com'"
47
+ sh "git config user.name 'Your Name'"
48
+
49
+ sh "git commit -m 'A Commit Message'"
50
+
51
+ sh "git config push.default current"
52
+ sh "git config branch.autosetupmerge always"
53
+ sh "git config branch.autosetuprebase always"
54
+
55
+ sh "git config user.email 'not-my@real-email.com'"
56
+ sh "git config user.name 'John Doe'"
57
+
58
+ sh "git tag", Bundle::Simple::TAG
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,74 @@
1
+ RSpec::Core::RakeTask.new(:rspec)
2
+
3
+ namespace :travis do
4
+ desc "Set up dependencies"
5
+ task setup: [Vendor::BUILD, Bundle::BUILD, Travis::GIT]
6
+
7
+ desc "Install gem"
8
+ task Travis::INSTALL => Travis::SETUP do
9
+ Rake::Task[:install].invoke
10
+ end
11
+
12
+ desc "Run test suite"
13
+ task spec: Travis::SETUP do
14
+ Rake::Task[:rspec].invoke
15
+ end
16
+
17
+ desc "Verify bin on CI"
18
+ task verify: [Travis::INSTALL, Travis::TASKS]
19
+
20
+ namespace :git do
21
+ task :config do
22
+ sh "git config --global user.email 'not-my@real-email.com'"
23
+ sh "git config --global user.name 'John Doe'"
24
+ end
25
+ end
26
+
27
+ namespace :tasks do
28
+ desc "Run this"
29
+ task all: [:welcome, :info]
30
+
31
+ task :rfix do
32
+ clone_and_run do
33
+ sh "rfix"
34
+ end
35
+ end
36
+
37
+ task :info do
38
+ clone_and_run do
39
+ sh "rfix info"
40
+ end
41
+ end
42
+
43
+ task :help do
44
+ clone_and_run do
45
+ sh "rfix --help"
46
+ end
47
+ end
48
+
49
+ task :welcome do
50
+ clone_and_run do
51
+ sh "rfix welcome"
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ task :codeGen do
58
+ sleep rand
59
+ end
60
+
61
+ task compile: :codeGen do
62
+ say "in compile"
63
+ sleep rand
64
+ end
65
+
66
+ task dataLoad: :codeGen do
67
+ say "in data"
68
+ # sleep rand
69
+ end
70
+
71
+ task gtest: [:compile, :dataLoad] do
72
+ say "in test"
73
+ sleep rand
74
+ end
@@ -0,0 +1,34 @@
1
+ namespace :vendor do
2
+ namespace :shopify do
3
+ directory Vendor::DIR
4
+
5
+ desc "Downloads shopify repository"
6
+ task build: [Vendor::REPO, Vendor::TEST]
7
+
8
+ desc "Re-download shopify repository"
9
+ task rebuild: [:flush, Vendor::BUILD]
10
+
11
+ desc "Remove shopify repository"
12
+ task :flush do
13
+ rm_rf Vendor::REPO
14
+ end
15
+
16
+ desc "Test validity of repo"
17
+ task test: Vendor::REPO do
18
+ cd Vendor::REPO do
19
+ sh "git rev-list --count HEAD"
20
+ sh "git status"
21
+ end
22
+
23
+ say "Finished testing vendor"
24
+ end
25
+
26
+ file Vendor::REPO => Vendor::DIR do
27
+ sh "git clone", Vendor::GITHUB, Vendor::REPO
28
+
29
+ cd Vendor::REPO do
30
+ sh "git reset --hard", Vendor::START
31
+ end
32
+ end
33
+ end
34
+ end
metadata ADDED
@@ -0,0 +1,350 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rfix
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.2
5
+ platform: ruby
6
+ authors:
7
+ - Linus Oleander
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-07-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.15.10
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.15.10
27
+ - !ruby/object:Gem::Dependency
28
+ name: listen
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rainbow
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rouge
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.20'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.20'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0.80'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0.80'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rugged
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: require_all
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 3.0.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 3.0.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: aruba
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: colorize
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.8.1
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.8.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: git
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 1.7.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.7.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: rake
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '12.3'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '12.3'
181
+ - !ruby/object:Gem::Dependency
182
+ name: pry
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 0.13.1
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 0.13.1
195
+ description: |
196
+ 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`).
197
+
198
+ Includes a RuboCop formatter with syntax highlighting and build in hyperlinks for offense documentation.
199
+
200
+ Holds the same CLI arguments as RuboCop. Run `rfix --help` for a complete list or `rfix` for supported commands.
201
+ email:
202
+ - linus@oleander.nu
203
+ executables:
204
+ - rfix
205
+ extensions: []
206
+ extra_rdoc_files: []
207
+ files:
208
+ - ".github/workflows/main.yml"
209
+ - ".gitignore"
210
+ - ".rspec"
211
+ - ".rubocop.yml"
212
+ - ".travis.yml"
213
+ - Gemfile
214
+ - Gemfile.base
215
+ - Gemfile.base.lock
216
+ - Gemfile.lock
217
+ - Guardfile
218
+ - LICENSE.txt
219
+ - Makefile
220
+ - README.md
221
+ - Rakefile
222
+ - bin/bundle
223
+ - bin/console
224
+ - bin/guard
225
+ - bin/rake
226
+ - bin/rfix
227
+ - bin/rspec
228
+ - bin/setup
229
+ - ci/Gemfile.rubocop-0.80
230
+ - ci/Gemfile.rubocop-0.80.lock
231
+ - ci/Gemfile.rubocop-0.81
232
+ - ci/Gemfile.rubocop-0.81.lock
233
+ - ci/Gemfile.rubocop-0.82
234
+ - ci/Gemfile.rubocop-0.82.lock
235
+ - ci/Gemfile.rubocop-0.83
236
+ - ci/Gemfile.rubocop-0.83.lock
237
+ - ci/Gemfile.rubocop-0.84
238
+ - ci/Gemfile.rubocop-0.84.lock
239
+ - ci/Gemfile.rubocop-0.85
240
+ - ci/Gemfile.rubocop-0.85.1
241
+ - ci/Gemfile.rubocop-0.85.1.lock
242
+ - ci/Gemfile.rubocop-0.85.lock
243
+ - exe/rfix
244
+ - lib/rfix.rb
245
+ - lib/rfix/box.rb
246
+ - lib/rfix/branch.rb
247
+ - lib/rfix/branches/base.rb
248
+ - lib/rfix/branches/head.rb
249
+ - lib/rfix/branches/main.rb
250
+ - lib/rfix/branches/name.rb
251
+ - lib/rfix/branches/reference.rb
252
+ - lib/rfix/branches/upstream.rb
253
+ - lib/rfix/cmd.rb
254
+ - lib/rfix/commands/branch.rb
255
+ - lib/rfix/commands/extensions/options.rb
256
+ - lib/rfix/commands/help.rb
257
+ - lib/rfix/commands/helper/args.rb
258
+ - lib/rfix/commands/helper/help.rb
259
+ - lib/rfix/commands/helper/loader.rb
260
+ - lib/rfix/commands/helper/option.rb
261
+ - lib/rfix/commands/helper/params.rb
262
+ - lib/rfix/commands/helper/rubocop.rb
263
+ - lib/rfix/commands/info.rb
264
+ - lib/rfix/commands/lint.rb
265
+ - lib/rfix/commands/local.rb
266
+ - lib/rfix/commands/origin.rb
267
+ - lib/rfix/commands/setup.rb
268
+ - lib/rfix/commands/welcome.rb
269
+ - lib/rfix/deleted.rb
270
+ - lib/rfix/error.rb
271
+ - lib/rfix/extensions/extensions.rb
272
+ - lib/rfix/extensions/offense.rb
273
+ - lib/rfix/extensions/string.rb
274
+ - lib/rfix/file.rb
275
+ - lib/rfix/file_cache.rb
276
+ - lib/rfix/formatter.rb
277
+ - lib/rfix/git_helper.rb
278
+ - lib/rfix/log.rb
279
+ - lib/rfix/no_file.rb
280
+ - lib/rfix/rake/paths.rb
281
+ - lib/rfix/rake/support.rb
282
+ - lib/rfix/repository.rb
283
+ - lib/rfix/rfix.rb
284
+ - lib/rfix/tracked.rb
285
+ - lib/rfix/tracked_file.rb
286
+ - lib/rfix/untracked.rb
287
+ - lib/rfix/version.rb
288
+ - resources/ps.png
289
+ - rfix.gemspec
290
+ - tasks/bump.rake
291
+ - tasks/bundle.rake
292
+ - tasks/complex.rake
293
+ - tasks/execute.rake
294
+ - tasks/libgit2.rake
295
+ - tasks/simple.rake
296
+ - tasks/travis.rake
297
+ - tasks/vendor.rake
298
+ - vendor/shopify/cli-ui/lib/cli/ui.rb
299
+ - vendor/shopify/cli-ui/lib/cli/ui/ansi.rb
300
+ - vendor/shopify/cli-ui/lib/cli/ui/color.rb
301
+ - vendor/shopify/cli-ui/lib/cli/ui/formatter.rb
302
+ - vendor/shopify/cli-ui/lib/cli/ui/frame.rb
303
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_stack.rb
304
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_style.rb
305
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_style/box.rb
306
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_style/bracket.rb
307
+ - vendor/shopify/cli-ui/lib/cli/ui/glyph.rb
308
+ - vendor/shopify/cli-ui/lib/cli/ui/printer.rb
309
+ - vendor/shopify/cli-ui/lib/cli/ui/progress.rb
310
+ - vendor/shopify/cli-ui/lib/cli/ui/prompt.rb
311
+ - vendor/shopify/cli-ui/lib/cli/ui/prompt/interactive_options.rb
312
+ - vendor/shopify/cli-ui/lib/cli/ui/prompt/options_handler.rb
313
+ - vendor/shopify/cli-ui/lib/cli/ui/spinner.rb
314
+ - vendor/shopify/cli-ui/lib/cli/ui/spinner/async.rb
315
+ - vendor/shopify/cli-ui/lib/cli/ui/spinner/spin_group.rb
316
+ - vendor/shopify/cli-ui/lib/cli/ui/stdout_router.rb
317
+ - vendor/shopify/cli-ui/lib/cli/ui/terminal.rb
318
+ - vendor/shopify/cli-ui/lib/cli/ui/truncater.rb
319
+ - vendor/shopify/cli-ui/lib/cli/ui/version.rb
320
+ - vendor/shopify/cli-ui/lib/cli/ui/widgets.rb
321
+ - vendor/shopify/cli-ui/lib/cli/ui/widgets/base.rb
322
+ - vendor/shopify/cli-ui/lib/cli/ui/widgets/status.rb
323
+ homepage: https://github.com/oleander/rfix-rb
324
+ licenses:
325
+ - MIT
326
+ metadata:
327
+ homepage_uri: https://github.com/oleander/rfix-rb
328
+ post_install_message:
329
+ rdoc_options: []
330
+ require_paths:
331
+ - lib
332
+ - vendor/shopify/cli-ui/lib
333
+ required_ruby_version: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - ">="
336
+ - !ruby/object:Gem::Version
337
+ version: 2.5.0
338
+ required_rubygems_version: !ruby/object:Gem::Requirement
339
+ requirements:
340
+ - - ">="
341
+ - !ruby/object:Gem::Version
342
+ version: '0'
343
+ requirements:
344
+ - git, v2.0+
345
+ rubygems_version: 3.0.3
346
+ signing_key:
347
+ specification_version: 4
348
+ summary: RuboCop CLI that only lints and auto-fixes code you committed by utilizing
349
+ `git-log` and `git-diff`
350
+ test_files: []