errbit_plugin 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e4044ee01410119ca8ab10ffe1f89415708d2ed9
4
- data.tar.gz: faf743c3c52f8e137b9c942dca93abd848e822b8
3
+ metadata.gz: 4d05454acc287bd01a03cc51cc416ecacecd7abd
4
+ data.tar.gz: 10b79b6950d22e639c8a08cc69c4bcee94fde6af
5
5
  SHA512:
6
- metadata.gz: 985d669a9c92db0ac0aea134d4baa62a1147297eae05e15731887f6a40e0e93fade1f139ace6ed8f40bdc901d5d46530ddcc9a7430ec8decb5b9af414c7e4f04
7
- data.tar.gz: 3a87f4b41d2ba9135a8200dd639e754d4e9a0f53dd7647e8f3272530982f932e075e89e0289696910310f763470ad2b42d3fd43a8a07929100423791dc52e083
6
+ metadata.gz: 1f4ef882ae3e1ffc5f3ecde93339d7f032c52a19d58d5e0ee29dee621a2ef4c48a245ed8993b5b7e758bbc865bd4390e00140830db351335ff1860eb9583a8dc
7
+ data.tar.gz: 0da44f3a335b6fa3b1e44e1e5ff47b2daf5a88b7085e0cbc38d8ef9159cfe30f11be229ca739dad982fc4fa324e2e075893bcaa97836627c0d22426cfbd5c0d1
data/lib/errbit_plugin.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require "errbit_plugin/version"
2
- require "errbit_plugin/register_plugin"
2
+ require "errbit_plugin/registry"
3
3
  require "errbit_plugin/issue_tracker"
4
4
  require "errbit_plugin/validate_issue_tracker"
5
5
  require "errbit_plugin/issue_trackers/none"
@@ -22,6 +22,10 @@ module ErrbitPlugin
22
22
  end
23
23
  end
24
24
 
25
+ def self.clear_issue_trackers
26
+ @issue_trackers = {}
27
+ end
28
+
25
29
  def self.issue_trackers
26
30
  @issue_trackers
27
31
  end
@@ -1,3 +1,3 @@
1
1
  module ErrbitPlugin
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -1,30 +1,39 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe ErrbitPlugin::Register do
3
+ describe ErrbitPlugin::Registry do
4
4
  before do
5
- ErrbitPlugin::Register.clear
5
+ ErrbitPlugin::Registry.clear_issue_trackers
6
6
  end
7
7
 
8
+ let(:tracker) {
9
+ tracker = Class.new(ErrbitPlugin::IssueTracker) do
10
+ def self.label
11
+ 'something'
12
+ end
13
+ end
14
+ tracker
15
+ }
16
+
8
17
  describe ".add_issue_tracker" do
9
18
  context "with issue_tracker class valid" do
10
19
  before do
11
20
  allow(ErrbitPlugin::ValidateIssueTracker)
12
21
  .to receive(:new)
13
- .with(ErrbitPlugin::IssueTracker)
22
+ .with(tracker)
14
23
  .and_return(double(:valid? => true, :message => ''))
15
24
  end
16
25
  it 'add new issue_tracker plugin' do
17
- ErrbitPlugin::Register.add_issue_tracker('foo', ErrbitPlugin::IssueTracker)
18
- expect(ErrbitPlugin::Register.issue_trackers).to eq({
19
- 'foo' => ErrbitPlugin::IssueTracker
26
+ ErrbitPlugin::Registry.add_issue_tracker(tracker)
27
+ expect(ErrbitPlugin::Registry.issue_trackers).to eq({
28
+ 'something' => tracker
20
29
  })
21
30
  end
22
31
  context "with already issue_tracker with this key" do
23
- it 'raise ErrbitPlugin::IncompatibilityError' do
24
- ErrbitPlugin::Register.add_issue_tracker('foo', ErrbitPlugin::IssueTracker)
32
+ it 'raise ErrbitPlugin::AlreadyRegisteredError' do
33
+ ErrbitPlugin::Registry.add_issue_tracker(tracker)
25
34
  expect {
26
- ErrbitPlugin::Register.add_issue_tracker('foo', ErrbitPlugin::IssueTracker)
27
- }.to raise_error(ErrbitPlugin::IncompatibilityError)
35
+ ErrbitPlugin::Registry.add_issue_tracker(tracker)
36
+ }.to raise_error(ErrbitPlugin::AlreadyRegisteredError)
28
37
  end
29
38
  end
30
39
  end
@@ -33,21 +42,21 @@ describe ErrbitPlugin::Register do
33
42
  it 'raise an IncompatibilityError' do
34
43
  allow(ErrbitPlugin::ValidateIssueTracker)
35
44
  .to receive(:new)
36
- .with(ErrbitPlugin::IssueTracker)
45
+ .with(tracker)
37
46
  .and_return(double(:valid? => false, :message => 'foo', :errors => []))
38
47
  expect {
39
- ErrbitPlugin::Register.add_issue_tracker('foo', ErrbitPlugin::IssueTracker)
48
+ ErrbitPlugin::Registry.add_issue_tracker(tracker)
40
49
  }.to raise_error(ErrbitPlugin::IncompatibilityError)
41
50
  end
42
51
 
43
52
  it 'puts the errors in the exception message' do
44
53
  allow(ErrbitPlugin::ValidateIssueTracker)
45
54
  .to receive(:new)
46
- .with(ErrbitPlugin::IssueTracker)
55
+ .with(tracker)
47
56
  .and_return(double(:valid? => false, :message => 'foo', :errors => ['one', 'two']))
48
57
 
49
58
  begin
50
- ErrbitPlugin::Register.add_issue_tracker('foo', ErrbitPlugin::IssueTracker)
59
+ ErrbitPlugin::Registry.add_issue_tracker(tracker)
51
60
  rescue ErrbitPlugin::IncompatibilityError => e
52
61
  expect(e.message).to eq('one; two')
53
62
  end
@@ -9,7 +9,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
9
9
  def self.note; 'foo'; end
10
10
  def self.fields; ['foo']; end
11
11
  def configured?; true; end
12
- def check_params; true; end
12
+ def errors; true; end
13
13
  def create_issue; 'http'; end
14
14
  def url; 'http'; end
15
15
  def comments_allowed?; false; end
@@ -27,7 +27,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
27
27
  def self.note; 'foo'; end
28
28
  def self.fields; ['foo']; end
29
29
  def configured?; true; end
30
- def check_params; true; end
30
+ def errors; true; end
31
31
  def create_issue; 'http'; end
32
32
  def url; 'http'; end
33
33
  def comments_allowed?; false; end
@@ -49,7 +49,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
49
49
  def note; 'foo'; end
50
50
  def fields; ['foo']; end
51
51
  def configured?; true; end
52
- def check_params; true; end
52
+ def errors; true; end
53
53
  def create_issue; 'http'; end
54
54
  def url; 'http'; end
55
55
  def comments_allowed?; false; end
@@ -71,7 +71,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
71
71
  def self.label; 'foo'; end
72
72
  def note; 'foo'; end
73
73
  def configured?; true; end
74
- def check_params; true; end
74
+ def errors; true; end
75
75
  def create_issue; 'http'; end
76
76
  def url; 'http'; end
77
77
  def comments_allowed?; false; end
@@ -93,7 +93,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
93
93
  def label; 'foo'; end
94
94
  def note; 'foo'; end
95
95
  def fields; ['foo']; end
96
- def check_params; true; end
96
+ def errors; true; end
97
97
  def create_issue; 'http'; end
98
98
  def url; 'http'; end
99
99
  def comments_allowed?; false; end
@@ -110,7 +110,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
110
110
  end
111
111
  end
112
112
 
113
- context "without check_params method" do
113
+ context "without errors method" do
114
114
  class BazCheckParams < ErrbitPlugin::IssueTracker
115
115
  def label; 'foo'; end
116
116
  def note; 'foo'; end
@@ -125,10 +125,10 @@ describe ErrbitPlugin::ValidateIssueTracker do
125
125
  expect(ErrbitPlugin::ValidateIssueTracker.new(BazCheckParams).valid?).to be false
126
126
  end
127
127
 
128
- it 'say not implement check_params' do
128
+ it 'say not implement errors' do
129
129
  is = ErrbitPlugin::ValidateIssueTracker.new(BazCheckParams)
130
130
  is.valid?
131
- expect(is.errors).to eql [[:instance_method_missing, :check_params]]
131
+ expect(is.errors).to eql [[:instance_method_missing, :errors]]
132
132
  end
133
133
  end
134
134
 
@@ -138,7 +138,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
138
138
  def note; 'foo'; end
139
139
  def fields; ['foo']; end
140
140
  def configured?; true; end
141
- def check_params; true; end
141
+ def errors; true; end
142
142
  def url; 'http'; end
143
143
  def comments_allowed?; false; end
144
144
  end
@@ -159,7 +159,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
159
159
  def note; 'foo'; end
160
160
  def fields; ['foo']; end
161
161
  def configured?; true; end
162
- def check_params; true; end
162
+ def errors; true; end
163
163
  def create_issue; 'http'; end
164
164
  def comments_allowed?; false; end
165
165
  end
@@ -181,7 +181,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
181
181
  def note; 'foo'; end
182
182
  def fields; ['foo']; end
183
183
  def configured?; true; end
184
- def check_params; true; end
184
+ def errors; true; end
185
185
  def create_issue; 'http'; end
186
186
  def url; 'foo'; end
187
187
  end
@@ -202,7 +202,7 @@ describe ErrbitPlugin::ValidateIssueTracker do
202
202
  def self.label; 'foo'; end
203
203
  def self.fields; ['foo']; end
204
204
  def configured?; true; end
205
- def check_params; true; end
205
+ def errors; true; end
206
206
  def create_issue; 'http'; end
207
207
  def url; 'foo'; end
208
208
  def comments_allowed?; false; end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: errbit_plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Crosby
@@ -60,10 +60,10 @@ files:
60
60
  - lib/errbit_plugin/issue_trackers/fake.rb
61
61
  - lib/errbit_plugin/issue_trackers/none.rb
62
62
  - lib/errbit_plugin/rails.rb
63
- - lib/errbit_plugin/register_plugin.rb
63
+ - lib/errbit_plugin/registry.rb
64
64
  - lib/errbit_plugin/validate_issue_tracker.rb
65
65
  - lib/errbit_plugin/version.rb
66
- - spec/errbit_plugin/register_plugin_spec.rb
66
+ - spec/errbit_plugin/registry_spec.rb
67
67
  - spec/errbit_plugin/validate_issue_tracker_spec.rb
68
68
  - spec/spec_helper.rb
69
69
  - vendor/assets/images/fake_create.png
@@ -95,7 +95,7 @@ signing_key:
95
95
  specification_version: 4
96
96
  summary: Base to create an errbit plugin
97
97
  test_files:
98
- - spec/errbit_plugin/register_plugin_spec.rb
98
+ - spec/errbit_plugin/registry_spec.rb
99
99
  - spec/errbit_plugin/validate_issue_tracker_spec.rb
100
100
  - spec/spec_helper.rb
101
101
  has_rdoc: