pagerduty 1.4.0 → 1.4.1
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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +5 -0
- data/README.md +3 -0
- data/Rakefile +8 -2
- data/lib/pagerduty.rb +17 -30
- data/lib/pagerduty/http_transport.rb +40 -0
- data/lib/pagerduty/version.rb +1 -1
- data/pagerduty.gemspec +4 -1
- data/script/setup.sh +8 -0
- data/spec/pagerduty/http_transport_spec.rb +89 -0
- data/spec/pagerduty_spec.rb +190 -0
- data/spec/spec_helper.rb +9 -0
- metadata +55 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b35425e697bdee8a4b3217052d579505b4655fc5
|
4
|
+
data.tar.gz: 4861fe46da3e2c532a0b351e9519e1e7ec2323ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6eb7f43eeaefad73c18f9e285258ebbc4c2381cd5478445f61e5102ed10f4c95fdd1319e4c8cc3950cf3b54b03ff2639b44eedc8917a0159948bdc4be767bbf0
|
7
|
+
data.tar.gz: 4472c21d7aac15ac890ac87a565414aabd573e0f7895d8339cc3b34fe587da915320caa208edc52891285a7c7b0a2d180e8b48d174f02a86a274d192b5b496d2
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
pagerduty
|
2
2
|
=========
|
3
3
|
|
4
|
+
[](http://badge.fury.io/rb/pagerduty)
|
5
|
+
[](https://travis-ci.org/envato/pagerduty)
|
6
|
+
|
4
7
|
Provides a simple interface for calling into the [Pagerduty](http://pagerduty.com) API.
|
5
8
|
|
6
9
|
Installation
|
data/Rakefile
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require "rspec/core/rake_task"
|
3
|
+
require "rdoc/task"
|
4
|
+
|
5
|
+
task :default => :spec
|
6
|
+
|
7
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
8
|
+
t.verbose = false
|
9
|
+
end
|
2
10
|
|
3
|
-
require 'rdoc/task'
|
4
11
|
RDoc::Task.new do |rdoc|
|
5
12
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
6
13
|
|
@@ -9,4 +16,3 @@ RDoc::Task.new do |rdoc|
|
|
9
16
|
rdoc.rdoc_files.include('README*')
|
10
17
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
11
18
|
end
|
12
|
-
|
data/lib/pagerduty.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
-
require 'json'
|
2
|
-
require 'net/http'
|
3
|
-
require 'net/https'
|
4
1
|
require 'pagerduty/version'
|
2
|
+
require 'pagerduty/http_transport'
|
5
3
|
|
6
4
|
class PagerdutyException < Exception
|
7
5
|
attr_reader :pagerduty_instance, :api_response
|
@@ -23,7 +21,7 @@ class Pagerduty
|
|
23
21
|
|
24
22
|
def trigger(description, details = {})
|
25
23
|
resp = api_call("trigger", description, details)
|
26
|
-
|
24
|
+
raise PagerdutyException.new(self, resp) unless resp["status"] == "success"
|
27
25
|
|
28
26
|
PagerdutyIncident.new @service_key, resp["incident_key"]
|
29
27
|
end
|
@@ -33,34 +31,23 @@ class Pagerduty
|
|
33
31
|
end
|
34
32
|
|
35
33
|
protected
|
36
|
-
def api_call(event_type, description, details = {})
|
37
|
-
params = { :event_type => event_type, :service_key => @service_key, :description => description, :details => details }
|
38
|
-
params.merge!({ :incident_key => @incident_key }) unless @incident_key == nil
|
39
|
-
|
40
|
-
url = URI.parse("https://events.pagerduty.com/generic/2010-04-15/create_event.json")
|
41
|
-
http = Net::HTTP.new(url.host, url.port)
|
42
|
-
http.use_ssl = (url.scheme == 'https')
|
43
|
-
rootca = '/etc/ssl/certs'
|
44
|
-
if (File.directory?(rootca) && http.use_ssl?)
|
45
|
-
http.ca_path = rootca
|
46
|
-
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
47
|
-
http.verify_depth = 5
|
48
|
-
else
|
49
|
-
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
50
|
-
end
|
51
34
|
|
52
|
-
|
53
|
-
|
35
|
+
def api_call(event_type, description, details = {})
|
36
|
+
params = {
|
37
|
+
:event_type => event_type,
|
38
|
+
:service_key => @service_key,
|
39
|
+
:description => description,
|
40
|
+
:details => details
|
41
|
+
}
|
42
|
+
params[:incident_key] = @incident_key if @incident_key
|
43
|
+
Pagerduty.transport.send(params)
|
44
|
+
end
|
54
45
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
JSON.parse(res.body)
|
59
|
-
else
|
60
|
-
res.error!
|
46
|
+
class << self
|
47
|
+
def transport
|
48
|
+
Pagerduty::HttpTransport
|
61
49
|
end
|
62
50
|
end
|
63
|
-
|
64
51
|
end
|
65
52
|
|
66
53
|
class PagerdutyIncident < Pagerduty
|
@@ -72,14 +59,14 @@ class PagerdutyIncident < Pagerduty
|
|
72
59
|
|
73
60
|
def acknowledge(description, details = {})
|
74
61
|
resp = api_call("acknowledge", description, details)
|
75
|
-
|
62
|
+
raise PagerdutyException.new(self, resp) unless resp["status"] == "success"
|
76
63
|
|
77
64
|
self
|
78
65
|
end
|
79
66
|
|
80
67
|
def resolve(description, details = {})
|
81
68
|
resp = api_call("resolve", description, details)
|
82
|
-
|
69
|
+
raise PagerdutyException.new(self, resp) unless resp["status"] == "success"
|
83
70
|
|
84
71
|
self
|
85
72
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'json'
|
3
|
+
require 'net/http'
|
4
|
+
require 'net/https'
|
5
|
+
|
6
|
+
module Pagerduty::HttpTransport
|
7
|
+
class << self
|
8
|
+
|
9
|
+
HOST = "events.pagerduty.com"
|
10
|
+
PORT = 443
|
11
|
+
PATH = "/generic/2010-04-15/create_event.json"
|
12
|
+
|
13
|
+
def send(payload = {})
|
14
|
+
response = post payload.to_json
|
15
|
+
response.error! unless transported?(response)
|
16
|
+
JSON.parse(response.body)
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def post(payload)
|
22
|
+
post = Net::HTTP::Post.new(PATH)
|
23
|
+
post.body = payload
|
24
|
+
http.request(post)
|
25
|
+
end
|
26
|
+
|
27
|
+
def http
|
28
|
+
http = Net::HTTP.new(HOST, PORT)
|
29
|
+
http.use_ssl = true
|
30
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
31
|
+
http.open_timeout = 60
|
32
|
+
http.read_timeout = 60
|
33
|
+
http
|
34
|
+
end
|
35
|
+
|
36
|
+
def transported?(response)
|
37
|
+
response.kind_of? Net::HTTPSuccess or response.kind_of? Net::HTTPRedirection
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/pagerduty/version.rb
CHANGED
data/pagerduty.gemspec
CHANGED
@@ -18,5 +18,8 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
|
-
gem.add_runtime_dependency "json",
|
21
|
+
gem.add_runtime_dependency "json", ">= 1.7.7"
|
22
|
+
gem.add_development_dependency "bundler", "~> 1.6"
|
23
|
+
gem.add_development_dependency "rake"
|
24
|
+
gem.add_development_dependency "rspec-given"
|
22
25
|
end
|
data/script/setup.sh
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe Pagerduty::HttpTransport do
|
5
|
+
Given(:http_transport) { Pagerduty::HttpTransport }
|
6
|
+
|
7
|
+
Given(:http) { double.as_null_object }
|
8
|
+
Given { http.stub(:request => standard_response) }
|
9
|
+
Given { Net::HTTP.stub(:new => http) }
|
10
|
+
Given(:post) { double.as_null_object }
|
11
|
+
Given { Net::HTTP::Post.stub(:new => post) }
|
12
|
+
|
13
|
+
describe "::send" do
|
14
|
+
Given(:payload) { {
|
15
|
+
event_type: "trigger",
|
16
|
+
service_key: "test-srvc-key",
|
17
|
+
description: "test-desc",
|
18
|
+
details: { key: "value" },
|
19
|
+
} }
|
20
|
+
|
21
|
+
When(:response) { http_transport.send(payload) }
|
22
|
+
|
23
|
+
describe "provides the correct request" do
|
24
|
+
Then {
|
25
|
+
expect(post).to have_received(:body=).with(
|
26
|
+
'{"event_type":"trigger","service_key":"test-srvc-key","description":"test-desc","details":{"key":"value"}}'
|
27
|
+
)
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "handles all responses" do
|
32
|
+
|
33
|
+
context "PagerDuty successfully creates the incident" do
|
34
|
+
Given { http.stub(:request => response_with_body(<<-JSON)) }
|
35
|
+
{
|
36
|
+
"status": "success",
|
37
|
+
"incident_key": "My Incident Key",
|
38
|
+
"message": "Event processed"
|
39
|
+
}
|
40
|
+
JSON
|
41
|
+
Then { expect(response).to include("status" => "success") }
|
42
|
+
Then { expect(response).to include("incident_key" => "My Incident Key") }
|
43
|
+
end
|
44
|
+
|
45
|
+
context "PagerDuty fails to create the incident" do
|
46
|
+
Given { http.stub(:request => response_with_body(<<-JSON)) }
|
47
|
+
{
|
48
|
+
"status": "failure",
|
49
|
+
"message": "Event not processed"
|
50
|
+
}
|
51
|
+
JSON
|
52
|
+
Then { expect(response).to include("status" => "failure") }
|
53
|
+
Then { expect(response).to_not include("incident_key") }
|
54
|
+
end
|
55
|
+
|
56
|
+
context "PagerDuty responds with HTTP bad request" do
|
57
|
+
Given { http.stub(:request => bad_request) }
|
58
|
+
Then { expect(response).to have_raised Net::HTTPServerException }
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe "HTTPS use" do
|
63
|
+
Then { expect(http).to have_received(:use_ssl=).with(true) }
|
64
|
+
Then { expect(http).to have_received(:verify_mode=).with(OpenSSL::SSL::VERIFY_PEER) }
|
65
|
+
Then { expect(http).to_not have_received(:ca_path=) }
|
66
|
+
Then { expect(http).to_not have_received(:verify_depth=) }
|
67
|
+
end
|
68
|
+
|
69
|
+
describe "timeouts" do
|
70
|
+
Then { expect(http).to have_received(:open_timeout=).with(60) }
|
71
|
+
Then { expect(http).to have_received(:read_timeout=).with(60) }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def standard_response
|
76
|
+
response_with_body '{ "status": "success", "incident_key": "My Incident Key" }'
|
77
|
+
end
|
78
|
+
|
79
|
+
def response_with_body(body)
|
80
|
+
response = Net::HTTPSuccess.new 1.1, "200", "OK"
|
81
|
+
response.stub(:body => body)
|
82
|
+
response
|
83
|
+
end
|
84
|
+
|
85
|
+
def bad_request
|
86
|
+
Net::HTTPBadRequest.new 1.1, "400", "Bad Request"
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
@@ -0,0 +1,190 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe Pagerduty do
|
5
|
+
Given(:pagerduty) { Pagerduty.new(service_key) }
|
6
|
+
Given(:service_key) { "a-test-service-key" }
|
7
|
+
|
8
|
+
Given(:transport) { double.as_null_object }
|
9
|
+
Given { Pagerduty.stub(:transport => transport) }
|
10
|
+
|
11
|
+
describe "#trigger" do
|
12
|
+
Given(:description) { "a-test-description" }
|
13
|
+
Given(:details) { { key: "value" } }
|
14
|
+
|
15
|
+
describe "provides the correct request" do
|
16
|
+
Given { transport.stub(:send => standard_response) }
|
17
|
+
When(:incident) { pagerduty.trigger(description, details) }
|
18
|
+
Then {
|
19
|
+
expect(transport).to have_received(:send).with(
|
20
|
+
event_type: "trigger",
|
21
|
+
service_key: "a-test-service-key",
|
22
|
+
description: "a-test-description",
|
23
|
+
details: { key: "value" }
|
24
|
+
)
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "handles all responses" do
|
29
|
+
|
30
|
+
context "PagerDuty successfully creates the incident" do
|
31
|
+
Given {
|
32
|
+
transport.stub(:send => {
|
33
|
+
"status" => "success",
|
34
|
+
"incident_key" => "My Incident Key",
|
35
|
+
"message" => "Event processed",
|
36
|
+
})
|
37
|
+
}
|
38
|
+
When(:incident) { pagerduty.trigger(description, details) }
|
39
|
+
Then { expect(incident).to be_a PagerdutyIncident }
|
40
|
+
Then { incident.service_key == service_key }
|
41
|
+
Then { incident.incident_key == "My Incident Key" }
|
42
|
+
end
|
43
|
+
|
44
|
+
context "PagerDuty fails to create the incident" do
|
45
|
+
Given {
|
46
|
+
transport.stub(:send => {
|
47
|
+
"status" => "failure",
|
48
|
+
"message" => "Event not processed",
|
49
|
+
})
|
50
|
+
}
|
51
|
+
When(:incident) { pagerduty.trigger(description, details) }
|
52
|
+
Then { expect(incident).to have_raised PagerdutyException }
|
53
|
+
end
|
54
|
+
|
55
|
+
context "PagerDuty responds with HTTP bad request" do
|
56
|
+
Given { transport.stub(:send).and_raise(Net::HTTPServerException.new(nil, nil)) }
|
57
|
+
When(:incident) { pagerduty.trigger(description, details) }
|
58
|
+
Then { expect(incident).to have_raised Net::HTTPServerException }
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "#get_incident" do
|
64
|
+
Given(:incident_key) { "a-test-incident-key" }
|
65
|
+
When(:incident) { pagerduty.get_incident(incident_key) }
|
66
|
+
Then { expect(incident).to be_a PagerdutyIncident }
|
67
|
+
Then { incident.service_key == service_key }
|
68
|
+
Then { incident.incident_key == incident_key }
|
69
|
+
end
|
70
|
+
|
71
|
+
describe PagerdutyIncident do
|
72
|
+
Given(:incident) { PagerdutyIncident.new(service_key, incident_key) }
|
73
|
+
Given(:incident_key) { "a-test-incident-key" }
|
74
|
+
Given(:description) { "a-test-description" }
|
75
|
+
Given(:details) { { key: "value" } }
|
76
|
+
|
77
|
+
describe "#acknowledge" do
|
78
|
+
|
79
|
+
describe "provides the correct request" do
|
80
|
+
Given { transport.stub(:send => standard_response) }
|
81
|
+
When(:acknowledge) { incident.acknowledge(description, details) }
|
82
|
+
Then {
|
83
|
+
expect(transport).to have_received(:send).with(
|
84
|
+
event_type: "acknowledge",
|
85
|
+
service_key: "a-test-service-key",
|
86
|
+
description: "a-test-description",
|
87
|
+
details: { key: "value" },
|
88
|
+
incident_key: "a-test-incident-key",
|
89
|
+
)
|
90
|
+
}
|
91
|
+
end
|
92
|
+
|
93
|
+
describe "handles all responses" do
|
94
|
+
|
95
|
+
context "PagerDuty successfully acknowledges the incident" do
|
96
|
+
Given {
|
97
|
+
transport.stub(:send => {
|
98
|
+
"status" => "success",
|
99
|
+
"incident_key" => "a-test-incident-key",
|
100
|
+
"message" => "Event acknowledged",
|
101
|
+
})
|
102
|
+
}
|
103
|
+
When(:acknowledge) { incident.acknowledge(description, details) }
|
104
|
+
Then { expect(acknowledge).to be incident}
|
105
|
+
end
|
106
|
+
|
107
|
+
context "PagerDuty fails to acknowledge the incident" do
|
108
|
+
Given {
|
109
|
+
transport.stub(:send => {
|
110
|
+
"status" => "failure",
|
111
|
+
"incident_key" => "a-test-incident-key",
|
112
|
+
"message" => "Event not acknowledged",
|
113
|
+
})
|
114
|
+
}
|
115
|
+
When(:acknowledge) { incident.acknowledge(description, details) }
|
116
|
+
Then { expect(acknowledge).to have_failed PagerdutyException }
|
117
|
+
end
|
118
|
+
|
119
|
+
context "PagerDuty responds with HTTP bad request" do
|
120
|
+
Given { transport.stub(:send).and_raise(Net::HTTPServerException.new(nil, nil)) }
|
121
|
+
When(:acknowledge) { incident.acknowledge(description, details) }
|
122
|
+
Then { expect(acknowledge).to have_failed Net::HTTPServerException }
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
describe "#resolve" do
|
128
|
+
|
129
|
+
describe "provides the correct request" do
|
130
|
+
Given { transport.stub(:send => standard_response) }
|
131
|
+
When(:resolve) { incident.resolve(description, details) }
|
132
|
+
Then {
|
133
|
+
expect(transport).to have_received(:send).with(
|
134
|
+
event_type: "resolve",
|
135
|
+
service_key: "a-test-service-key",
|
136
|
+
description: "a-test-description",
|
137
|
+
details: { key: "value" },
|
138
|
+
incident_key: "a-test-incident-key",
|
139
|
+
)
|
140
|
+
}
|
141
|
+
end
|
142
|
+
|
143
|
+
describe "handles all responses" do
|
144
|
+
|
145
|
+
context "PagerDuty successfully resolves the incident" do
|
146
|
+
Given {
|
147
|
+
transport.stub(:send => {
|
148
|
+
"status" => "success",
|
149
|
+
"incident_key" => "a-test-incident-key",
|
150
|
+
"message" => "Event resolved",
|
151
|
+
})
|
152
|
+
}
|
153
|
+
When(:resolve) { incident.resolve(description, details) }
|
154
|
+
Then { expect(resolve).to be incident}
|
155
|
+
end
|
156
|
+
|
157
|
+
context "PagerDuty fails to create the incident" do
|
158
|
+
Given {
|
159
|
+
transport.stub(:send => {
|
160
|
+
"status" => "failure",
|
161
|
+
"message" => "Event not resolved",
|
162
|
+
})
|
163
|
+
}
|
164
|
+
When(:resolve) { incident.resolve(description, details) }
|
165
|
+
Then { expect(resolve).to have_failed PagerdutyException }
|
166
|
+
end
|
167
|
+
|
168
|
+
context "PagerDuty responds with HTTP bad request" do
|
169
|
+
Given { transport.stub(:send).and_raise(Net::HTTPServerException.new(nil, nil)) }
|
170
|
+
When(:resolve) { incident.resolve(description, details) }
|
171
|
+
Then { expect(resolve).to have_failed Net::HTTPServerException }
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
def standard_response
|
178
|
+
{ "status" => "success", "incident_key" => "My Incident Key" }
|
179
|
+
end
|
180
|
+
|
181
|
+
describe PagerdutyException do
|
182
|
+
Given(:pagerduty_instance) { double }
|
183
|
+
Given(:api_response) { double }
|
184
|
+
|
185
|
+
When(:pagerduty_exception) { PagerdutyException.new(pagerduty_instance, api_response) }
|
186
|
+
|
187
|
+
Then { pagerduty_exception.pagerduty_instance == pagerduty_instance }
|
188
|
+
Then { pagerduty_exception.api_response == api_response }
|
189
|
+
end
|
190
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagerduty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charlie Somerville
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -24,6 +24,48 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.7.7
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.6'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec-given
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
27
69
|
description: Provides a simple interface for calling into the Pagerduty API
|
28
70
|
email:
|
29
71
|
- charlie@charliesomerville.com
|
@@ -33,13 +75,19 @@ extra_rdoc_files: []
|
|
33
75
|
files:
|
34
76
|
- ".document"
|
35
77
|
- ".gitignore"
|
78
|
+
- ".travis.yml"
|
36
79
|
- Gemfile
|
37
80
|
- LICENSE.txt
|
38
81
|
- README.md
|
39
82
|
- Rakefile
|
40
83
|
- lib/pagerduty.rb
|
84
|
+
- lib/pagerduty/http_transport.rb
|
41
85
|
- lib/pagerduty/version.rb
|
42
86
|
- pagerduty.gemspec
|
87
|
+
- script/setup.sh
|
88
|
+
- spec/pagerduty/http_transport_spec.rb
|
89
|
+
- spec/pagerduty_spec.rb
|
90
|
+
- spec/spec_helper.rb
|
43
91
|
homepage: http://github.com/envato/pagerduty
|
44
92
|
licenses:
|
45
93
|
- MIT
|
@@ -60,8 +108,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
60
108
|
version: '0'
|
61
109
|
requirements: []
|
62
110
|
rubyforge_project:
|
63
|
-
rubygems_version: 2.2.
|
111
|
+
rubygems_version: 2.2.2
|
64
112
|
signing_key:
|
65
113
|
specification_version: 4
|
66
114
|
summary: Pagerduty API client library
|
67
|
-
test_files:
|
115
|
+
test_files:
|
116
|
+
- spec/pagerduty/http_transport_spec.rb
|
117
|
+
- spec/pagerduty_spec.rb
|
118
|
+
- spec/spec_helper.rb
|