Class: PagerDuty::Connection
- Inherits:
-
Object
- Object
- PagerDuty::Connection
show all
- Defined in:
- lib/pager_duty/connection.rb,
lib/pager_duty/connection/version.rb
Defined Under Namespace
Classes: ApiError, ConvertTimesParametersToISO8601, FileNotFoundError, ParseTimeStrings, RaiseApiErrorOnNon200, RaiseFileNotFoundOn404, RaiseRateLimitOn429, RateLimitError
Constant Summary
collapse
- API_VERSION =
2
- VERSION =
"1.1.0"
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(token, debug: false) ⇒ Connection
Returns a new instance of Connection.
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
# File 'lib/pager_duty/connection.rb', line 149
def initialize(token, debug: false)
@connection = Faraday.new do |conn|
conn.url_prefix = "https://api.pagerduty.com/"
conn.token_auth token
conn.use RaiseApiErrorOnNon200
conn.use RaiseFileNotFoundOn404
conn.use RaiseRateLimitOn429
conn.use ConvertTimesParametersToISO8601
conn.request :json
conn.[:accept] = "application/vnd.pagerduty+json;version=#{API_VERSION}"
conn.use ParseTimeStrings
conn.response :mashify
conn.response :json
conn.response :logger, ::Logger.new(STDOUT), bodies: true if debug
conn.adapter Faraday.default_adapter
end
end
|
Instance Attribute Details
#connection ⇒ Object
Returns the value of attribute connection.
10
11
12
|
# File 'lib/pager_duty/connection.rb', line 10
def connection
@connection
end
|
Instance Method Details
#delete(path, request = {}) ⇒ Object
195
196
197
|
# File 'lib/pager_duty/connection.rb', line 195
def delete(path, request = {})
run_request(:delete, path, request)
end
|
#get(path, request = {}) ⇒ Object
176
177
178
179
180
181
182
183
184
185
|
# File 'lib/pager_duty/connection.rb', line 176
def get(path, request = {})
request[:query_params] = {} if !request[:query_params]
page = (request[:query_params].delete(:page) || 1).to_i
limit = (request[:query_params].delete(:limit) || 100).to_i
offset = (page - 1) * limit
request[:query_params] = request[:query_params].merge(offset: offset, limit: limit)
run_request(:get, path, request)
end
|
#post(path, request = {}) ⇒ Object
191
192
193
|
# File 'lib/pager_duty/connection.rb', line 191
def post(path, request = {})
run_request(:post, path, request)
end
|
#put(path, request = {}) ⇒ Object
187
188
189
|
# File 'lib/pager_duty/connection.rb', line 187
def put(path, request = {})
run_request(:put, path, request)
end
|