gergich 0.1.5 → 0.1.6

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
  SHA1:
3
- metadata.gz: cfb1410453dc4f232425a565900e4054e6bd78e9
4
- data.tar.gz: 4f0d4313f19a6ce70a7b23964b89f861df60fd52
3
+ metadata.gz: 899a2175e74f907763c70a483437eefd9bda8b2b
4
+ data.tar.gz: 77fad0f1d44722607d1cb6e1af67d15205a4ac16
5
5
  SHA512:
6
- metadata.gz: ef08bf7c85453189cfa490ab83a958e6b6f4e9330bd523f964df3b2a2211a15703dafd07ca64f6b5faef006b60c0d88c90b85fe5c4e0ebdef8751c2635211258
7
- data.tar.gz: e39a847e30678b76ed6bb51c1e900c01ac72359f2aca89f379a927cd4b9cceb39efecc22ddc4cf80dfea8f179790fdb9811da68389c58afbaa84d2e50da31986
6
+ metadata.gz: 163de2c94245b125515c2dec581e314db68fe6cfc42e0cc9b661c485818c6a03cf2ceb160a93bd9101e78d4564f0275c0697aa1decd3adf4d9e48e4e1f726570
7
+ data.tar.gz: ea96e37e0ea8ce2c3374f6354699116768ce87e45f01fd9a288a32aa2e4679d2b59914c76761c020691945f04d82af631749270072b51053a85c913d0dbcc1e3
data/README.md CHANGED
@@ -103,6 +103,7 @@ do `gergich comment` calls so you don't have to wire it up yourself.
103
103
  * `eslint`
104
104
  * `i18nliner`
105
105
  * `flake8`
106
+ * `stylelint`
106
107
  * `custom:<path>:<class_name>` - file path and ruby class_name of a custom
107
108
  formatter.
108
109
 
@@ -1,7 +1,14 @@
1
+ require "English"
2
+
1
3
  module Gergich
2
4
  module Capture
3
5
  class BaseCapture
4
6
  def self.inherited(subclass)
7
+ name = normalize_captor_class_name(subclass)
8
+ Capture.captors[name] = subclass
9
+ end
10
+
11
+ def self.normalize_captor_class_name(subclass)
5
12
  name = subclass.name
6
13
  # borrowed from AS underscore, since we may not have it
7
14
  name.gsub!(/.*::|Capture\z/, "")
@@ -9,7 +16,6 @@ module Gergich
9
16
  name.gsub!(/([a-z\d])([A-Z])/, "\\1_\\2")
10
17
  name.tr!("-", "_")
11
18
  name.downcase!
12
- Capture.captors[name] = subclass
13
19
  end
14
20
  end
15
21
 
@@ -0,0 +1,50 @@
1
+ module Gergich
2
+ module Capture
3
+ class StylelintCapture < BaseCapture
4
+ # stylelint is a css linter
5
+ # https://github.com/stylelint/stylelint
6
+ #
7
+ # rubocop:disable Style/AsciiComments
8
+ # example full output:
9
+ # app/stylesheets/base/_print.scss
10
+ # 3:17 ✖ Unexpected invalid hex color "#owiehfi" color-no-invalid-hex
11
+ # 3:17 ⚠ Expected "#owiehfi" to be "#OWIEHFI" color-hex-case
12
+ #
13
+ # app/stylesheets/base/_variables.scss
14
+ # 2:15 ✖ Unexpected invalid hex color "#2D3B4" color-no-invalid-hex
15
+ # 30:15 ⚠ Expected "#2d3b4a" to be "#2D3B4A" color-hex-case
16
+
17
+ MESSAGE_PREFIX = "[stylelint]".freeze
18
+
19
+ SEVERITY_MAP = {
20
+ "✖" => "error",
21
+ "⚠" => "warn"
22
+ }.freeze
23
+
24
+ # example file line:
25
+ # app/stylesheets/base/_variables.scss
26
+ FILE_PATH_PATTERN = /([^\n]+)\n/
27
+
28
+ # example error line:
29
+ # 1:15 ✖ Unexpected invalid hex color "#2D3B4" color-no-invalid-hex
30
+ ERROR_PATTERN = /^\s+(\d+):\d+\s+(✖|⚠)\s+(.*?)\s\s+[^\n]+\n/
31
+ # rubocop:enable Style/AsciiComments
32
+
33
+ PATTERN = /#{FILE_PATH_PATTERN}((#{ERROR_PATTERN})+)/
34
+
35
+ def run(output)
36
+ output.scan(PATTERN).map { |file, errors|
37
+ errors.scan(ERROR_PATTERN).map { |line, severity, error|
38
+ severity = SEVERITY_MAP[severity]
39
+ {
40
+ path: file,
41
+ message: "#{MESSAGE_PREFIX} #{error}",
42
+ position: line.to_i,
43
+ severity: severity
44
+ }
45
+ }
46
+ }.flatten.compact
47
+ end
48
+ end
49
+ end
50
+ end
@@ -205,6 +205,7 @@ do `gergich comment` calls so you don't have to wire it up yourself.
205
205
  * eslint
206
206
  * i18nliner
207
207
  * flake8
208
+ * stylelint
208
209
  * custom:<path>:<class_name> - file path and ruby
209
210
  class_name of a custom formatter.
210
211
 
@@ -0,0 +1,56 @@
1
+ require_relative "../../support/capture_shared_examples"
2
+
3
+ RSpec.describe Gergich::Capture::AndroidlintCapture do
4
+ # rubocop:disable Metrics/LineLength
5
+ let(:rtl_hardcoded) { 'Consider adding android:drawableStart="@drawable/a_media" to better support right-to-left layouts [RtlHardcoded]' }
6
+ let(:rtl_enabled) { "The project references RTL attributes, but does not explicitly enable or disable RTL support with android:supportsRtl in the manifest [RtlEnabled]" }
7
+ 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]' }
8
+ let(:unused_quantity) { 'For language "fr" (French) the following quantities are not relevant: few, zero [UnusedQuantity]' }
9
+ let(:output) do
10
+ <<-OUTPUT
11
+ /path/to/some.xml:27: Warning: #{rtl_hardcoded}
12
+ android:drawableLeft="@drawable/ic_cv_media"/>
13
+ ~~~~~~~~~~~~~~~~~~~~
14
+
15
+ /path/to/AndroidManifest.xml: Warning: #{rtl_enabled}
16
+
17
+ /path/to/library/0.0.2: Error: #{lint_error}
18
+
19
+ /path/to/values.xml:5: Warning: #{unused_quantity}
20
+ <plurals name="number">
21
+ ^
22
+
23
+ OUTPUT
24
+ end
25
+
26
+ let(:comments) do
27
+ [
28
+ {
29
+ path: "/path/to/some.xml",
30
+ position: 27,
31
+ message: "[androidlint] #{rtl_hardcoded}\n\n android:drawableLeft=\"@drawable/ic_cv_media\"/>\n ~~~~~~~~~~~~~~~~~~~~",
32
+ severity: "warn"
33
+ },
34
+ {
35
+ path: "/path/to/AndroidManifest.xml",
36
+ position: 0,
37
+ message: "[androidlint] #{rtl_enabled}",
38
+ severity: "warn"
39
+ },
40
+ {
41
+ path: "/path/to/library/0.0.2",
42
+ position: 0,
43
+ message: "[androidlint] #{lint_error}",
44
+ severity: "error"
45
+ },
46
+ {
47
+ path: "/path/to/values.xml",
48
+ position: 5,
49
+ message: "[androidlint] #{unused_quantity}\n\n <plurals name=\"number\">\n ^",
50
+ severity: "warn"
51
+ }
52
+ ]
53
+ end
54
+
55
+ it_behaves_like "a captor"
56
+ end
@@ -0,0 +1,39 @@
1
+ require_relative "../../../lib/gergich/capture"
2
+
3
+ RSpec.describe "CustomCaptor" do
4
+ class CustomCaptor
5
+ def run(output)
6
+ output.scan(/^(.+?):(\d+): (.*)$/).map do |file, line, error|
7
+ { path: file, message: error, position: line.to_i, severity: "error" }
8
+ end
9
+ end
10
+ end
11
+
12
+ let(:described_class) { CustomCaptor }
13
+ let(:capture_format) { "custom:sqlite3:CustomCaptor" }
14
+ let(:output) do
15
+ <<-OUTPUT
16
+ foo.rb:1: you done screwed up
17
+ OUTPUT
18
+ end
19
+ let(:comments) do
20
+ [
21
+ {
22
+ path: "foo.rb",
23
+ position: 1,
24
+ message: "you done screwed up",
25
+ severity: "error"
26
+ }
27
+ ]
28
+ end
29
+
30
+ it "loads" do
31
+ captor = Gergich::Capture.load_captor(capture_format)
32
+ expect(captor).to eq(described_class)
33
+ end
34
+
35
+ it "catches errors" do
36
+ comments = subject.run(output)
37
+ expect(comments).to match_array(comments)
38
+ end
39
+ end
@@ -0,0 +1,29 @@
1
+ require_relative "../../support/capture_shared_examples"
2
+
3
+ RSpec.describe Gergich::Capture::EslintCapture do
4
+ let(:output) do
5
+ <<-OUTPUT
6
+ jsapp/models/user.js
7
+ 4:21 error Missing semicolon semi
8
+ 5:1 warning Too much cowbell cowbell-overload
9
+ OUTPUT
10
+ end
11
+ let(:comments) do
12
+ [
13
+ {
14
+ path: "jsapp/models/user.js",
15
+ position: 4,
16
+ message: "[eslint] Missing semicolon",
17
+ severity: "error"
18
+ },
19
+ {
20
+ path: "jsapp/models/user.js",
21
+ position: 5,
22
+ message: "[eslint] Too much cowbell",
23
+ severity: "warn"
24
+ }
25
+ ]
26
+ end
27
+
28
+ it_behaves_like "a captor"
29
+ end
@@ -0,0 +1,21 @@
1
+ require_relative "../../support/capture_shared_examples"
2
+
3
+ RSpec.describe Gergich::Capture::Flake8Capture do
4
+ let(:output) do
5
+ <<-OUTPUT
6
+ ./djangogeneric/settings/base.py:73:80: E501 line too long (81 > 79 characters)
7
+ OUTPUT
8
+ end
9
+ let(:comments) do
10
+ [
11
+ {
12
+ path: "./djangogeneric/settings/base.py",
13
+ position: 73,
14
+ message: "[flake8] E501 line too long (81 > 79 characters)",
15
+ severity: "error"
16
+ }
17
+ ]
18
+ end
19
+
20
+ it_behaves_like "a captor"
21
+ end
@@ -0,0 +1,23 @@
1
+ require_relative "../../support/capture_shared_examples"
2
+
3
+ RSpec.describe Gergich::Capture::I18nlinerCapture do
4
+ let(:output) do
5
+ <<-OUTPUT
6
+ 1)
7
+ invalid signature on line 4: <unsupported expression>
8
+ jsapp/models/user.js
9
+ OUTPUT
10
+ end
11
+ let(:comments) do
12
+ [
13
+ {
14
+ path: "jsapp/models/user.js",
15
+ position: 4,
16
+ message: "[i18n] invalid signature: <unsupported expression>",
17
+ severity: "error"
18
+ }
19
+ ]
20
+ end
21
+
22
+ it_behaves_like "a captor"
23
+ end
@@ -0,0 +1,37 @@
1
+ require_relative "../../support/capture_shared_examples"
2
+
3
+ RSpec.describe Gergich::Capture::RubocopCapture do
4
+ let(:output) do
5
+ <<-OUTPUT
6
+ bin/gergich:47:8: C: Prefer double-quoted strings
7
+ if ENV['DEBUG']
8
+ ^^^^^^^
9
+ lib/gergich.rb:22:55: W: Line is too long. [55/54]
10
+ def initialize(ref = "HEAD", revision_number = nil)
11
+ ^^
12
+ OUTPUT
13
+ end
14
+ let(:comments) do
15
+ [
16
+ {
17
+ path: "bin/gergich",
18
+ position: 47,
19
+ message: "[rubocop] Prefer double-quoted strings\n\n if ENV['DEBUG']\n ^^^^^^^\n",
20
+ severity: "info"
21
+ },
22
+ {
23
+ path: "lib/gergich.rb",
24
+ position: 22,
25
+ message: <<-OUTPUT,
26
+ [rubocop] Line is too long. [55/54]
27
+
28
+ def initialize(ref = "HEAD", revision_number = nil)
29
+ ^^
30
+ OUTPUT
31
+ severity: "warn"
32
+ }
33
+ ]
34
+ end
35
+
36
+ it_behaves_like "a captor"
37
+ end
@@ -0,0 +1,45 @@
1
+ require_relative "../../support/capture_shared_examples"
2
+
3
+ RSpec.describe Gergich::Capture::StylelintCapture do
4
+ let(:output) do
5
+ <<-OUTPUT
6
+ app/stylesheets/base/_print.scss
7
+ 3:17 ✖ Unexpected invalid hex color "#owiehfi" color-no-invalid-hex
8
+ 3:17 ⚠ Expected "#owiehfi" to be "#OWIEHFI" color-hex-case
9
+
10
+ app/stylesheets/base/_variables.scss
11
+ 2:15 ✖ Unexpected invalid hex color "#2D3B4" color-no-invalid-hex
12
+ 30:15 ⚠ Expected "#2d3b4a" to be "#2D3B4A" color-hex-case
13
+ OUTPUT
14
+ end
15
+ let(:comments) do
16
+ [
17
+ {
18
+ path: "app/stylesheets/base/_print.scss",
19
+ position: 3,
20
+ message: "[stylelint] Unexpected invalid hex color \"#owiehfi\"",
21
+ severity: "error"
22
+ },
23
+ {
24
+ path: "app/stylesheets/base/_print.scss",
25
+ position: 3,
26
+ message: "[stylelint] Expected \"#owiehfi\" to be \"#OWIEHFI\"",
27
+ severity: "warn"
28
+ },
29
+ {
30
+ path: "app/stylesheets/base/_variables.scss",
31
+ position: 2,
32
+ message: "[stylelint] Unexpected invalid hex color \"#2D3B4\"",
33
+ severity: "error"
34
+ },
35
+ {
36
+ path: "app/stylesheets/base/_variables.scss",
37
+ position: 30,
38
+ message: "[stylelint] Expected \"#2d3b4a\" to be \"#2D3B4A\"",
39
+ severity: "warn"
40
+ }
41
+ ]
42
+ end
43
+
44
+ it_behaves_like "a captor"
45
+ end
@@ -0,0 +1,39 @@
1
+ require_relative "../../support/capture_shared_examples"
2
+
3
+ RSpec.describe Gergich::Capture::SwiftlintCapture do
4
+ # rubocop:disable Metrics/LineLength
5
+ let(:colon_violation) { "Colon Violation: Colons should be next to the identifier when specifying a type. (colon)" }
6
+ let(:line_length_violation) { "Line Length Violation: Line should be 100 characters or less: currently 129 characters (line_length)" }
7
+ let(:force_cast_violation) { "Force Cast Violation: Force casts should be avoided. (force_cast)" }
8
+ let(:output) do
9
+ <<-OUTPUT
10
+ /path/to/My.swift:13:22: warning: #{colon_violation}
11
+ /path/to/Fail.swift:76: warning: #{line_length_violation}
12
+ /path/to/Cast.swift:15:9: error: #{force_cast_violation}
13
+ OUTPUT
14
+ end
15
+ let(:comments) do
16
+ [
17
+ {
18
+ path: "/path/to/My.swift",
19
+ position: 13,
20
+ message: "[swiftlint] #{colon_violation}",
21
+ severity: "warn"
22
+ },
23
+ {
24
+ path: "/path/to/Fail.swift",
25
+ position: 76,
26
+ message: "[swiftlint] #{line_length_violation}",
27
+ severity: "warn"
28
+ },
29
+ {
30
+ path: "/path/to/Cast.swift",
31
+ position: 15,
32
+ message: "[swiftlint] #{force_cast_violation}",
33
+ severity: "error"
34
+ }
35
+ ]
36
+ end
37
+
38
+ it_behaves_like "a captor"
39
+ end
@@ -1,189 +1,10 @@
1
1
  require_relative "../../lib/gergich/capture"
2
- require_relative "../../lib/gergich"
3
2
 
4
3
  RSpec.describe Gergich::Capture do
5
4
  let!(:draft) { double }
6
5
 
7
6
  before do
8
7
  allow(Gergich::Draft).to receive(:new).and_return(draft)
9
- $stdout = StringIO.new
10
- end
11
-
12
- after do
13
- $stdout = STDOUT
14
- end
15
-
16
- context "rubocop" do
17
- it "should catch errors" do
18
- allow(described_class).to receive(:run_command).and_return([0, <<-OUTPUT])
19
- bin/gergich:47:8: C: Prefer double-quoted strings
20
- if ENV['DEBUG']
21
- ^^^^^^^
22
- lib/gergich.rb:22:55: W: Line is too long. [55/54]
23
- def initialize(ref = "HEAD", revision_number = nil)
24
- ^^
25
- OUTPUT
26
- expect(draft).to receive(:add_comment).with(
27
- "bin/gergich",
28
- 47,
29
- "[rubocop] Prefer double-quoted strings\n\n if ENV['DEBUG']\n ^^^^^^^\n",
30
- "info"
31
- )
32
- expect(draft).to receive(:add_comment)
33
- .with("lib/gergich.rb", 22, <<-OUTPUT, "warn")
34
- [rubocop] Line is too long. [55/54]
35
-
36
- def initialize(ref = "HEAD", revision_number = nil)
37
- ^^
38
- OUTPUT
39
- described_class.run("rubocop", "false")
40
- end
41
- end
42
-
43
- # rubocop:disable Metrics/LineLength
44
- context "swiftlint" do
45
- it "should catch errors" do
46
- colon_violation = "Colon Violation: Colons should be next to the identifier when specifying a type. (colon)"
47
- line_length_violation = "Line Length Violation: Line should be 100 characters or less: currently 129 characters (line_length)"
48
- force_cast_violation = "Force Cast Violation: Force casts should be avoided. (force_cast)"
49
- allow(described_class).to receive(:run_command).and_return([0, <<-OUTPUT])
50
- /path/to/My.swift:13:22: warning: #{colon_violation}
51
- /path/to/Fail.swift:76: warning: #{line_length_violation}
52
- /path/to/Cast.swift:15:9: error: #{force_cast_violation}
53
- OUTPUT
54
- expect(draft).to receive(:add_comment).with(
55
- "/path/to/My.swift",
56
- 13,
57
- "[swiftlint] #{colon_violation}",
58
- "warn"
59
- )
60
- expect(draft).to receive(:add_comment).with(
61
- "/path/to/Fail.swift",
62
- 76,
63
- "[swiftlint] #{line_length_violation}",
64
- "warn"
65
- )
66
- expect(draft).to receive(:add_comment).with(
67
- "/path/to/Cast.swift",
68
- 15,
69
- "[swiftlint] #{force_cast_violation}",
70
- "error"
71
- )
72
- described_class.run("swiftlint", "false")
73
- end
74
- end
75
-
76
- context "androidlint" do
77
- it "should catch errors" do
78
- rtl_hardcoded = 'Consider adding android:drawableStart="@drawable/a_media" to better support right-to-left layouts [RtlHardcoded]'
79
- rtl_enabled = "The project references RTL attributes, but does not explicitly enable or disable RTL support with android:supportsRtl in the manifest [RtlEnabled]"
80
- 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]'
81
- unused_quantity = 'For language "fr" (French) the following quantities are not relevant: few, zero [UnusedQuantity]'
82
- allow(described_class).to receive(:run_command).and_return([0, <<-OUTPUT])
83
- /path/to/some.xml:27: Warning: #{rtl_hardcoded}
84
- android:drawableLeft="@drawable/ic_cv_media"/>
85
- ~~~~~~~~~~~~~~~~~~~~
86
-
87
- /path/to/AndroidManifest.xml: Warning: #{rtl_enabled}
88
-
89
- /path/to/library/0.0.2: Error: #{lint_error}
90
-
91
- /path/to/values.xml:5: Warning: #{unused_quantity}
92
- <plurals name="number">
93
- ^
94
-
95
- OUTPUT
96
- expect(draft).to receive(:add_comment).with(
97
- "/path/to/some.xml",
98
- 27,
99
- "[androidlint] #{rtl_hardcoded}\n\n android:drawableLeft=\"@drawable/ic_cv_media\"/>\n ~~~~~~~~~~~~~~~~~~~~",
100
- "warn"
101
- )
102
- expect(draft).to receive(:add_comment).with(
103
- "/path/to/AndroidManifest.xml",
104
- 0,
105
- "[androidlint] #{rtl_enabled}",
106
- "warn"
107
- )
108
- expect(draft).to receive(:add_comment).with(
109
- "/path/to/library/0.0.2",
110
- 0,
111
- "[androidlint] #{lint_error}",
112
- "error"
113
- )
114
- expect(draft).to receive(:add_comment).with(
115
- "/path/to/values.xml",
116
- 5,
117
- "[androidlint] #{unused_quantity}\n\n <plurals name=\"number\">\n ^",
118
- "warn"
119
- )
120
- described_class.run("androidlint", "false")
121
- end
122
- end
123
-
124
- context "eslint" do
125
- it "should catch errors" do
126
- allow(described_class).to receive(:run_command).and_return([0, <<-OUTPUT])
127
- jsapp/models/user.js
128
- 4:21 error Missing semicolon semi
129
- 5:1 warning Too much cowbell cowbell-overload
130
- OUTPUT
131
- expect(draft).to receive(:add_comment).with(
132
- "jsapp/models/user.js",
133
- 4,
134
- "[eslint] Missing semicolon",
135
- "error"
136
- )
137
-
138
- expect(draft).to receive(:add_comment).with(
139
- "jsapp/models/user.js",
140
- 5,
141
- "[eslint] Too much cowbell",
142
- "warn"
143
- )
144
- described_class.run("eslint", "false")
145
- end
146
- end
147
-
148
- context "i18nliner" do
149
- it "should catch errors" do
150
- allow(described_class).to receive(:run_command).and_return([0, <<-OUTPUT])
151
- 1)
152
- invalid signature on line 4: <unsupported expression>
153
- jsapp/models/user.js
154
- OUTPUT
155
- expect(draft).to receive(:add_comment).with(
156
- "jsapp/models/user.js",
157
- 4,
158
- "[i18n] invalid signature: <unsupported expression>",
159
- "error"
160
- )
161
- described_class.run("i18nliner", "false")
162
- end
163
- end
164
-
165
- context "custom" do
166
- class CustomCaptor
167
- def run(output)
168
- puts output
169
- output.scan(/^(.+?):(\d+): (.*)$/).map do |file, line, error|
170
- { path: file, message: error, position: line.to_i, severity: "error" }
171
- end
172
- end
173
- end
174
-
175
- it "should catch errors" do
176
- allow(described_class).to receive(:run_command).and_return([0, <<-OUTPUT])
177
- foo.rb:1: you done screwed up
178
- OUTPUT
179
- expect(draft).to receive(:add_comment).with(
180
- "foo.rb",
181
- 1,
182
- "you done screwed up",
183
- "error"
184
- )
185
- described_class.run("custom:sqlite3:CustomCaptor", "false")
186
- end
187
8
  end
188
9
 
189
10
  context "stdin" do
@@ -1,5 +1,3 @@
1
- require_relative "../lib/gergich"
2
-
3
1
  RSpec.describe Gergich::API do
4
2
  let(:result) { double(:result, { body: "Not Found: 1234" }) }
5
3
 
@@ -1,4 +1,5 @@
1
1
  require "simplecov" if ENV["COVERAGE"]
2
+ require_relative "../lib/gergich"
2
3
 
3
4
  # This file was generated by the `rspec --init` command. Conventionally, all
4
5
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
@@ -0,0 +1,17 @@
1
+ require_relative "../../lib/gergich/capture"
2
+
3
+ RSpec.shared_examples_for "a captor" do
4
+ let(:capture_format) do
5
+ Gergich::Capture::BaseCapture.normalize_captor_class_name(described_class)
6
+ end
7
+
8
+ it "loads" do
9
+ captor = Gergich::Capture.load_captor(capture_format)
10
+ expect(captor).to eq(described_class)
11
+ end
12
+
13
+ it "catches errors" do
14
+ comments = subject.run(output)
15
+ expect(comments).to match_array(comments)
16
+ end
17
+ end
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: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Jensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-18 00:00:00.000000000 Z
11
+ date: 2016-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sqlite3
@@ -60,13 +60,23 @@ files:
60
60
  - lib/gergich/capture/flake8_capture.rb
61
61
  - lib/gergich/capture/i18nliner_capture.rb
62
62
  - lib/gergich/capture/rubocop_capture.rb
63
+ - lib/gergich/capture/stylelint_capture.rb
63
64
  - lib/gergich/capture/swiftlint_capture.rb
64
65
  - lib/gergich/cli.rb
65
66
  - lib/gergich/cli/gergich.rb
66
67
  - lib/gergich/cli/master_bouncer.rb
68
+ - spec/gergich/capture/androidlint_capture_spec.rb
69
+ - spec/gergich/capture/custom_capture_spec.rb
70
+ - spec/gergich/capture/eslint_capture_spec.rb
71
+ - spec/gergich/capture/flake8_capture_spec.rb
72
+ - spec/gergich/capture/i18nliner_capture_spec.rb
73
+ - spec/gergich/capture/rubocop_capture_spec.rb
74
+ - spec/gergich/capture/stylelint_capture_spec.rb
75
+ - spec/gergich/capture/swiftlint_capture_spec.rb
67
76
  - spec/gergich/capture_spec.rb
68
77
  - spec/gergich_spec.rb
69
78
  - spec/spec_helper.rb
79
+ - spec/support/capture_shared_examples.rb
70
80
  homepage: https://github.com/instructure/gergich
71
81
  licenses:
72
82
  - MIT
@@ -87,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
97
  version: '0'
88
98
  requirements: []
89
99
  rubyforge_project:
90
- rubygems_version: 2.2.5
100
+ rubygems_version: 2.2.3
91
101
  signing_key:
92
102
  specification_version: 4
93
103
  summary: Command-line tool for adding Gerrit comments