gergich 1.1.0 → 1.2.3

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: ffdbc2a21d3ed536da68e308de2725ce8d2a8d1984125fe222fffd2534a2a5ee
4
- data.tar.gz: b404be4990fad059d5ef41885587a477a67af54b08ec0cc79f105bb8da460383
3
+ metadata.gz: 209022ec9ca1bfed90a33f905f9d0e36f016b7f25485e66041e276ff393fec6e
4
+ data.tar.gz: f6477fb1a8f75192b6f516cfe1197db7800a3b221a703d71da7a1204db3a23bc
5
5
  SHA512:
6
- metadata.gz: e35654c3f320bd82918e7a8338cfa5a0a81f050e978cfe662f91b9f9c634e4e9017bec7779918b022e578f07bf4372ef1c227e7e40d6abaa395ca5abcff7bcb5
7
- data.tar.gz: f04f09c89a36d7ebcde2e5d2b4e4e56414281b1013fa671a91a27b793d3855e54e97268445c3f0eadcd5916ec622506ef196b90e5d58b7132845fce7f7336595
6
+ metadata.gz: f6ffba5044485692318eb057407f9d6032eccd9118942233e34b3d727201784ca2111c56adb1e5ce306814916d90585b6341ff19eeb1df6c1cc0bf98d4b6b5df
7
+ data.tar.gz: f7b5f8e726eabc13f722da011df51d7c0fb137480130573819c928d1bca02057f91330d995cbda0a7ad8ad7661ee28a026a3df12f5d87911f2848f9cfd369113
data/LICENSE CHANGED
@@ -13,8 +13,8 @@ included in all copies or substantial portions of the Software.
13
13
 
14
14
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
15
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOa AND
17
- NONINFRINGEMENT. IN NO EVENT SaALL THE AUTHORS OR COPYRIGHT HOLDERS BE
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
18
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
19
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
20
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # Gergich
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/gergich.svg)](https://rubygems.org/gems/gergich)
4
- [![Dependency Status](https://gemnasium.com/badges/a2946a7849cd94f5ec0f4c3173a968f4.svg)](https://gemnasium.com/cc6fb44edee9fcf855cec82d3b6aed0f)
5
4
  [![Build Status](https://travis-ci.org/instructure/gergich.svg?branch=master)](https://travis-ci.org/instructure/gergich)
6
5
 
7
6
  Gergich is a command-line tool (and ruby lib) for easily posting comments
@@ -107,6 +106,7 @@ do `gergich comment` calls so you don't have to wire it up yourself.
107
106
  * `i18nliner`
108
107
  * `flake8`
109
108
  * `stylelint`
109
+ * `yamllint`
110
110
  * `shellcheck` - shellcheck json output
111
111
  * `custom:<path>:<class_name>` - file path and ruby class_name of a custom
112
112
  formatter.
data/bin/run_tests.sh CHANGED
@@ -2,51 +2,21 @@
2
2
 
3
3
  set -e
4
4
 
5
- function run_command {
6
- echo -e "\n[$@] STARTING $(date)"
7
- last_status=0
8
- "$@" || last_status=$?
9
- if [[ $last_status == 0 ]]; then
10
- echo -e "[$@] \033[32mOK\033[0m"
11
- else
12
- echo -e "[$@] \033[31mFAILED!\033[0m"
13
- fi
14
- echo -e "[$@] FINISHED $(date)\n"
5
+ bundle exec rubocop --fail-level autocorrect
15
6
 
16
- [[ $last_status == 0 ]] || clean_up_and_exit
17
- }
7
+ ruby -v | egrep "^ruby 2\.4" && export COVERAGE=1
18
8
 
19
- function clean_up_and_exit {
20
- end_timestamp=$(date +%s)
21
- duration=$((end_timestamp-start_timestamp))
22
-
23
- if [[ $last_status != 0 ]]; then
24
- echo -e "\033[31mBUILD FAILED\033[0m in $duration seconds\n"
25
- else
26
- echo "BUILD PASSED in $duration seconds"
27
- fi
28
- exit $last_status
29
- }
30
-
31
- start_timestamp=$(date +%s)
32
-
33
- run_command bundle exec rubocop
34
-
35
- export COVERAGE=1
36
-
37
- run_command bundle exec rspec
9
+ bundle exec rspec
38
10
 
39
11
  # these actually hit gerrit; only run them in CI land (you can do it
40
12
  # locally if you set all the docker-compose env vars)
41
13
  if [[ "$GERRIT_PATCHSET_REVISION" ]]; then
42
- run_command bin/gergich citest
43
- run_command bin/master_bouncer check
44
- DRY_RUN=1 run_command bin/master_bouncer check_all
14
+ bundle exec bin/gergich citest
15
+ bundle exec bin/master_bouncer check
16
+ DRY_RUN=1 bundle exec bin/master_bouncer check_all
45
17
  # ensure gergich works without .git directories
46
18
  rm -rf .git
47
- run_command bin/gergich status
19
+ bundle exec bin/gergich status
48
20
  fi
49
21
 
50
- run_command bin/check_coverage
51
-
52
- clean_up_and_exit
22
+ bundle exec bin/check_coverage
@@ -11,7 +11,7 @@ module Gergich
11
11
  }.freeze
12
12
 
13
13
  def run(output)
14
- # rubocop:disable Metrics/LineLength
14
+ # rubocop:disable Layout/LineLength
15
15
  #
16
16
  # Example:
17
17
  # /path/to/some.xml:27: Warning: Consider adding android:drawableStart="@drawable/a_media" to better support right-to-left layouts [RtlHardcoded]
@@ -26,7 +26,7 @@ module Gergich
26
26
  # <plurals name="number">
27
27
  # ^
28
28
  #
29
- # rubocop:enable Metrics/LineLength
29
+ # rubocop:enable Layout/LineLength
30
30
  pattern = /
31
31
  ^([^:\n]+):(\d+)?:?\s(\w+):\s(.*?)\n
32
32
  ([^\n]+\n
@@ -16,10 +16,29 @@ module Gergich
16
16
  # bin/gergich:47:8: C: Prefer double-quoted strings
17
17
  # if ENV['DEBUG']
18
18
  # ^^^^^^^
19
+ #
20
+ # 1 file inspected, 35 offenses detected, 27 offenses auto-correctable
21
+ #
22
+ # Example:
23
+ # 2 files inspected, 40 offenses detected, 31 offenses auto-correctable
24
+ #
25
+ # Example:
26
+ # 1 file inspected, no offenses detected
27
+
19
28
  first_line_pattern = /^([^:\n]+):(\d+):\d+:\s(\w):\s/
20
29
 
21
30
  parts = output.split(first_line_pattern)
31
+
32
+ unless parts.last.match?(/^\d+ files? inspect/)
33
+ raise "RuboCop failed to run properly:\n\n#{output}"
34
+ end
35
+
36
+ # strip off the summary line from the last error
37
+ parts[-1] = parts[-1].split("\n")[0..-2].join("\n")
38
+
39
+ # strip off the header
22
40
  parts.shift
41
+
23
42
  messages = []
24
43
 
25
44
  until parts.empty?
@@ -12,13 +12,13 @@ module Gergich
12
12
  }.freeze
13
13
 
14
14
  def run(output)
15
- # rubocop:disable Metrics/LineLength
15
+ # rubocop:disable Layout/LineLength
16
16
  #
17
17
  # Example:
18
18
  # /path/to/My.swift:13:22: warning: Colon Violation: Colons should be next to the identifier when specifying a type. (colon)
19
19
  # /path/to/Fail.swift:80: warning: Line Length Violation: Line should be 100 characters or less: currently 108 characters (line_length)
20
20
  #
21
- # rubocop:enable Metrics/LineLength
21
+ # rubocop:enable Layout/LineLength
22
22
  pattern = /
23
23
  ^([^:\n]+):(\d+)(?::\d+)?:\s(\w+):\s(.*?)\n
24
24
  /mx
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gergich
4
+ module Capture
5
+ class YamllintCapture < BaseCapture
6
+ SEVERITY_MAP = { "error" => "error", "warning" => "warn" }.freeze
7
+
8
+ def run(output)
9
+ # e.g. " 9:5 error string value redundantly (quoted-strings)"
10
+ error_pattern = %r{\s\s+(\d+):\d+\s+(\w+)\s+(.*?)\s+\([\w/-]+\)\n}
11
+ pattern = %r{ # Example:
12
+ ^.\/([^\n]+)\n # ./api/config/lti/development/config.yml
13
+ ((#{error_pattern})+) # 9:5 error string value redundantly (quoted-strings)
14
+ }mx
15
+
16
+ output.scan(pattern).map { |file, errors|
17
+ errors.scan(error_pattern).map { |line, severity, error|
18
+ severity = SEVERITY_MAP[severity]
19
+ { path: file, message: "[yamllint] #{error}", position: line.to_i, severity: severity }
20
+ }
21
+ }.compact.flatten
22
+ end
23
+ end
24
+ end
25
+ end
@@ -12,7 +12,7 @@ module Gergich
12
12
  end
13
13
 
14
14
  def self.normalize_captor_class_name(subclass)
15
- name = subclass.name
15
+ name = subclass.name.dup
16
16
  # borrowed from AS underscore, since we may not have it
17
17
  name.gsub!(/.*::|Capture\z/, "")
18
18
  name.gsub!(/([A-Z\d]+)([A-Z][a-z])/, "\\1_\\2")
@@ -109,4 +109,4 @@ module Gergich
109
109
  end
110
110
  end
111
111
 
112
- Dir[File.dirname(__FILE__) + "/capture/*.rb"].each { |file| require file }
112
+ Dir[File.dirname(__FILE__) + "/capture/*.rb"].sort.each { |file| require file }
@@ -14,10 +14,11 @@ CI_TEST_ARGS = {
14
14
  ],
15
15
  "label" => ["Code-Review", 1],
16
16
  "message" => ["this is a test"],
17
- "capture" => ["rubocop", "echo #{Shellwords.escape(<<~OUTPUT)}"]
17
+ "capture" => ["rubocop", format("echo %<output>s", output: Shellwords.escape(<<~OUTPUT))]
18
18
  bin/gergich:47:8: C: Prefer double-quoted strings
19
19
  if ENV['DEBUG']
20
20
  ^^^^^^^
21
+ 1 file inspected, 35 offenses detected, 27 offenses auto-correctable
21
22
  OUTPUT
22
23
  }.freeze
23
24
 
@@ -209,6 +210,7 @@ commands["capture"] = {
209
210
  * i18nliner
210
211
  * flake8
211
212
  * stylelint
213
+ * yamllint
212
214
  * custom:<path>:<class_name> - file path and ruby
213
215
  class_name of a custom formatter.
214
216
 
data/lib/gergich.rb CHANGED
@@ -1,10 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "erb"
4
- require "sqlite3"
5
4
  require "json"
6
5
  require "fileutils"
7
- require "httparty"
8
6
  require "base64"
9
7
 
10
8
  GERGICH_REVIEW_LABEL = ENV.fetch("GERGICH_REVIEW_LABEL", "Code-Review")
@@ -292,6 +290,8 @@ module Gergich
292
290
  private
293
291
 
294
292
  def perform(method, url, options)
293
+ # delay requiring httparty until here, to make local command line runs as fast as possible
294
+ require "httparty"
295
295
  options = prepare_options(options)
296
296
  ret = HTTParty.send(method, url, options).body
297
297
  return ret if options[:raw]
@@ -363,11 +363,14 @@ module Gergich
363
363
  end
364
364
 
365
365
  def db_file
366
- @db_file ||= File.expand_path("/tmp/#{GERGICH_USER}-#{commit.revision_id}.sqlite3")
366
+ @db_file ||= File.expand_path(
367
+ "#{ENV.fetch('GERGICH_DB_PATH', '/tmp')}/#{GERGICH_USER}-#{commit.revision_id}.sqlite3"
368
+ )
367
369
  end
368
370
 
369
371
  def db
370
372
  @db ||= begin
373
+ require "sqlite3"
371
374
  db_exists = File.exist?(db_file)
372
375
  db = SQLite3::Database.new(db_file)
373
376
  db.results_as_hash = true
@@ -3,12 +3,12 @@
3
3
  require_relative "../../support/capture_shared_examples"
4
4
 
5
5
  RSpec.describe Gergich::Capture::AndroidlintCapture do
6
- # rubocop:disable Metrics/LineLength
6
+ # rubocop:disable Layout/LineLength
7
7
  let(:rtl_hardcoded) { 'Consider adding android:drawableStart="@drawable/a_media" to better support right-to-left layouts [RtlHardcoded]' }
8
8
  let(:rtl_enabled) { "The project references RTL attributes, but does not explicitly enable or disable RTL support with android:supportsRtl in the manifest [RtlEnabled]" }
9
9
  let(:lint_error) { 'No .class files were found in project "0.0.2", so none of the classfile based checks could be run. Does the project need to be built first? [LintError]' }
10
10
  let(:unused_quantity) { 'For language "fr" (French) the following quantities are not relevant: few, zero [UnusedQuantity]' }
11
- # rubocop:enable Metrics/LineLength
11
+ # rubocop:enable Layout/LineLength
12
12
  let(:output) do
13
13
  <<~OUTPUT
14
14
  /path/to/some.xml:27: Warning: #{rtl_hardcoded}
@@ -31,9 +31,9 @@ RSpec.describe Gergich::Capture::AndroidlintCapture do
31
31
  {
32
32
  path: "/path/to/some.xml",
33
33
  position: 27,
34
- # rubocop:disable Metrics/LineLength
34
+ # rubocop:disable Layout/LineLength
35
35
  message: "[androidlint] #{rtl_hardcoded}\n\n android:drawableLeft=\"@drawable/ic_cv_media\"/>\n ~~~~~~~~~~~~~~~~~~~~",
36
- # rubocop:enable Metrics/LineLength
36
+ # rubocop:enable Layout/LineLength
37
37
  severity: "warn"
38
38
  },
39
39
  {
@@ -19,6 +19,8 @@ RSpec.describe Gergich::Capture::RubocopCapture do
19
19
  lib/gergich.rb:22:55: W: Line is too long. [55/54]
20
20
  def initialize(ref = "HEAD", revision_number = nil)
21
21
  ^^
22
+
23
+ 1 file inspected, 35 offenses detected, 27 offenses auto-correctable
22
24
  OUTPUT
23
25
  end
24
26
  let(:comments) do
@@ -63,4 +65,11 @@ RSpec.describe Gergich::Capture::RubocopCapture do
63
65
  end
64
66
 
65
67
  it_behaves_like "a captor"
68
+
69
+ it "raises an error if it couldn't run" do
70
+ expect { subject.run(<<-OUTPUT) }.to raise_error(/RuboCop failed to run properly/)
71
+ Could not find i18n-1.8.9 in any of the sources
72
+ Run `bundle install` to install missing gems.
73
+ OUTPUT
74
+ end
66
75
  end
@@ -3,11 +3,11 @@
3
3
  require_relative "../../support/capture_shared_examples"
4
4
 
5
5
  RSpec.describe Gergich::Capture::SwiftlintCapture do
6
- # rubocop:disable Metrics/LineLength
6
+ # rubocop:disable Layout/LineLength
7
7
  let(:colon_violation) { "Colon Violation: Colons should be next to the identifier when specifying a type. (colon)" }
8
8
  let(:line_length_violation) { "Line Length Violation: Line should be 100 characters or less: currently 129 characters (line_length)" }
9
9
  let(:force_cast_violation) { "Force Cast Violation: Force casts should be avoided. (force_cast)" }
10
- # rubocop:enable Metrics/LineLength
10
+ # rubocop:enable Layout/LineLength
11
11
  let(:output) do
12
12
  <<~OUTPUT
13
13
  /path/to/My.swift:13:22: warning: #{colon_violation}
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../support/capture_shared_examples"
4
+
5
+ RSpec.describe Gergich::Capture::YamllintCapture do
6
+ let(:output) do
7
+ <<~OUTPUT
8
+ ./api/config/lti/development/config.yml
9
+ 2:8 error string value is redundantly quoted with double quotes (quoted-strings)
10
+ 12:3 warning comment not indented like content (comments-indentation)
11
+ OUTPUT
12
+ end
13
+ let(:comments) do
14
+ [
15
+ {
16
+ path: "api/config/lti/development/config.yml",
17
+ position: 2,
18
+ message: "[yamllint] string value is redundantly quoted with double quotes",
19
+ severity: "error"
20
+ },
21
+ {
22
+ path: "api/config/lti/development/config.yml",
23
+ position: 12,
24
+ message: "[yamllint] comment not indented like content",
25
+ severity: "warn"
26
+ }
27
+ ]
28
+ end
29
+
30
+ it_behaves_like "a captor"
31
+ end
data/spec/gergich_spec.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "httparty"
4
+
3
5
  RSpec.describe Gergich::API do
4
6
  context "bad change-id" do
5
7
  let(:result) { double(:result, body: "Not Found: 1234") }
@@ -90,6 +92,21 @@ RSpec.describe Gergich::Draft do
90
92
  draft.reset!
91
93
  end
92
94
 
95
+ context "#GERGICH_DB_PATH" do
96
+ it "uses the custom path" do
97
+ original_db_path = ENV["GERGICH_DB_PATH"]
98
+ ENV["GERGICH_DB_PATH"] = "/custom"
99
+
100
+ expect(draft.db_file).to eq("/custom/gergich-test.sqlite3")
101
+
102
+ ENV["GERGICH_DB_PATH"] = original_db_path
103
+ end
104
+
105
+ it "uses the default path" do
106
+ expect(draft.db_file).to eq("/tmp/gergich-test.sqlite3")
107
+ end
108
+ end
109
+
93
110
  describe "#info" do
94
111
  subject { draft.info }
95
112
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gergich
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Jensen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-10 00:00:00.000000000 Z
11
+ date: 2021-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -16,84 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.16'
19
+ version: '0.17'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.16'
26
+ version: '0.17'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sqlite3
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.3'
33
+ version: '1.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.3'
40
+ version: '1.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: byebug
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '11.1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '11.1'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '12.0'
61
+ version: '13.0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '12.0'
68
+ version: '13.0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '3.5'
75
+ version: '3.9'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '3.5'
82
+ version: '3.9'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rubocop
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0.49'
89
+ version: 0.79.0
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0.49'
96
+ version: 0.79.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: simplecov
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: 0.16.0
103
+ version: 0.17.1
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: 0.16.0
110
+ version: 0.17.1
97
111
  description: Gergich is a little command-line tool for wiring up linters to Gerrit
98
112
  so you can get nice inline comments right on the review
99
113
  email: jon@instructure.com
@@ -120,6 +134,7 @@ files:
120
134
  - lib/gergich/capture/shellcheck_capture.rb
121
135
  - lib/gergich/capture/stylelint_capture.rb
122
136
  - lib/gergich/capture/swiftlint_capture.rb
137
+ - lib/gergich/capture/yamllint_capture.rb
123
138
  - lib/gergich/cli.rb
124
139
  - lib/gergich/cli/gergich.rb
125
140
  - lib/gergich/cli/master_bouncer.rb
@@ -133,6 +148,7 @@ files:
133
148
  - spec/gergich/capture/shellcheck_capture_spec.rb
134
149
  - spec/gergich/capture/stylelint_capture_spec.rb
135
150
  - spec/gergich/capture/swiftlint_capture_spec.rb
151
+ - spec/gergich/capture/yamllint_capture_spec.rb
136
152
  - spec/gergich/capture_spec.rb
137
153
  - spec/gergich_spec.rb
138
154
  - spec/spec_helper.rb
@@ -141,7 +157,7 @@ homepage: https://github.com/instructure/gergich
141
157
  licenses:
142
158
  - MIT
143
159
  metadata: {}
144
- post_install_message:
160
+ post_install_message:
145
161
  rdoc_options: []
146
162
  require_paths:
147
163
  - lib
@@ -156,9 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
172
  - !ruby/object:Gem::Version
157
173
  version: '0'
158
174
  requirements: []
159
- rubyforge_project:
160
- rubygems_version: 2.7.6.2
161
- signing_key:
175
+ rubygems_version: 3.2.24
176
+ signing_key:
162
177
  specification_version: 4
163
178
  summary: Command-line tool for adding Gerrit comments
164
179
  test_files: []