uptimerobot 0.1.6 → 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: da8629d49c5fcbcaaf59d158f8fbef21cfb5fc0a
4
- data.tar.gz: 50342afc368a91785b91c49b78f7e7bea57ecb3e
3
+ metadata.gz: 1993c46b627fd5689996d88ea4d3e8de1da5448c
4
+ data.tar.gz: 4d4b5a3be56bbbf98826517bc3406adf36d93892
5
5
  SHA512:
6
- metadata.gz: 5e4c1cb5b5e041839953449c57dd22c50770a6ef27d39ede27b136bd4315219b1002228870023b09b0e4b37150c9057f350ced4117bb48ef12a748ca06243b73
7
- data.tar.gz: a5d127745ea72ca42c7e8b0ade4133502006c2d030196122cb6c5197526a5d0916dfd270857df5bd75662777bda1ba99bf4770c8604fd5510f7425a103a8a56a
6
+ metadata.gz: 337ade622bc9b4d61de52b342245c37cc1bc0f3e4b1b7fe92857ab937bb3015cbef207ed0fa4e604c10fd67a120a2cf8f0a79ec2a051815fbd8636b812852359
7
+ data.tar.gz: 71790ccf81cc7ccf177efcd53704026db016f14bcdffd155fd1b9e90665e10cad609785bdb7e09c500b601f871b1114d0e3719366ebc29d13c9b2f99b805c3b7
data/README.md CHANGED
@@ -1,10 +1,20 @@
1
1
  # UptimeRobot
2
2
 
3
- [Uptime Robot](https://uptimerobot.com/) API client for Ruby.
3
+ [Uptime Robot](https://uptimerobot.com/) APIv2 client for Ruby.
4
4
 
5
5
  [![Gem Version](https://badge.fury.io/rb/uptimerobot.svg)](http://badge.fury.io/rb/uptimerobot)
6
6
  [![Build Status](https://travis-ci.org/winebarrel/uptimerobot.svg?branch=master)](https://travis-ci.org/winebarrel/uptimerobot)
7
7
 
8
+ ### Notice
9
+
10
+ Currently, this library uses APIv2.
11
+
12
+ If you want to use APIv1, please specify it as follows:
13
+
14
+ ```
15
+ gem 'uptimerobot', '~> 0.1.6'
16
+ ```
17
+
8
18
  ## Installation
9
19
 
10
20
  Add this line to your application's Gemfile:
@@ -26,27 +36,38 @@ Or install it yourself as:
26
36
  ```ruby
27
37
  require 'uptimerobot'
28
38
 
29
- client = UptimeRobot::Client.new(apiKey: 'u956-afus321g565fghr519')
39
+ client = UptimeRobot::Client.new(api_key: 'u956-afus321g565fghr519')
30
40
 
31
41
  client.getMonitors
32
- # => {"stat"=>"ok",
33
- # "offset"=>"0",
34
- # "limit"=>"50",
35
- # "total"=>"2",
36
- # "monitors"=>
37
- # {"monitor"=>
38
- # [{"id"=>"128795",
39
- # "friendlyname"=>"Yahoo",
40
- # "url"=>"http://www.yahoo.com/",
41
- # "type"=>"1",
42
- # "subtype"=>"",
43
- # ...
42
+ # {
43
+ # "stat": "ok",
44
+ # "pagination": {
45
+ # "offset": 0,
46
+ # "limit": 50,
47
+ # "total": 2
48
+ # },
49
+ # "monitors": [
50
+ # {
51
+ # "id": 777749809,
52
+ # "friendly_name": "Google",
53
+ # "url": "http://www.google.com",
54
+ # "type": 1,
55
+ # ...
56
+ # },
57
+ # {
58
+ # "id": 777712827,
59
+ # "friendly_name": "My Web Page",
60
+ # "url": "http://mywebpage.com/",
61
+ # "type": 1,
62
+ # ...
63
+ # },
64
+ # ...
44
65
 
45
66
  client.newMonitor(
46
- monitorFriendlyName: 'Google',
47
- monitorURL: 'http://www.google.com',
48
- monitorType: UptimeRobot::Monitor::Type::HTTP,
49
- monitorAlertContacts: '448,716'
67
+ friendly_name: 'Google',
68
+ url: 'http://www.google.com',
69
+ type: UptimeRobot::Monitor::Type::HTTP,
70
+ alert_contacts: '448,716'
50
71
  )
51
72
  ```
52
73
 
@@ -1,6 +1,6 @@
1
1
  class UptimeRobot::Client
2
- ENDPOINT = 'http://api.uptimerobot.com'
3
- USER_AGENT = "Ruby UptimeRobot Client #{UptimeRobot::VERSION}"
2
+ ENDPOINT = "https://api.uptimerobot.com/"
3
+ USER_AGENT = "Ruby UptimeRobot Client #{UptimeRobot::GEM_VERSION}"
4
4
 
5
5
  METHODS = [
6
6
  :getAccountDetails,
@@ -19,9 +19,10 @@ class UptimeRobot::Client
19
19
  ]
20
20
 
21
21
  OPTIONS = [
22
- :apiKey,
22
+ :api_key,
23
23
  :raise_no_monitors_error,
24
- :skip_unescape_monitor
24
+ :skip_unescape_monitor,
25
+ :debug
25
26
  ]
26
27
 
27
28
  def initialize(options)
@@ -31,7 +32,7 @@ class UptimeRobot::Client
31
32
  @options[key] = options.delete(key)
32
33
  end
33
34
 
34
- raise ArgumentError, ':apiKey is required' unless @options[:apiKey]
35
+ raise ArgumentError, ':api_key is required' unless @options[:api_key]
35
36
 
36
37
  options[:url] ||= ENDPOINT
37
38
 
@@ -39,6 +40,7 @@ class UptimeRobot::Client
39
40
  faraday.request :url_encoded
40
41
  faraday.response :json, :content_type => /\bjson$/
41
42
  faraday.response :raise_error
43
+ faraday.response :logger, ::Logger.new(STDOUT), bodies: true if @options[:debug]
42
44
 
43
45
  yield(faraday) if block_given?
44
46
 
@@ -69,14 +71,14 @@ class UptimeRobot::Client
69
71
 
70
72
  def request(method_name, params = {})
71
73
  params.update(
72
- :apiKey => @options[:apiKey],
74
+ :api_key => @options[:api_key],
73
75
  :format => 'json',
74
76
  :noJsonCallback => 1
75
77
  )
76
78
 
77
- response = @conn.get do |req|
78
- req.url "/#{method_name}"
79
- req.params = params
79
+ response = @conn.post do |req|
80
+ req.url "/#{UptimeRobot::API_VERSION}/#{method_name}"
81
+ req.body = URI.encode_www_form(params)
80
82
  yield(req) if block_given?
81
83
  end
82
84
 
@@ -98,7 +100,7 @@ class UptimeRobot::Client
98
100
  else
99
101
  json.update(
100
102
  'total' => '0',
101
- 'monitors' => {'monitor' => []}
103
+ 'monitors' => []
102
104
  )
103
105
  end
104
106
  else
@@ -108,8 +110,8 @@ class UptimeRobot::Client
108
110
  end
109
111
 
110
112
  def unescape_monitor!(json)
111
- json['monitors']['monitor'].each do |monitor|
112
- %w(friendlyname keywordvalue httpusername httppassword).each do |key|
113
+ json['monitors'].each do |monitor|
114
+ %w(friendly_name keyword_value http_username http_password).each do |key|
113
115
  value = monitor[key] || ''
114
116
  next if value.empty?
115
117
  monitor[key] = CGI.unescapeHTML(value)
@@ -1,3 +1,4 @@
1
1
  module UptimeRobot
2
- VERSION = '0.1.6'
2
+ API_VERSION = 'v2'
3
+ GEM_VERSION = '0.2.0'
3
4
  end
@@ -1,13 +1,17 @@
1
1
  require 'uptimerobot'
2
2
 
3
3
  DEFAULT_PARAMS = {
4
- 'apiKey' => 'ZAPZAPZAP',
4
+ 'api_key' => 'ZAPZAPZAP',
5
5
  'format' => 'json',
6
6
  'noJsonCallback' => '1'
7
7
  }
8
8
 
9
+ def decoded_request_body(body)
10
+ Hash[URI.decode_www_form(body)]
11
+ end
12
+
9
13
  def uptime_robot(options = {})
10
- options = {apiKey: 'ZAPZAPZAP'}.merge(options)
14
+ options = {api_key: 'ZAPZAPZAP'}.merge(options)
11
15
 
12
16
  stubs = Faraday::Adapter::Test::Stubs.new
13
17
 
@@ -11,12 +11,13 @@ describe UptimeRobot::Client do
11
11
 
12
12
  it do
13
13
  client = uptime_robot do |stub|
14
- stub.get('getAccountDetails') do |env|
15
- expect(env.params).to eq DEFAULT_PARAMS
16
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
14
+ stub.post('/v2/getAccountDetails') do |env|
15
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS
16
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
17
17
  end
18
18
  end
19
19
 
20
+
20
21
  expect(client.getAccountDetails).to eq response
21
22
  end
22
23
  end
@@ -25,89 +26,90 @@ describe UptimeRobot::Client do
25
26
  let(:params) do
26
27
  {
27
28
  :logs => 1,
28
- :alertContacts => 1,
29
- :responseTimes => 1,
30
- :responseTimesAverage => 180,
29
+ :alert_contacts => 1,
30
+ :response_times => 1,
31
+ :response_times_average => 180,
31
32
  :monitors => '15830-32696'
32
33
  }
33
34
  end
34
35
 
35
36
  let(:response) do
36
37
  {"stat"=>"ok",
37
- "offset"=>"0",
38
- "limit"=>"50",
39
- "total"=>"2",
38
+ "pagination"=>{
39
+ "offset"=>"0",
40
+ "limit"=>"50",
41
+ "total"=>"2"
42
+ },
40
43
  "monitors"=>
41
- {"monitor"=>
42
- [{"id"=>"128795",
43
- "friendlyname"=>"Yahoo",
44
- "url"=>"http://www.yahoo.com/",
45
- "type"=>"1",
46
- "subtype"=>"",
47
- "keywordtype"=>"0",
48
- "keywordvalue"=>"",
49
- "httpusername"=>"",
50
- "httppassword"=>"",
51
- "port"=>"",
52
- "interval"=>"300",
53
- "status"=>"2",
54
- "alltimeuptimeratio"=>"99.98",
55
- "customuptimeratio"=>"100.00",
56
- "alertcontact"=>
57
- [{"id"=>"4631", "type"=>"2", "value"=>"uptime@webresourcesdepot.com"},
58
- {"id"=>"2420", "type"=>"3", "value"=>"umutm"}],
59
- "log"=>
60
- [{"type"=>"2",
61
- "datetime"=>"09/25/2011 16:12:44",
62
- "alertcontact"=>
63
- [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
64
- {"type"=>"3", "value"=>"umutm"}]},
65
- {"type"=>"1",
66
- "datetime"=>"09/25/2011 16:11:44",
67
- "alertcontact"=>
68
- [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
69
- {"type"=>"3", "value"=>"umutm"}]}],
70
- "responsetime"=>
71
- [{"datetime"=>"02/04/2014 11:30:41", "value"=>"405"},
72
- {"datetime"=>"02/04/2014 12:00:41", "value"=>"516"},
73
- {"datetime"=>"02/04/2014 12:30:41", "value"=>"780"}]},
74
- {"id"=>"128796",
75
- "friendlyname"=>"WebResourcesDepot",
76
- "url"=>"http://www.webresourcesdepot.com/",
77
- "type"=>"1",
78
- "subtype"=>"",
79
- "keywordtype"=>"0",
80
- "keywordvalue"=>"",
81
- "httpusername"=>"",
82
- "httppassword"=>"",
83
- "port"=>"",
84
- "interval"=>"300",
85
- "status"=>"2",
86
- "alltimeuptimeratio"=>"99.94",
87
- "customtimeuptimeratio"=>"89.51",
88
- "alertcontact"=>[{"id"=>"2420", "type"=>"3", "value"=>"umutm"}],
89
- "log"=>
90
- [{"type"=>"2",
91
- "datetime"=>"08/30/2011 16:11:15",
92
- "alertcontact"=>
93
- [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
94
- {"type"=>"3", "value"=>"umutm"}]},
95
- {"type"=>"1",
96
- "datetime"=>"08/30/2011 16:09:30",
97
- "alertcontact"=>
98
- [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
99
- {"type"=>"3", "value"=>"umutm"}]}],
100
- "responsetime"=>
101
- [{"datetime"=>"02/04/2014 11:48:41", "value"=>"405"},
102
- {"datetime"=>"02/04/2014 12:18:41", "value"=>"516"},
103
- {"datetime"=>"02/04/2014 12:48:41", "value"=>"780"}]}]}}
44
+ [{"id"=>"128795",
45
+ "friendlyname"=>"Yahoo",
46
+ "url"=>"http://www.yahoo.com/",
47
+ "type"=>"1",
48
+ "subtype"=>"",
49
+ "keywordtype"=>"0",
50
+ "keywordvalue"=>"",
51
+ "httpusername"=>"",
52
+ "httppassword"=>"",
53
+ "port"=>"",
54
+ "interval"=>"300",
55
+ "status"=>"2",
56
+ "alltimeuptimeratio"=>"99.98",
57
+ "customuptimeratio"=>"100.00",
58
+ "alertcontact"=>
59
+ [{"id"=>"4631", "type"=>"2", "value"=>"uptime@webresourcesdepot.com"},
60
+ {"id"=>"2420", "type"=>"3", "value"=>"umutm"}],
61
+ "log"=>
62
+ [{"type"=>"2",
63
+ "datetime"=>"09/25/2011 16:12:44",
64
+ "alertcontact"=>
65
+ [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
66
+ {"type"=>"3", "value"=>"umutm"}]},
67
+ {"type"=>"1",
68
+ "datetime"=>"09/25/2011 16:11:44",
69
+ "alertcontact"=>
70
+ [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
71
+ {"type"=>"3", "value"=>"umutm"}]}],
72
+ "responsetime"=>
73
+ [{"datetime"=>"02/04/2014 11:30:41", "value"=>"405"},
74
+ {"datetime"=>"02/04/2014 12:00:41", "value"=>"516"},
75
+ {"datetime"=>"02/04/2014 12:30:41", "value"=>"780"}]},
76
+ {"id"=>"128796",
77
+ "friendlyname"=>"WebResourcesDepot",
78
+ "url"=>"http://www.webresourcesdepot.com/",
79
+ "type"=>"1",
80
+ "subtype"=>"",
81
+ "keywordtype"=>"0",
82
+ "keywordvalue"=>"",
83
+ "httpusername"=>"",
84
+ "httppassword"=>"",
85
+ "port"=>"",
86
+ "interval"=>"300",
87
+ "status"=>"2",
88
+ "alltimeuptimeratio"=>"99.94",
89
+ "customtimeuptimeratio"=>"89.51",
90
+ "alertcontact"=>[{"id"=>"2420", "type"=>"3", "value"=>"umutm"}],
91
+ "log"=>
92
+ [{"type"=>"2",
93
+ "datetime"=>"08/30/2011 16:11:15",
94
+ "alertcontact"=>
95
+ [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
96
+ {"type"=>"3", "value"=>"umutm"}]},
97
+ {"type"=>"1",
98
+ "datetime"=>"08/30/2011 16:09:30",
99
+ "alertcontact"=>
100
+ [{"type"=>"0", "value"=>"uptime@webresourcesdepot.com"},
101
+ {"type"=>"3", "value"=>"umutm"}]}],
102
+ "responsetime"=>
103
+ [{"datetime"=>"02/04/2014 11:48:41", "value"=>"405"},
104
+ {"datetime"=>"02/04/2014 12:18:41", "value"=>"516"},
105
+ {"datetime"=>"02/04/2014 12:48:41", "value"=>"780"}]}]}
104
106
  end
105
107
 
106
108
  it do
107
109
  client = uptime_robot do |stub|
108
- stub.get('getMonitors') do |env|
109
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
110
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
110
+ stub.post('/v2/getMonitors') do |env|
111
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
112
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
111
113
  end
112
114
  end
113
115
 
@@ -117,29 +119,29 @@ describe UptimeRobot::Client do
117
119
  context 'when include escaped string' do
118
120
  let(:response_with_escaped_string) do
119
121
  res = response.dup
120
- monitor = res['monitors']['monitor'][0]
121
- monitor['friendlyname'] = 'http monitor (basic auth)'
122
- monitor['keywordvalue'] = '(keywordvalue)'
123
- monitor['httpusername'] = '(httpusername)'
124
- monitor['httppassword'] = '(httppassword)'
122
+ monitor = res['monitors'][0]
123
+ monitor['friendly_name'] = 'http monitor (basic auth)'
124
+ monitor['keyword_value'] = '(keyword_value)'
125
+ monitor['http_username'] = '(http_username)'
126
+ monitor['http_password'] = '(http_password)'
125
127
  res
126
128
  end
127
129
 
128
130
  let(:response_with_unescaped_string) do
129
131
  res = response.dup
130
- monitor = res['monitors']['monitor'][0]
131
- monitor['friendlyname'] = 'http monitor (basic auth)'
132
- monitor['keywordvalue'] = '(keywordvalue)'
133
- monitor['httpusername'] = '(httpusername)'
134
- monitor['httppassword'] = '(httppassword)'
132
+ monitor = res['monitors'][0]
133
+ monitor['friendly_name'] = 'http monitor (basic auth)'
134
+ monitor['keyword_value'] = '(keyword_value)'
135
+ monitor['http_username'] = '(http_username)'
136
+ monitor['http_password'] = '(http_password)'
135
137
  res
136
138
  end
137
139
 
138
140
  it do
139
141
  client = uptime_robot do |stub|
140
- stub.get('getMonitors') do |env|
141
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
142
- [200, {'Content-Type' => 'json'}, JSON.dump(response_with_escaped_string)]
142
+ stub.post('/v2/getMonitors') do |env|
143
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
144
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response_with_escaped_string)]
143
145
  end
144
146
  end
145
147
 
@@ -148,9 +150,9 @@ describe UptimeRobot::Client do
148
150
 
149
151
  it do
150
152
  client = uptime_robot(:skip_unescape_monitor => true) do |stub|
151
- stub.get('getMonitors') do |env|
152
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
153
- [200, {'Content-Type' => 'json'}, JSON.dump(response_with_escaped_string)]
153
+ stub.post('/v2/getMonitors') do |env|
154
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
155
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response_with_escaped_string)]
154
156
  end
155
157
  end
156
158
 
@@ -162,10 +164,10 @@ describe UptimeRobot::Client do
162
164
  describe '#newMonitor' do
163
165
  let(:params) do
164
166
  {
165
- :monitorFriendlyName => 'Google',
166
- :monitorURL => 'http://www.google.com',
167
- :monitorType => UptimeRobot::Monitor::Type::HTTP,
168
- :monitorAlertContacts => '448-716'
167
+ :friendly_name => 'Google',
168
+ :url => 'http://www.google.com',
169
+ :type => UptimeRobot::Monitor::Type::HTTP,
170
+ :alert_contacts => '448-716'
169
171
  }
170
172
  end
171
173
 
@@ -175,9 +177,9 @@ describe UptimeRobot::Client do
175
177
 
176
178
  it do
177
179
  client = uptime_robot do |stub|
178
- stub.get('newMonitor') do |env|
179
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
180
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
180
+ stub.post('/v2/newMonitor') do |env|
181
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
182
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
181
183
  end
182
184
  end
183
185
 
@@ -188,8 +190,8 @@ describe UptimeRobot::Client do
188
190
  describe '#editMonitor' do
189
191
  let(:params) do
190
192
  {
191
- :monitorID => 128798,
192
- :monitorFriendlyName => 'GoogleHomepage'
193
+ :id => 128798,
194
+ :friendly_name => 'GoogleHomepage'
193
195
  }
194
196
  end
195
197
 
@@ -199,9 +201,9 @@ describe UptimeRobot::Client do
199
201
 
200
202
  it do
201
203
  client = uptime_robot do |stub|
202
- stub.get('editMonitor') do |env|
203
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
204
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
204
+ stub.post('/v2/editMonitor') do |env|
205
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
206
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
205
207
  end
206
208
  end
207
209
 
@@ -222,9 +224,9 @@ describe UptimeRobot::Client do
222
224
 
223
225
  it do
224
226
  client = uptime_robot do |stub|
225
- stub.get('deleteMonitor') do |env|
226
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
227
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
227
+ stub.post('/v2/deleteMonitor') do |env|
228
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
229
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
228
230
  end
229
231
  end
230
232
 
@@ -254,9 +256,9 @@ describe UptimeRobot::Client do
254
256
 
255
257
  it do
256
258
  client = uptime_robot do |stub|
257
- stub.get('getAlertContacts') do |env|
258
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
259
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
259
+ stub.post('/v2/getAlertContacts') do |env|
260
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
261
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
260
262
  end
261
263
  end
262
264
 
@@ -278,9 +280,9 @@ describe UptimeRobot::Client do
278
280
 
279
281
  it do
280
282
  client = uptime_robot do |stub|
281
- stub.get('newAlertContact') do |env|
282
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
283
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
283
+ stub.post('/v2/newAlertContact') do |env|
284
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
285
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
284
286
  end
285
287
  end
286
288
 
@@ -301,9 +303,9 @@ describe UptimeRobot::Client do
301
303
 
302
304
  it do
303
305
  client = uptime_robot do |stub|
304
- stub.get('deleteAlertContact') do |env|
305
- expect(env.params).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
306
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
306
+ stub.post('/v2/deleteAlertContact') do |env|
307
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS.merge(stringify_hash(params))
308
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
307
309
  end
308
310
  end
309
311
 
@@ -313,14 +315,14 @@ describe UptimeRobot::Client do
313
315
 
314
316
  context 'when stat is fail' do
315
317
  let(:response) do
316
- {"stat"=>"fail", "id"=>"101", "message"=>"apiKey is wrong"}
318
+ {"stat"=>"fail", "id"=>"101", "message"=>"api_key is wrong"}
317
319
  end
318
320
 
319
321
  it do
320
322
  client = uptime_robot do |stub|
321
- stub.get('getAccountDetails') do |env|
322
- expect(env.params).to eq DEFAULT_PARAMS
323
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
323
+ stub.post('/v2/getAccountDetails') do |env|
324
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS
325
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
324
326
  end
325
327
  end
326
328
 
@@ -333,8 +335,8 @@ describe UptimeRobot::Client do
333
335
  context 'when status is not 200' do
334
336
  it do
335
337
  client = uptime_robot do |stub|
336
- stub.get('getAccountDetails') do |env|
337
- expect(env.params).to eq DEFAULT_PARAMS
338
+ stub.post('/v2/getAccountDetails') do |env|
339
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS
338
340
  [500, {}, 'An error occurred on the server when processing the URL']
339
341
  end
340
342
  end
@@ -365,11 +367,11 @@ describe UptimeRobot::Client do
365
367
  end
366
368
  end
367
369
 
368
- context 'when apiKey is not passed' do
370
+ context 'when api_key is not passed' do
369
371
  it do
370
372
  expect {
371
- uptime_robot(:apiKey => nil)
372
- }.to raise_error(ArgumentError, ':apiKey is required')
373
+ uptime_robot(:api_key => nil)
374
+ }.to raise_error(ArgumentError, ':api_key is required')
373
375
  end
374
376
  end
375
377
 
@@ -380,9 +382,9 @@ describe UptimeRobot::Client do
380
382
 
381
383
  it do
382
384
  client = uptime_robot do |stub|
383
- stub.get('getAccountDetails') do |env|
384
- expect(env.params).to eq DEFAULT_PARAMS
385
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
385
+ stub.post('/v2/getAccountDetails') do |env|
386
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS
387
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
386
388
  end
387
389
  end
388
390
 
@@ -391,15 +393,15 @@ describe UptimeRobot::Client do
391
393
  "id"=>"212",
392
394
  "message"=>"The account has no monitors",
393
395
  "total"=>"0",
394
- "monitors"=>{"monitor"=>[]}}
396
+ "monitors"=>[]}
395
397
  )
396
398
  end
397
399
 
398
400
  it do
399
401
  client = uptime_robot(:raise_no_monitors_error => true) do |stub|
400
- stub.get('getAccountDetails') do |env|
401
- expect(env.params).to eq DEFAULT_PARAMS
402
- [200, {'Content-Type' => 'json'}, JSON.dump(response)]
402
+ stub.post('/v2/getAccountDetails') do |env|
403
+ expect(decoded_request_body(env.body)).to eq DEFAULT_PARAMS
404
+ [200, {'Content-Type' => 'application/json'}, JSON.dump(response)]
403
405
  end
404
406
  end
405
407
 
@@ -5,7 +5,7 @@ require 'uptimerobot/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'uptimerobot'
8
- spec.version = UptimeRobot::VERSION
8
+ spec.version = UptimeRobot::GEM_VERSION
9
9
  spec.authors = ['Genki Sugawara']
10
10
  spec.email = ['sgwr_dts@yahoo.co.jp']
11
11
  spec.summary = %q{Uptime Robot API client for Ruby.}
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uptimerobot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-31 00:00:00.000000000 Z
11
+ date: 2017-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.8'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.8'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 3.0.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.0.0
83
83
  description: Uptime Robot API client for Ruby.
@@ -87,9 +87,9 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
91
- - .rspec
92
- - .travis.yml
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".travis.yml"
93
93
  - Gemfile
94
94
  - LICENSE.txt
95
95
  - README.md
@@ -112,17 +112,17 @@ require_paths:
112
112
  - lib
113
113
  required_ruby_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - '>='
120
+ - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
124
  rubyforge_project:
125
- rubygems_version: 2.0.14
125
+ rubygems_version: 2.6.12
126
126
  signing_key:
127
127
  specification_version: 4
128
128
  summary: Uptime Robot API client for Ruby.