errbit_plugin 0.5.0 → 0.7.0
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 +5 -5
- data/.envrc +1 -0
- data/.github/workflows/jruby.yml +37 -0
- data/.github/workflows/rspec.yml +35 -0
- data/.gitignore +2 -2
- data/.rspec +4 -0
- data/.rubocop.yml +367 -0
- data/.ruby-version +1 -0
- data/.standard.yml +1 -0
- data/Gemfile +12 -5
- data/Gemfile.lock +102 -0
- data/README.md +49 -15
- data/Rakefile +2 -0
- data/errbit_plugin.gemspec +20 -18
- data/lib/errbit_plugin/issue_tracker.rb +2 -0
- data/lib/errbit_plugin/{validate_issue_tracker.rb → issue_tracker_validator.rb} +7 -5
- data/lib/errbit_plugin/none_issue_tracker.rb +57 -0
- data/lib/errbit_plugin/registry.rb +6 -3
- data/lib/errbit_plugin/version.rb +3 -1
- data/lib/errbit_plugin.rb +4 -2
- data/spec/errbit_plugin/issue_tracker_validator_spec.rb +517 -0
- data/spec/errbit_plugin/none_issue_tracker_spec.rb +31 -0
- data/spec/errbit_plugin/registry_spec.rb +17 -15
- data/spec/spec_helper.rb +19 -20
- metadata +24 -50
- data/.coveralls.yml +0 -2
- data/.travis.yml +0 -13
- data/Guardfile +0 -8
- data/lib/errbit_plugin/issue_trackers/none.rb +0 -30
- data/spec/errbit_plugin/validate_issue_tracker_spec.rb +0 -222
metadata
CHANGED
@@ -1,43 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: errbit_plugin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Crosby
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.3'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.3'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
|
+
dependencies: []
|
41
12
|
description: Base to create an errbit plugin
|
42
13
|
email:
|
43
14
|
- stevecrozz@gmail.com
|
@@ -45,11 +16,16 @@ executables: []
|
|
45
16
|
extensions: []
|
46
17
|
extra_rdoc_files: []
|
47
18
|
files:
|
48
|
-
- ".
|
19
|
+
- ".envrc"
|
20
|
+
- ".github/workflows/jruby.yml"
|
21
|
+
- ".github/workflows/rspec.yml"
|
49
22
|
- ".gitignore"
|
50
|
-
- ".
|
23
|
+
- ".rspec"
|
24
|
+
- ".rubocop.yml"
|
25
|
+
- ".ruby-version"
|
26
|
+
- ".standard.yml"
|
51
27
|
- Gemfile
|
52
|
-
-
|
28
|
+
- Gemfile.lock
|
53
29
|
- LICENSE
|
54
30
|
- LICENSE.txt
|
55
31
|
- README.md
|
@@ -57,22 +33,26 @@ files:
|
|
57
33
|
- errbit_plugin.gemspec
|
58
34
|
- lib/errbit_plugin.rb
|
59
35
|
- lib/errbit_plugin/issue_tracker.rb
|
60
|
-
- lib/errbit_plugin/
|
36
|
+
- lib/errbit_plugin/issue_tracker_validator.rb
|
37
|
+
- lib/errbit_plugin/none_issue_tracker.rb
|
61
38
|
- lib/errbit_plugin/registry.rb
|
62
|
-
- lib/errbit_plugin/validate_issue_tracker.rb
|
63
39
|
- lib/errbit_plugin/version.rb
|
40
|
+
- spec/errbit_plugin/issue_tracker_validator_spec.rb
|
41
|
+
- spec/errbit_plugin/none_issue_tracker_spec.rb
|
64
42
|
- spec/errbit_plugin/registry_spec.rb
|
65
|
-
- spec/errbit_plugin/validate_issue_tracker_spec.rb
|
66
43
|
- spec/spec_helper.rb
|
67
44
|
- static/fake_create.png
|
68
45
|
- static/fake_inactive.png
|
69
46
|
- static/none_create.png
|
70
47
|
- static/none_inactive.png
|
71
|
-
homepage:
|
48
|
+
homepage: https://github.com/errbit/errbit_plugin
|
72
49
|
licenses:
|
73
50
|
- MIT
|
74
|
-
metadata:
|
75
|
-
|
51
|
+
metadata:
|
52
|
+
homepage_uri: https://github.com/errbit/errbit_plugin
|
53
|
+
source_code_uri: https://github.com/errbit/errbit_plugin
|
54
|
+
bug_tracker_uri: https://github.com/errbit/errbit_plugin/issues
|
55
|
+
rubygems_mfa_required: 'true'
|
76
56
|
rdoc_options: []
|
77
57
|
require_paths:
|
78
58
|
- lib
|
@@ -80,20 +60,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
80
60
|
requirements:
|
81
61
|
- - ">="
|
82
62
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
63
|
+
version: 3.1.0
|
84
64
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
65
|
requirements:
|
86
66
|
- - ">="
|
87
67
|
- !ruby/object:Gem::Version
|
88
68
|
version: '0'
|
89
69
|
requirements: []
|
90
|
-
|
91
|
-
rubygems_version: 2.2.2
|
92
|
-
signing_key:
|
70
|
+
rubygems_version: 3.6.7
|
93
71
|
specification_version: 4
|
94
72
|
summary: Base to create an errbit plugin
|
95
|
-
test_files:
|
96
|
-
- spec/errbit_plugin/registry_spec.rb
|
97
|
-
- spec/errbit_plugin/validate_issue_tracker_spec.rb
|
98
|
-
- spec/spec_helper.rb
|
99
|
-
has_rdoc:
|
73
|
+
test_files: []
|
data/.coveralls.yml
DELETED
data/.travis.yml
DELETED
data/Guardfile
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
module ErrbitPlugin
|
2
|
-
class NoneIssueTracker < IssueTracker
|
3
|
-
def self.label; 'none'; end
|
4
|
-
def self.note
|
5
|
-
'When no issue tracker has been configured, you will be able to ' <<
|
6
|
-
'leave comments on errors.'
|
7
|
-
end
|
8
|
-
def self.fields; {}; end
|
9
|
-
def self.icons
|
10
|
-
@icons ||= {
|
11
|
-
create: ['image/png', read_static_file('none_create.png')],
|
12
|
-
goto: ['image/png', read_static_file('none_create.png')],
|
13
|
-
inactive: ['image/png', read_static_file('none_inactive.png')],
|
14
|
-
}
|
15
|
-
end
|
16
|
-
def self.read_static_file(file)
|
17
|
-
File.read(File.expand_path(File.join(
|
18
|
-
File.dirname(__FILE__), '..', '..', '..', 'static', file)))
|
19
|
-
end
|
20
|
-
##
|
21
|
-
# The NoneIssueTracker is mark like configured? false because it not valid
|
22
|
-
# like a real IssueTracker
|
23
|
-
def configured?; false; end
|
24
|
-
def errors; {}; end
|
25
|
-
def url; ''; end
|
26
|
-
def create_issue(*); true; end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
ErrbitPlugin::Registry.add_issue_tracker(ErrbitPlugin::NoneIssueTracker)
|
@@ -1,222 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ErrbitPlugin::ValidateIssueTracker do
|
4
|
-
describe "#valid?" do
|
5
|
-
|
6
|
-
context "with a complete class" do
|
7
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
8
|
-
def self.label; 'foo'; end
|
9
|
-
def self.note; 'foo'; end
|
10
|
-
def self.fields; ['foo']; end
|
11
|
-
def self.icons; {}; end
|
12
|
-
def configured?; true; end
|
13
|
-
def errors; true; end
|
14
|
-
def create_issue; 'http'; end
|
15
|
-
def url; 'http'; end
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'valid' do
|
19
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be true
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
context "with class not inherit from ErrbitPlugin::IssueTracker" do
|
24
|
-
klass = Class.new do
|
25
|
-
def self.label; 'foo'; end
|
26
|
-
def self.note; 'foo'; end
|
27
|
-
def self.fields; ['foo']; end
|
28
|
-
def self.icons; {}; end
|
29
|
-
def initialize(params); end
|
30
|
-
def configured?; true; end
|
31
|
-
def errors; true; end
|
32
|
-
def create_issue; 'http'; end
|
33
|
-
def url; 'http'; end
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'not valid' do
|
37
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'says :not_inherited' do
|
41
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
42
|
-
is.valid?
|
43
|
-
expect(is.errors).to eql [[:not_inherited]]
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
context "with no label method" do
|
48
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
49
|
-
def self.note; 'foo'; end
|
50
|
-
def self.fields; ['foo']; end
|
51
|
-
def self.icons; {}; end
|
52
|
-
def configured?; true; end
|
53
|
-
def errors; true; end
|
54
|
-
def create_issue; 'http'; end
|
55
|
-
def url; 'http'; end
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'not valid' do
|
59
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
60
|
-
end
|
61
|
-
|
62
|
-
it 'say not implement configured?' do
|
63
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
64
|
-
is.valid?
|
65
|
-
expect(is.errors).to eql [[:class_method_missing, :label]]
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
context "with no icons method" do
|
70
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
71
|
-
def self.note; 'foo'; end
|
72
|
-
def self.fields; ['foo']; end
|
73
|
-
def self.label; 'alabel'; end
|
74
|
-
def configured?; true; end
|
75
|
-
def errors; true; end
|
76
|
-
def create_issue; 'http'; end
|
77
|
-
def url; 'http'; end
|
78
|
-
end
|
79
|
-
|
80
|
-
it 'not valid' do
|
81
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'say not implement configured?' do
|
85
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
86
|
-
is.valid?
|
87
|
-
expect(is.errors).to eql [[:class_method_missing, :icons]]
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
context "without fields method" do
|
92
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
93
|
-
def self.label; 'foo'; end
|
94
|
-
def self.note; 'foo'; end
|
95
|
-
def self.icons; {}; end
|
96
|
-
def configured?; true; end
|
97
|
-
def errors; true; end
|
98
|
-
def create_issue; 'http'; end
|
99
|
-
def url; 'http'; end
|
100
|
-
end
|
101
|
-
|
102
|
-
it 'not valid' do
|
103
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
104
|
-
end
|
105
|
-
|
106
|
-
it 'say not implement configured?' do
|
107
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
108
|
-
is.valid?
|
109
|
-
expect(is.errors).to eql [[:class_method_missing, :fields]]
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
context "without configured? method" do
|
114
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
115
|
-
def self.label; 'foo'; end
|
116
|
-
def self.note; 'foo'; end
|
117
|
-
def self.fields; ['foo']; end
|
118
|
-
def self.icons; {}; end
|
119
|
-
def errors; true; end
|
120
|
-
def create_issue; 'http'; end
|
121
|
-
def url; 'http'; end
|
122
|
-
end
|
123
|
-
|
124
|
-
it 'not valid' do
|
125
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
126
|
-
end
|
127
|
-
|
128
|
-
it 'say not implement configured?' do
|
129
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
130
|
-
is.valid?
|
131
|
-
expect(is.errors).to eql [[:instance_method_missing, :configured?]]
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
context "without errors method" do
|
136
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
137
|
-
def self.label; 'foo'; end
|
138
|
-
def self.note; 'foo'; end
|
139
|
-
def self.fields; ['foo']; end
|
140
|
-
def self.icons; {}; end
|
141
|
-
def configured?; true; end
|
142
|
-
def create_issue; 'http'; end
|
143
|
-
def url; 'http'; end
|
144
|
-
end
|
145
|
-
|
146
|
-
it 'not valid' do
|
147
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
148
|
-
end
|
149
|
-
|
150
|
-
it 'say not implement errors' do
|
151
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
152
|
-
is.valid?
|
153
|
-
expect(is.errors).to eql [[:instance_method_missing, :errors]]
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
context "without create_issue method" do
|
158
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
159
|
-
def self.label; 'foo'; end
|
160
|
-
def self.note; 'foo'; end
|
161
|
-
def self.fields; ['foo']; end
|
162
|
-
def self.icons; {}; end
|
163
|
-
def configured?; true; end
|
164
|
-
def errors; true; end
|
165
|
-
def url; 'http'; end
|
166
|
-
end
|
167
|
-
|
168
|
-
it 'not valid' do
|
169
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
170
|
-
end
|
171
|
-
it 'say not implement url' do
|
172
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
173
|
-
is.valid?
|
174
|
-
expect(is.errors).to eql [[:instance_method_missing, :create_issue]]
|
175
|
-
end
|
176
|
-
end
|
177
|
-
|
178
|
-
context "without url method" do
|
179
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
180
|
-
def self.label; 'foo'; end
|
181
|
-
def self.note; 'foo'; end
|
182
|
-
def self.fields; ['foo']; end
|
183
|
-
def self.icons; {}; end
|
184
|
-
def configured?; true; end
|
185
|
-
def errors; true; end
|
186
|
-
def create_issue; 'http'; end
|
187
|
-
end
|
188
|
-
|
189
|
-
it 'not valid' do
|
190
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
191
|
-
end
|
192
|
-
|
193
|
-
it 'say not implement url' do
|
194
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
195
|
-
is.valid?
|
196
|
-
expect(is.errors).to eql [[:instance_method_missing, :url]]
|
197
|
-
end
|
198
|
-
end
|
199
|
-
|
200
|
-
context "without note method" do
|
201
|
-
klass = Class.new(ErrbitPlugin::IssueTracker) do
|
202
|
-
def self.label; 'foo'; end
|
203
|
-
def self.fields; ['foo']; end
|
204
|
-
def self.icons; {}; end
|
205
|
-
def configured?; true; end
|
206
|
-
def errors; true; end
|
207
|
-
def create_issue; 'http'; end
|
208
|
-
def url; 'foo'; end
|
209
|
-
end
|
210
|
-
|
211
|
-
it 'not valid' do
|
212
|
-
expect(ErrbitPlugin::ValidateIssueTracker.new(klass).valid?).to be false
|
213
|
-
end
|
214
|
-
|
215
|
-
it 'say not implement note method' do
|
216
|
-
is = ErrbitPlugin::ValidateIssueTracker.new(klass)
|
217
|
-
is.valid?
|
218
|
-
expect(is.errors).to eql [[:class_method_missing, :note]]
|
219
|
-
end
|
220
|
-
end
|
221
|
-
end
|
222
|
-
end
|