cronitor 1.1.4 → 1.1.5
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/lib/cronitor.rb +12 -9
- data/lib/cronitor/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c234da3ffd469dc74eefc0ee50a369c5c3b967c
|
4
|
+
data.tar.gz: c89a778d71c9b27463777699eed0b2fc21a2cd12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 958007209685433235f3387c29cddbdb6e976c27cf1539bfa5ce2e7fdd58d0e9e8057c6089ba28635005368ae658cb96370a51c9863f338671aff78860f0d38e
|
7
|
+
data.tar.gz: 64db58946e2287628ba325387cccb469a07d7bdd6bffbf965b69111f8c5f7dcd172d5dec0a61588f4e5d94b29c823c23a8394ee89563bb5770553be82b09337e
|
data/lib/cronitor.rb
CHANGED
@@ -4,13 +4,10 @@ require 'net/http'
|
|
4
4
|
require 'unirest'
|
5
5
|
require 'hashie'
|
6
6
|
|
7
|
-
Unirest.default_header 'Accept', 'application/json'
|
8
|
-
Unirest.default_header 'Content-Type', 'application/json'
|
9
|
-
|
10
7
|
class Cronitor
|
11
8
|
attr_accessor :token, :opts, :code
|
12
|
-
API_URL = 'https://cronitor.io/v1'
|
13
|
-
PING_URL = 'https://cronitor.link'
|
9
|
+
API_URL = 'https://cronitor.io/v1'.freeze
|
10
|
+
PING_URL = 'https://cronitor.link'.freeze
|
14
11
|
|
15
12
|
def initialize(token: nil, opts: {}, code: nil)
|
16
13
|
@token = token
|
@@ -18,7 +15,7 @@ class Cronitor
|
|
18
15
|
@code = code
|
19
16
|
|
20
17
|
if @token.nil? && @code.nil?
|
21
|
-
|
18
|
+
raise(
|
22
19
|
Cronitor::Error,
|
23
20
|
'Either a Cronitor API token or an existing monitor code must be ' \
|
24
21
|
'provided'
|
@@ -37,6 +34,7 @@ class Cronitor
|
|
37
34
|
def create
|
38
35
|
response = Unirest.post(
|
39
36
|
"#{API_URL}/monitors",
|
37
|
+
headers: default_headers.merge('Content-Type' => 'application/json'),
|
40
38
|
auth: { user: token },
|
41
39
|
parameters: opts.to_json
|
42
40
|
)
|
@@ -47,6 +45,7 @@ class Cronitor
|
|
47
45
|
def exists?(name)
|
48
46
|
response = Unirest.get(
|
49
47
|
"#{API_URL}/monitors/#{URI.escape(name).gsub('[', '%5B').gsub(']', '%5D')}",
|
48
|
+
headers: default_headers,
|
50
49
|
auth: { user: token }
|
51
50
|
)
|
52
51
|
return false unless response.code == 200
|
@@ -58,7 +57,7 @@ class Cronitor
|
|
58
57
|
|
59
58
|
def ping(type, msg = nil)
|
60
59
|
url = "#{PING_URL}/#{code}/#{type}"
|
61
|
-
url += "?msg=#{URI.escape msg}" if
|
60
|
+
url += "?msg=#{URI.escape msg}" if %w(run complete fail).include?(type) && !msg.nil?
|
62
61
|
|
63
62
|
response = Unirest.get url
|
64
63
|
valid? response
|
@@ -79,7 +78,7 @@ class Cronitor
|
|
79
78
|
return true if [200, 201].include? response.code
|
80
79
|
server_error? response
|
81
80
|
|
82
|
-
|
81
|
+
raise Cronitor::Error, error_msg(response.body)
|
83
82
|
end
|
84
83
|
|
85
84
|
def error_msg(body, msg = [])
|
@@ -99,9 +98,13 @@ class Cronitor
|
|
99
98
|
def server_error?(response)
|
100
99
|
return unless [301, 302, 404, 500, 502, 503, 504].include? response.code
|
101
100
|
|
102
|
-
|
101
|
+
raise(
|
103
102
|
Cronitor::Error,
|
104
103
|
"Something else has gone awry. HTTP status: #{response.code}"
|
105
104
|
)
|
106
105
|
end
|
106
|
+
|
107
|
+
def default_headers
|
108
|
+
{ 'Accept' => 'application/json' }
|
109
|
+
end
|
107
110
|
end
|
data/lib/cronitor/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cronitor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Byrnes
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unirest
|
@@ -176,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
176
|
version: '0'
|
177
177
|
requirements: []
|
178
178
|
rubyforge_project:
|
179
|
-
rubygems_version: 2.
|
179
|
+
rubygems_version: 2.6.6
|
180
180
|
signing_key:
|
181
181
|
specification_version: 4
|
182
182
|
summary: An interface for the Cronitor API
|