rack-heartbeat 0.6 → 0.7
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.
- data/README.md +16 -2
- data/lib/rack/heartbeat.rb +10 -2
- data/rack-heartbeat.gemspec +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Rack::Heartbeat
|
2
2
|
|
3
|
-
|
3
|
+
A tiny gem that installs a Rack middleware to respond to heartbeat requests. This saves you all the trouble of creating custom controllers, routes, and static files, and prevents your logs from bloating.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,7 +18,16 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
Once the gem is installed, you're done. Just browse to localhost:300/heartbeat to get a text response with "OK".
|
22
|
+
|
23
|
+
If you want to customize the url for any reason, you can configure that, too:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
#config/initilializers/rack_heartbeat.rb
|
27
|
+
Rack::Heartbeat.setup do |config|
|
28
|
+
config.heartbeat_path = 'health-check.txt'
|
29
|
+
end
|
30
|
+
```
|
22
31
|
|
23
32
|
## Contributing
|
24
33
|
|
@@ -27,3 +36,8 @@ TODO: Write usage instructions here
|
|
27
36
|
3. Commit your changes (`git commit -am 'Added some feature'`)
|
28
37
|
4. Push to the branch (`git push origin my-new-feature`)
|
29
38
|
5. Create new Pull Request
|
39
|
+
|
40
|
+
## Contributors
|
41
|
+
|
42
|
+
* [James Cox](https://github.com/imajes)
|
43
|
+
* [Steve Mitchell](http://github.com/theSteveMitchell)
|
data/lib/rack/heartbeat.rb
CHANGED
@@ -1,17 +1,25 @@
|
|
1
1
|
module Rack
|
2
2
|
# A heartbeat mechanism for the server. This will add a _/heartbeat_ endpoint
|
3
3
|
# that returns status 200 and content OK when executed.
|
4
|
+
|
4
5
|
class Heartbeat
|
6
|
+
cattr_accessor :heartbeat_path
|
7
|
+
@@heartbeat_path = 'heartbeat'
|
8
|
+
|
5
9
|
def initialize(app)
|
6
10
|
@app = app
|
7
11
|
end
|
8
12
|
|
9
13
|
def call(env)
|
10
|
-
if env['PATH_INFO'] ==
|
11
|
-
[200, {}, [
|
14
|
+
if env['PATH_INFO'] == "/#{heartbeat_path}"
|
15
|
+
[200, {"Content-Type" => "text/plain"}, ["OK"]]
|
12
16
|
else
|
13
17
|
@app.call(env)
|
14
18
|
end
|
15
19
|
end
|
20
|
+
|
21
|
+
def self.setup
|
22
|
+
yield self
|
23
|
+
end
|
16
24
|
end
|
17
25
|
end
|
data/rack-heartbeat.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-heartbeat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.7'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-06-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
64
|
version: '0'
|
65
65
|
requirements: []
|
66
66
|
rubyforge_project:
|
67
|
-
rubygems_version: 1.8.
|
67
|
+
rubygems_version: 1.8.25
|
68
68
|
signing_key:
|
69
69
|
specification_version: 3
|
70
70
|
summary: provides a simple endpoint for your rails app for a heartbeat client to connect
|