mini_check 0.3.0 → 0.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 +2 -5
- data/.travis.yml +5 -3
- data/CHANGELOG.md +19 -0
- data/Gemfile +2 -2
- data/README.md +11 -8
- data/lib/mini_check/check.rb +17 -7
- data/lib/mini_check/rack_app.rb +15 -10
- data/lib/mini_check/version.rb +1 -1
- data/lib/mini_check/version_rack_app.rb +60 -24
- data/mini_check.gemspec +2 -2
- data/spec/helper.rb +1 -5
- data/spec/mini_check/check_spec.rb +19 -14
- data/spec/mini_check/checks_collection_spec.rb +5 -5
- data/spec/mini_check/rack_app_spec.rb +1 -1
- data/spec/mini_check/version_rack_app_spec.rb +1 -1
- metadata +11 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
SHA1:
|
|
3
|
-
metadata.gz: 20ef9ea5afbc7e220b1e81163a628c15267ae813
|
|
4
|
-
data.tar.gz: 5d4cdbf4c58aaa06595f0d3a7e239a3a8fee0de2
|
|
5
2
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 83267501018ff124cfca7c5ba8c3744e0fe7ba9c5aea728ac4e0f45290726d71c35b2eec8d9943f60d8d25e5463e511f7081f3fe4fbb6cf08afbe4ed6b45af4b
|
|
4
|
+
data.tar.gz: a9eaa048760beafe2a288d36e02198457d696d47d9efc9f5f36c995b17fd840905529296fcbc9d4272f0867d4a0765836c415a1ab342712d30db272f4aa4f57d
|
data/.travis.yml
CHANGED
|
@@ -4,7 +4,9 @@ rvm:
|
|
|
4
4
|
- jruby-19mode
|
|
5
5
|
- 2.0.0
|
|
6
6
|
- 2.1.0
|
|
7
|
+
- 2.2.0
|
|
8
|
+
- 2.3.0
|
|
7
9
|
cache: bundler
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
before_install:
|
|
11
|
+
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
|
12
|
+
- gem install bundler -v '< 2'
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## 0.4.1, release 2019-01-27
|
|
2
|
+
|
|
3
|
+
* Fixed broken build due Rake upgrade.
|
|
4
|
+
* Removed Code Climate as current implementation is being deprecated.
|
|
5
|
+
* Removed warning messages when running the tests.
|
|
6
|
+
* No code changes were made.
|
|
7
|
+
|
|
8
|
+
## 0.4.0
|
|
9
|
+
|
|
10
|
+
* Times on checks and slight refactor
|
|
11
|
+
|
|
12
|
+
## 0.3.0
|
|
13
|
+
|
|
14
|
+
* Extend gem to support mounting a new endpoint to provide versioning info.
|
|
15
|
+
|
|
16
|
+
## 0.2.0
|
|
17
|
+
|
|
18
|
+
* Added support for middleware mounting.
|
|
19
|
+
|
|
1
20
|
## 0.1.1, release 2014-03-22
|
|
2
21
|
|
|
3
22
|
* Supporting Travis CI and Code Climate
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
MiniCheck provides a simple Rack application for adding simple health checks to your app.
|
|
4
4
|
The JSON output is similar to the one provided by the [Metrics](http://metrics.codahale.com/) Java library.
|
|
5
|
-
It was started at [Workshare ltd.](http://www.workshare.com) as an easy way of providing monitoring to our Rack based
|
|
5
|
+
It was started at [Workshare ltd.](http://www.workshare.com) as an easy way of providing monitoring to our Rack based applications.
|
|
6
6
|
|
|
7
7
|
[](http://badge.fury.io/rb/mini_check)
|
|
8
|
-
[](http://travis-ci.org/workshare/mini-check)
|
|
9
|
-
[](https://codeclimate.com/github/workshare/mini-check)
|
|
8
|
+
[](http://travis-ci.org/workshare/mini-check)
|
|
10
9
|
|
|
11
10
|
## Quick Start
|
|
12
11
|
|
|
@@ -31,10 +30,12 @@ If you now visit `http://localhost:XXXX/healthcheck` you should get something li
|
|
|
31
30
|
```json
|
|
32
31
|
{
|
|
33
32
|
"health.db_connection": {
|
|
34
|
-
"healthy": true
|
|
33
|
+
"healthy": true,
|
|
34
|
+
"time": 0.111403303
|
|
35
35
|
},
|
|
36
36
|
"health.redis_client": {
|
|
37
|
-
"healthy": true
|
|
37
|
+
"healthy": true,
|
|
38
|
+
"time": 4.41e-05
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
```
|
|
@@ -56,11 +57,13 @@ The registered lambdas should do any of the following things:
|
|
|
56
57
|
"/home/manuel/sd/my_app/vendor/bundle/ruby/1.9.1/gems/sequel-4.7.0/lib/sequel/adapters/mysql2.rb:77:in `block in _execute'",
|
|
57
58
|
"/home/manuel/sd/my_app/vendor/bundle/ruby/1.9.1/gems/sequel-4.7.0/lib/sequel/database/logging.rb:37:in `log_yield'",
|
|
58
59
|
"..."
|
|
59
|
-
]
|
|
60
|
+
],
|
|
61
|
+
"time": 4.61e-05
|
|
60
62
|
}
|
|
61
63
|
},
|
|
62
64
|
"health.redis_client": {
|
|
63
|
-
"healthy": true
|
|
65
|
+
"healthy": true,
|
|
66
|
+
"time": 1.23e-04
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
```
|
|
@@ -96,7 +99,7 @@ If you now visit `http://localhost:XXXX/admin/version` you should get something
|
|
|
96
99
|
|
|
97
100
|
## Maintaining
|
|
98
101
|
|
|
99
|
-
Here is a good tutorial on this:
|
|
102
|
+
Here is a good tutorial on this:
|
|
100
103
|
[Developing a RubyGem using Bundler](https://github.com/radar/guides/blob/master/gem-development.md).
|
|
101
104
|
|
|
102
105
|
## License
|
data/lib/mini_check/check.rb
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
require 'benchmark'
|
|
2
|
+
|
|
1
3
|
module MiniCheck
|
|
2
4
|
class Check
|
|
3
5
|
attr_accessor :name
|
|
4
6
|
attr_accessor :healthy
|
|
5
7
|
attr_accessor :action
|
|
8
|
+
attr_accessor :time
|
|
6
9
|
attr_accessor :exception
|
|
7
10
|
|
|
8
11
|
def initialize args = {}, &block
|
|
@@ -17,24 +20,31 @@ module MiniCheck
|
|
|
17
20
|
end
|
|
18
21
|
|
|
19
22
|
def run
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
self.time = Benchmark.measure do
|
|
24
|
+
begin
|
|
25
|
+
do_run
|
|
26
|
+
self.exception = nil
|
|
27
|
+
rescue Exception => e
|
|
28
|
+
self.healthy = false
|
|
29
|
+
self.exception = e
|
|
30
|
+
end
|
|
31
|
+
end.real
|
|
27
32
|
end
|
|
28
33
|
|
|
29
34
|
def to_hash
|
|
30
35
|
{}.tap do |h|
|
|
31
36
|
h[:healthy] = healthy?
|
|
37
|
+
h[:time] = time
|
|
32
38
|
h[:error] = error_hash if exception
|
|
33
39
|
end
|
|
34
40
|
end
|
|
35
41
|
|
|
36
42
|
private
|
|
37
43
|
|
|
44
|
+
def do_run
|
|
45
|
+
self.healthy = action.call
|
|
46
|
+
end
|
|
47
|
+
|
|
38
48
|
def error_hash
|
|
39
49
|
{
|
|
40
50
|
message: exception.message,
|
data/lib/mini_check/rack_app.rb
CHANGED
|
@@ -3,6 +3,11 @@ module MiniCheck
|
|
|
3
3
|
attr_accessor :checks
|
|
4
4
|
attr_accessor :path
|
|
5
5
|
|
|
6
|
+
CONTENT_TYPE_HEADER = 'Content-Type'.freeze
|
|
7
|
+
JSON_MIME_TYPE = 'application/json'.freeze
|
|
8
|
+
REQUEST_METHOD = 'REQUEST_METHOD'.freeze
|
|
9
|
+
PATH_INFO = 'PATH_INFO'.freeze
|
|
10
|
+
|
|
6
11
|
def initialize args = {}
|
|
7
12
|
set_attributes args
|
|
8
13
|
end
|
|
@@ -12,10 +17,10 @@ module MiniCheck
|
|
|
12
17
|
end
|
|
13
18
|
|
|
14
19
|
def call env
|
|
15
|
-
case "#{env[
|
|
20
|
+
case "#{env[REQUEST_METHOD]} #{env[PATH_INFO]}"
|
|
16
21
|
when "GET #{path}"
|
|
17
22
|
checks.run
|
|
18
|
-
[status,
|
|
23
|
+
[status, default_headers, [body]]
|
|
19
24
|
else
|
|
20
25
|
host_app.call(env)
|
|
21
26
|
end
|
|
@@ -26,23 +31,23 @@ module MiniCheck
|
|
|
26
31
|
end
|
|
27
32
|
|
|
28
33
|
def new(app)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
dup.tap do |copy|
|
|
35
|
+
copy.host_app = app
|
|
36
|
+
end
|
|
32
37
|
end
|
|
33
38
|
|
|
34
39
|
private
|
|
35
40
|
|
|
41
|
+
def default_headers
|
|
42
|
+
{ CONTENT_TYPE_HEADER => JSON_MIME_TYPE }
|
|
43
|
+
end
|
|
44
|
+
|
|
36
45
|
def set_attributes args = {}
|
|
37
46
|
args.each do |k,v|
|
|
38
47
|
send("#{k}=", v)
|
|
39
48
|
end
|
|
40
49
|
end
|
|
41
50
|
|
|
42
|
-
def headers
|
|
43
|
-
{'Content-Type' => 'application/json'}
|
|
44
|
-
end
|
|
45
|
-
|
|
46
51
|
def body
|
|
47
52
|
checks.to_hash.to_json
|
|
48
53
|
end
|
|
@@ -56,7 +61,7 @@ module MiniCheck
|
|
|
56
61
|
attr_accessor :host_app
|
|
57
62
|
|
|
58
63
|
def host_app
|
|
59
|
-
@host_app ||= lambda{|env| [404, {}, []]}
|
|
64
|
+
@host_app ||= lambda { |env| [404, {}, []] }
|
|
60
65
|
end
|
|
61
66
|
end
|
|
62
67
|
end
|
data/lib/mini_check/version.rb
CHANGED
|
@@ -4,16 +4,23 @@ module MiniCheck
|
|
|
4
4
|
class VersionRackApp
|
|
5
5
|
attr_accessor :path, :build_file
|
|
6
6
|
|
|
7
|
+
REQUEST_METHOD = 'REQUEST_METHOD'.freeze
|
|
8
|
+
PATH_INFO = 'PATH_INFO'.freeze
|
|
9
|
+
APP_KEY = 'Application Name'.freeze
|
|
10
|
+
CONTENT_TYPE_HEADER = 'Content-Type'.freeze
|
|
11
|
+
JSON_MIME_TYPE = 'application/json'.freeze
|
|
12
|
+
TEXT_MIME_TYPE = 'text/plain'.freeze
|
|
13
|
+
|
|
7
14
|
def initialize args = {}
|
|
8
15
|
set_attributes args
|
|
9
16
|
end
|
|
10
|
-
|
|
17
|
+
|
|
11
18
|
def metadata
|
|
12
19
|
@metadata ||= Hash.new
|
|
13
20
|
end
|
|
14
|
-
|
|
21
|
+
|
|
15
22
|
def call env
|
|
16
|
-
case "#{env[
|
|
23
|
+
case "#{env[REQUEST_METHOD]} #{env[PATH_INFO]}"
|
|
17
24
|
when "GET #{path}.json"
|
|
18
25
|
JsonResponse.render(output_hash)
|
|
19
26
|
when "GET #{path}"
|
|
@@ -33,7 +40,7 @@ module MiniCheck
|
|
|
33
40
|
private
|
|
34
41
|
|
|
35
42
|
def name= name
|
|
36
|
-
metadata[
|
|
43
|
+
metadata[APP_KEY] = name
|
|
37
44
|
end
|
|
38
45
|
|
|
39
46
|
def set_attributes args = {}
|
|
@@ -41,47 +48,76 @@ module MiniCheck
|
|
|
41
48
|
send("#{k}=", v)
|
|
42
49
|
end
|
|
43
50
|
end
|
|
44
|
-
|
|
51
|
+
|
|
45
52
|
def output_hash
|
|
46
53
|
metadata.merge(file_hash)
|
|
47
54
|
end
|
|
48
|
-
|
|
55
|
+
|
|
49
56
|
def file_hash
|
|
50
|
-
if (content =
|
|
57
|
+
if (content = file_content(build_file)).instance_of?(Hash)
|
|
51
58
|
content
|
|
52
59
|
else
|
|
53
|
-
content =
|
|
60
|
+
content = raw_file_content(build_file).split("\n")
|
|
54
61
|
Hash[content.map{ |pair| pair.split("=") }]
|
|
55
62
|
end
|
|
56
63
|
rescue => ex
|
|
57
64
|
{ error: ex.message }
|
|
58
65
|
end
|
|
59
|
-
|
|
60
|
-
|
|
66
|
+
|
|
67
|
+
def self.file_content(build_file)
|
|
68
|
+
@file_content ||= YAML.load_file(build_file)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def self.raw_file_content(build_file)
|
|
72
|
+
@raw_file_content ||= IO.read(build_file)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def file_content(build_file)
|
|
76
|
+
self.class.file_content(build_file)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def raw_file_content(build_file)
|
|
80
|
+
self.class.raw_file_content(build_file)
|
|
81
|
+
end
|
|
82
|
+
|
|
61
83
|
protected
|
|
62
84
|
|
|
63
85
|
attr_accessor :host_app
|
|
64
86
|
|
|
65
87
|
def host_app
|
|
66
|
-
@host_app ||= lambda{|env| [404, {}, []]}
|
|
88
|
+
@host_app ||= lambda { |env| [404, {}, []] }
|
|
67
89
|
end
|
|
68
|
-
|
|
69
|
-
|
|
90
|
+
|
|
91
|
+
|
|
70
92
|
class JsonResponse
|
|
71
|
-
|
|
72
|
-
|
|
93
|
+
class << self
|
|
94
|
+
def render hash
|
|
95
|
+
[200, default_headers, [hash.to_json]]
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
private
|
|
99
|
+
|
|
100
|
+
def default_headers
|
|
101
|
+
{ CONTENT_TYPE_HEADER => JSON_MIME_TYPE }
|
|
102
|
+
end
|
|
73
103
|
end
|
|
74
104
|
end
|
|
75
|
-
|
|
105
|
+
|
|
76
106
|
class PlainTextResponse
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
107
|
+
class << self
|
|
108
|
+
def render hash
|
|
109
|
+
[200, default_headers, [parse(hash)]]
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
private
|
|
113
|
+
|
|
114
|
+
def parse hash
|
|
115
|
+
hash.map{ |key,value| "#{key}=#{value}" }.join("\n")
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def default_headers
|
|
119
|
+
{ CONTENT_TYPE_HEADER => TEXT_MIME_TYPE }
|
|
120
|
+
end
|
|
85
121
|
end
|
|
86
122
|
end
|
|
87
123
|
end
|
data/mini_check.gemspec
CHANGED
|
@@ -18,6 +18,6 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
19
|
spec.require_paths = ['lib']
|
|
20
20
|
|
|
21
|
-
spec.add_development_dependency 'bundler'
|
|
22
|
-
spec.add_runtime_dependency 'json'
|
|
21
|
+
spec.add_development_dependency 'bundler'
|
|
22
|
+
spec.add_runtime_dependency 'json', '~> 1'
|
|
23
23
|
end
|
data/spec/helper.rb
CHANGED
|
@@ -13,15 +13,11 @@ require 'rspec'
|
|
|
13
13
|
require 'pry'
|
|
14
14
|
|
|
15
15
|
RSpec.configure do |config|
|
|
16
|
-
config.color_enabled = true
|
|
17
16
|
config.tty = true
|
|
18
|
-
config.formatter = :documentation
|
|
17
|
+
config.formatter = :documentation
|
|
19
18
|
end
|
|
20
19
|
|
|
21
20
|
$LOAD_PATH.unshift File.expand_path('lib')
|
|
22
21
|
require 'mini_check'
|
|
23
22
|
|
|
24
23
|
$LOAD_PATH.unshift File.expand_path('spec/support')
|
|
25
|
-
|
|
26
|
-
require 'codeclimate-test-reporter'
|
|
27
|
-
CodeClimate::TestReporter.start
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require_relative '../helper'
|
|
2
2
|
|
|
3
3
|
shared_examples_for 'check' do
|
|
4
|
-
it{
|
|
5
|
-
it{
|
|
6
|
-
it{
|
|
7
|
-
it{
|
|
4
|
+
it{ is_expected.to respond_to(:to_hash) }
|
|
5
|
+
it{ is_expected.to respond_to(:name) }
|
|
6
|
+
it{ is_expected.to respond_to(:healthy?) }
|
|
7
|
+
it{ is_expected.to respond_to(:run) }
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
describe MiniCheck::Check do
|
|
@@ -17,7 +17,7 @@ describe MiniCheck::Check do
|
|
|
17
17
|
|
|
18
18
|
describe 'initialize' do
|
|
19
19
|
it 'allows passing attributes as a hash' do
|
|
20
|
-
check = MiniCheck::Check.new name: name, action: action
|
|
20
|
+
check = MiniCheck::Check.new name: name, action: action
|
|
21
21
|
expect(check.name).to eq(name)
|
|
22
22
|
expect(check.action).to eq(action)
|
|
23
23
|
end
|
|
@@ -32,7 +32,7 @@ describe MiniCheck::Check do
|
|
|
32
32
|
|
|
33
33
|
describe 'run' do
|
|
34
34
|
it 'calls the action' do
|
|
35
|
-
action.
|
|
35
|
+
expect(action).to receive(:call)
|
|
36
36
|
subject.run
|
|
37
37
|
end
|
|
38
38
|
|
|
@@ -92,6 +92,10 @@ describe MiniCheck::Check do
|
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
describe 'to_hash' do
|
|
95
|
+
before do
|
|
96
|
+
allow_any_instance_of(Benchmark::Tms).to receive(:real).and_return(1.0)
|
|
97
|
+
end
|
|
98
|
+
|
|
95
99
|
context 'when the run was successful' do
|
|
96
100
|
before :each do
|
|
97
101
|
allow(action).to receive(:call).and_return(Object.new)
|
|
@@ -99,7 +103,7 @@ describe MiniCheck::Check do
|
|
|
99
103
|
|
|
100
104
|
it 'returns the basic healthy hash' do
|
|
101
105
|
subject.run
|
|
102
|
-
expect(subject.to_hash).to eq(healthy: true)
|
|
106
|
+
expect(subject.to_hash).to eq(healthy: true, time: 1.0)
|
|
103
107
|
end
|
|
104
108
|
end
|
|
105
109
|
|
|
@@ -110,13 +114,13 @@ describe MiniCheck::Check do
|
|
|
110
114
|
|
|
111
115
|
it 'returns the basic healthy hash' do
|
|
112
116
|
subject.run
|
|
113
|
-
expect(subject.to_hash).to eq(healthy: false)
|
|
117
|
+
expect(subject.to_hash).to eq(healthy: false, time: 1.0)
|
|
114
118
|
end
|
|
115
119
|
end
|
|
116
120
|
|
|
117
121
|
context 'when the action raises an exception' do
|
|
118
122
|
before :each do
|
|
119
|
-
exception.
|
|
123
|
+
allow(exception).to receive(:backtrace).and_return ['a']
|
|
120
124
|
allow(action).to receive(:call).and_raise(exception)
|
|
121
125
|
end
|
|
122
126
|
|
|
@@ -124,11 +128,12 @@ describe MiniCheck::Check do
|
|
|
124
128
|
subject.run
|
|
125
129
|
expect(subject.to_hash).to eq(
|
|
126
130
|
{
|
|
127
|
-
:
|
|
128
|
-
:
|
|
129
|
-
:
|
|
130
|
-
:
|
|
131
|
-
}
|
|
131
|
+
healthy: false,
|
|
132
|
+
error: {
|
|
133
|
+
message: exception.message,
|
|
134
|
+
stack: exception.backtrace
|
|
135
|
+
},
|
|
136
|
+
time: 1.0
|
|
132
137
|
}
|
|
133
138
|
)
|
|
134
139
|
end
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require_relative '../helper'
|
|
2
2
|
|
|
3
3
|
shared_examples_for 'checks collection' do
|
|
4
|
-
it{
|
|
5
|
-
it{
|
|
6
|
-
it{
|
|
7
|
-
it{
|
|
4
|
+
it{ is_expected.to respond_to(:to_hash) }
|
|
5
|
+
it{ is_expected.to respond_to(:healthy?) }
|
|
6
|
+
it{ is_expected.to respond_to(:<<) }
|
|
7
|
+
it{ is_expected.to respond_to(:run) }
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
describe MiniCheck::ChecksCollection do
|
|
@@ -18,7 +18,7 @@ describe MiniCheck::ChecksCollection do
|
|
|
18
18
|
@name_counter ||= 0
|
|
19
19
|
stubs[:name] = "name_#{@name_counter += 1}"
|
|
20
20
|
stubs.merge! args
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
double(stubs[:name], stubs)
|
|
23
23
|
end
|
|
24
24
|
|
metadata
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mini_check
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Manuel Morales
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-01-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: json
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '1'
|
|
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
|
-
version: '
|
|
40
|
+
version: '1'
|
|
41
41
|
description: MiniCheck provides a simple Rack application for adding simple health
|
|
42
42
|
checks to your app.
|
|
43
43
|
email:
|
|
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
87
87
|
version: '0'
|
|
88
88
|
requirements: []
|
|
89
89
|
rubyforge_project:
|
|
90
|
-
rubygems_version: 2.
|
|
90
|
+
rubygems_version: 2.4.5.1
|
|
91
91
|
signing_key:
|
|
92
92
|
specification_version: 4
|
|
93
93
|
summary: MiniCheck provides a simple Rack application for adding simple health checks
|
|
@@ -100,4 +100,3 @@ test_files:
|
|
|
100
100
|
- spec/mini_check/version_rack_app_spec.rb
|
|
101
101
|
- spec/mini_check_spec.rb
|
|
102
102
|
- spec/support/build.yml
|
|
103
|
-
has_rdoc:
|