has_heartbeat 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTU0Y2MwYjBjMWQxNTI0YTRjNjMyZDExZGZhNDk1N2FkMmI4OGUzNw==
5
+ data.tar.gz: !binary |-
6
+ OTJhYmViMDE0MzU4ZTMwZGM5MTlkMjM3ZDUzMTZmM2I2MzNlN2ViZg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YjU4NzZhYzRlZGNhNzg3ZmQ5ZDAzMDU0OTA1NTI4ZmY2OWQ1ZWNkZWJlMzQ5
10
+ MmEwODk5MTUwNGRmNGY1Y2Y3NDJiMWYwMzY1ZDhkNGY3MDY4ZjY5YWFhNWNl
11
+ OWJlMTg4YTE2MzIwMGVkYTExZTIzYTdlMGJmZTNjZmVhNDZhMTg=
12
+ data.tar.gz: !binary |-
13
+ Y2ZlMzMxODU2ZmNlOGM3MTBmOTBiZThhZmU2YTA0NjQ0OTc5OWNlZTM3ZmRj
14
+ NDA3OTQ0ZWJiOTExNWY0MjBjZGZkNTE1YzMwZWYzZTZhOWY0ODIyOTAyN2Zm
15
+ Y2E2M2ZiN2FjYmRmZmQ4MzcwMTIwOTNiYWRiYzBkN2FmMjc0MmE=
data/Gemfile CHANGED
@@ -9,15 +9,15 @@ source "http://rubygems.org"
9
9
  gem "rails", ">= 3.1.0"
10
10
 
11
11
  # And requires Airbrake notification for some features:
12
- gem "airbrake", "~> 3.1.4"
12
+ gem "airbrake", "~> 3.1"
13
13
 
14
14
 
15
15
  # Development dependencies:
16
16
  group :development do
17
- gem "bundler", "~> 1.1.0"
18
- gem "jeweler", "~> 1.8.4"
17
+ gem "bundler", "~> 1"
18
+ gem "jeweler", "~> 2.0" # "~> 1.8"
19
19
  gem "rdoc", "~> 3.12"
20
- gem "rspec", ">= 2.11.0"
20
+ gem "rspec", "~> 2.11"
21
21
  # gem "rspec-rails", ">= 2.11.0"
22
22
  # gem "capybara", "~> 1.1.2"
23
23
  # gem "combustion", "~> 0.3.2"
@@ -28,32 +28,64 @@ GEM
28
28
  activesupport (3.2.8)
29
29
  i18n (~> 0.6)
30
30
  multi_json (~> 1.0)
31
+ addressable (2.3.6)
31
32
  airbrake (3.1.4)
32
33
  builder
33
34
  girl_friday
34
35
  arel (3.0.2)
35
36
  builder (3.0.3)
36
37
  connection_pool (0.9.2)
38
+ descendants_tracker (0.0.4)
39
+ thread_safe (~> 0.3, >= 0.3.1)
37
40
  diff-lcs (1.1.3)
38
41
  erubis (2.7.0)
42
+ faraday (0.9.0)
43
+ multipart-post (>= 1.2, < 3)
39
44
  girl_friday (0.10.0)
40
45
  connection_pool (~> 0.9.0)
41
- git (1.2.5)
46
+ git (1.2.6)
47
+ github_api (0.11.3)
48
+ addressable (~> 2.3)
49
+ descendants_tracker (~> 0.0.1)
50
+ faraday (~> 0.8, < 0.10)
51
+ hashie (>= 1.2)
52
+ multi_json (>= 1.7.5, < 2.0)
53
+ nokogiri (~> 1.6.0)
54
+ oauth2
55
+ hashie (2.1.1)
56
+ highline (1.6.21)
42
57
  hike (1.2.1)
43
58
  i18n (0.6.1)
44
- jeweler (1.8.4)
45
- bundler (~> 1.0)
59
+ jeweler (2.0.1)
60
+ builder
61
+ bundler (>= 1.0)
46
62
  git (>= 1.2.5)
63
+ github_api
64
+ highline (>= 1.6.15)
65
+ nokogiri (>= 1.5.10)
47
66
  rake
48
67
  rdoc
49
68
  journey (1.0.4)
50
69
  json (1.7.5)
70
+ jwt (0.1.11)
71
+ multi_json (>= 1.5)
51
72
  mail (2.4.4)
52
73
  i18n (>= 0.4.0)
53
74
  mime-types (~> 1.16)
54
75
  treetop (~> 1.4.8)
55
76
  mime-types (1.19)
56
- multi_json (1.3.6)
77
+ mini_portile (0.5.3)
78
+ multi_json (1.9.2)
79
+ multi_xml (0.5.5)
80
+ multipart-post (2.0.0)
81
+ nokogiri (1.6.1)
82
+ mini_portile (~> 0.5.0)
83
+ oauth2 (0.9.3)
84
+ faraday (>= 0.8, < 0.10)
85
+ jwt (~> 0.1.8)
86
+ multi_json (~> 1.3)
87
+ multi_xml (~> 0.5)
88
+ rack (~> 1.2)
57
89
  polyglot (0.3.3)
58
90
  rack (1.4.1)
59
91
  rack-cache (1.2)
@@ -77,7 +109,7 @@ GEM
77
109
  rake (>= 0.8.7)
78
110
  rdoc (~> 3.4)
79
111
  thor (>= 0.14.6, < 2.0)
80
- rake (0.9.2.2)
112
+ rake (10.3.0)
81
113
  rdoc (3.12)
82
114
  json (~> 1.4)
83
115
  rspec (2.11.0)
@@ -93,6 +125,7 @@ GEM
93
125
  rack (~> 1.0)
94
126
  tilt (~> 1.1, != 1.3.0)
95
127
  thor (0.16.0)
128
+ thread_safe (0.3.3)
96
129
  tilt (1.3.3)
97
130
  treetop (1.4.10)
98
131
  polyglot
@@ -103,9 +136,9 @@ PLATFORMS
103
136
  ruby
104
137
 
105
138
  DEPENDENCIES
106
- airbrake (~> 3.1.4)
107
- bundler (~> 1.1.0)
108
- jeweler (~> 1.8.4)
139
+ airbrake (~> 3.1)
140
+ bundler (~> 1)
141
+ jeweler (~> 2.0)
109
142
  rails (>= 3.1.0)
110
143
  rdoc (~> 3.12)
111
- rspec (>= 2.11.0)
144
+ rspec (~> 2.11)
@@ -1,7 +1,7 @@
1
1
  = HasHeartbeat
2
2
 
3
- Controller with target for heartbeat monitoring with body, HTTP status code, and Airbrake
4
- issue identification.
3
+ Controller with target for heartbeat monitoring with customizable status body text, HTTP
4
+ status codes, and optional integration with Airbrake notifier.
5
5
 
6
6
 
7
7
  == Install
@@ -18,7 +18,7 @@ on the Airbrake notification gem, which will be added to your dependency set.
18
18
  == Usage
19
19
 
20
20
  By adding the HasHeartbeat gem to your project, your project will have a "/heartbeat" endpoint
21
- added to your routes. You can add this URL to your heartbeat/monitring service of choice or
21
+ added to your routes. You can add this URL to your heartbeat/monitoring service of choice or
22
22
  strike it directly to verify that your application is alive and well.
23
23
 
24
24
  The heartbeat action responds with one of two possible responses. In the case of an app's
@@ -26,11 +26,13 @@ successfully beating heart:
26
26
 
27
27
  HTTP Status: 200 OK
28
28
  Response Body: Application Heart Beating OK
29
+ Logger Output: Application Heart Beating OK
29
30
 
30
31
  And the case arising from internal issue or error:
31
32
 
32
33
  HTTP Status: 500 Server Error
33
34
  Response Body: 500 Internet Server Error: Application Heart Palpitations
35
+ Logger Output: 500 Internet Server Error: Application Heart Palpitations
34
36
 
35
37
  Configure your monitoring service to check against status codes and/or response body text to
36
38
  properly triage responses.
@@ -39,25 +41,43 @@ properly triage responses.
39
41
  == Options
40
42
 
41
43
  By default, HasHeartbeat simply responds with success or failure and can be used for up/down
42
- verification.
44
+ verification. You can customize its behavior as follows:
43
45
 
44
46
  === Check Database Up/Down
45
47
 
46
- You can ask the heartbeat action to also check against a model of your database to ensure that
47
- your database is up and running by adding the following to a file in your config/initializers:
48
+ You can ask the heartbeat to also check that your application is connected to your database.
49
+ To do so, configure like so:
48
50
 
51
+ # config/initializers/heartbeat.rb
49
52
  HasHeartbeat.configure do |config|
50
- config.check_model = User
53
+ config.check_db!
51
54
  end
52
55
 
53
- Specify any of your ActiveRecord models (in place of User) and the heartbeat will attempt to
54
- load the first row from the corresponding table when it is struck.
56
+ HasHeartbeat will check against the database by default. You can turn this off, if you really
57
+ don't need it:
55
58
 
56
- === External Notifications
59
+ config.check_db!(false)
57
60
 
58
- Further, if you'd like HasHeartbeat to notify an external service when your application is down
59
- or experiencing an error, you can ask it to piggy-back off an existing Airbrake configuration
60
- you are using. To do so, add the following to a config/initializer:
61
+
62
+ === Custom Responses
63
+
64
+ By default, the heartbeat action will render text responses with the HTTP service codes as
65
+ described above. You may wish to customize the success or failure messages or the failure
66
+ status code. To do so, get back into your initializer:
67
+
68
+ # config/initializers/heartbeat.rb
69
+ HasHeartbeat.configure do |config|
70
+ config.ok_text = "This is my OK output"
71
+ config.fail_text = "This response text is output on DB connect issues"
72
+ config.fail_status = 404 # Change from 500 to something more specific
73
+ end
74
+
75
+
76
+ === External Notifications
77
+
78
+ Further, if you'd like HasHeartbeat to notify an external service when your application is
79
+ experiencing a database connection error, you can ask it to piggy-back off an existing Airbrake
80
+ configuration you are using. To do so, add the following to a config/initializer:
61
81
 
62
82
  HasHeartbeat.configure do |config|
63
83
  config.use_airbrake!
@@ -78,7 +98,7 @@ If you don't wish to use Airbrake, simply leave out the call to +use_airbrake!+
78
98
 
79
99
  == Copyright
80
100
 
81
- Copyright 2012 Awexome Labs, LLC
101
+ Copyright 2014 Awexome Labs, LLC
82
102
  http://awexomelabs.com
83
103
  http://facebook.com/AwexomeLabs
84
104
  http://twitter.com/awexomelabs
@@ -1,10 +1,39 @@
1
1
  = HasHeartbeat Road Map
2
2
 
3
+ == v0.2
4
+
5
+ Released April 2014.
6
+
7
+ * IMPROVEMENT: Check status of database connection instead of querying model table with
8
+ new configuration check_db!
9
+ * DEPRECATED: check_model accessors deprecated. Setting a model to query/check against
10
+ now results in check_db! being set to true. Model name is ignored.
11
+ * CHANGE: Route changed to GET "heartbeat#beat" and named "heartbeat"
12
+ * NEW: Customizable success text output to both logs and browser
13
+ * NEW: Customizable fail text for database check failure to both logs and browser
14
+ * NEW: Customizable fail HTTP status code for database check failure
15
+
16
+ Removed configuration methods:
17
+
18
+ * check_model=, check_model
19
+
20
+ Added configuration methods:
21
+
22
+ * check_db!
23
+ * ok_text
24
+ * fail_text
25
+ * fail_status
26
+
3
27
 
4
28
  == v0.1
5
29
 
6
- Expected release October 2012.
30
+ Released October 2012.
31
+
32
+ * Adds heartbeat/index path to Rails project routes
33
+ * Returns 200 OK with text response with heartbeat
34
+ * Returns 500 Error with text response without heartbeat
35
+ * Accepts name of project model to query against to test database connection
36
+ * Piggybacks off existing app Airbrake notifier configuration if desired
7
37
 
8
- Initial features planned, pulled from previous Awexome Labs client
9
- project components.
38
+ Initial features planned, pulled from previous Awexome Labs client project components.
10
39
 
data/Rakefile CHANGED
@@ -17,8 +17,8 @@ Jeweler::Tasks.new do |gem|
17
17
  gem.name = "has_heartbeat"
18
18
  gem.homepage = "http://github.com/awexome/has_heartbeat"
19
19
  gem.license = "MIT"
20
- gem.summary = %Q{Simple heartbeat monitoring target for Rails with body, HTTP status code, and Airbrake issue identification.}
21
- gem.description = %Q{Simple heartbeat monitoring target for Rails with body, HTTP status code, and Airbrake issue identification.}
20
+ gem.summary = %Q{Application heartbeat monitor for Rails}
21
+ gem.description = %Q{Simple heartbeat monitoring target for Rails apps with database connection testing, customizable output, HTTP status code, and Airbrake notification.}
22
22
  gem.email = "engineering@awexomelabs.com"
23
23
  gem.authors = ["Awexome Labs"]
24
24
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
@@ -6,20 +6,20 @@
6
6
 
7
7
  class HeartbeatController < ActionController::Base
8
8
 
9
- def index
9
+ def beat
10
10
  begin
11
- if HasHeartbeat.configuration.check_model?
12
- Rails.logger.info "Heartbeat checking database against model #{HasHeartbeat.configuration.check_model.to_s}"
13
- HasHeartbeat.configuration.check_model.send(:first)
11
+ if HasHeartbeat.configuration.check_db?
12
+ Rails.logger.info "HasHeartbeat checking database connection is active."
13
+ raise Exception.new("HasHeartbeat: Database not connected.") unless ActiveRecord::Base.connected?
14
14
  else
15
- Rails.logger.info "Heartbeat not checking against database"
15
+ Rails.logger.debug "HasHeartbeat not checking database connection."
16
16
  end
17
- Rails.logger.info "Application Heart Beating OK"
18
- render :text => "Application Heart Beating OK"
17
+ Rails.logger.info HasHeartbeat.configuration.ok_text
18
+ render text: HasHeartbeat.configuration.ok_text
19
+
19
20
  rescue Exception => e
20
- Rails.logger.error "Heartbeat Error: #{e.message}"
21
21
  if HasHeartbeat.configuration.use_airbrake?
22
- Rails.logger.error "Heartbeat notifying Airbrake endpoint."
22
+ Rails.logger.error "Heartbeat notifying Airbrake endpoint, if configured."
23
23
  ::Airbrake.notify(
24
24
  :error_class => "Heartbeat Failure",
25
25
  :error_message => "Heartbeat Failure: #{e.message}",
@@ -28,8 +28,10 @@ class HeartbeatController < ActionController::Base
28
28
  else
29
29
  Rails.logger.error "Heartbeat not notifying Airbrake endpoint."
30
30
  end
31
- render :text => "500 Internet Server Error: Application Heart Palpitations", :status => 500
31
+
32
+ render text: HasHeartbeat.configuration.fail_text, status: HasHeartbeat.configuration.fail_status
32
33
  end
34
+
33
35
  end
34
36
 
35
37
  end
@@ -1,6 +1,6 @@
1
1
  # AWEXOME LABS
2
2
  # HasHeartbeat - Routing the check for heartbeat
3
3
 
4
- Rails.application.routes.draw do
5
- get "heartbeat"=>"heartbeat#index"
4
+ Rails.application.routes.draw do
5
+ get "heartbeat" => "heartbeat#beat", as:"heartbeat"
6
6
  end
@@ -2,15 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: has_heartbeat 0.2.0 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "has_heartbeat"
8
- s.version = "0.1.1"
9
+ s.version = "0.2.0"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Awexome Labs"]
12
- s.date = "2012-10-18"
13
- s.description = "Simple heartbeat monitoring target for Rails with body, HTTP status code, and Airbrake issue identification."
14
+ s.date = "2014-04-17"
15
+ s.description = "Simple heartbeat monitoring target for Rails apps with database connection testing, customizable output, HTTP status code, and Airbrake notification."
14
16
  s.email = "engineering@awexomelabs.com"
15
17
  s.extra_rdoc_files = [
16
18
  "README.rdoc"
@@ -31,35 +33,34 @@ Gem::Specification.new do |s|
31
33
  ]
32
34
  s.homepage = "http://github.com/awexome/has_heartbeat"
33
35
  s.licenses = ["MIT"]
34
- s.require_paths = ["lib"]
35
- s.rubygems_version = "1.8.17"
36
- s.summary = "Simple heartbeat monitoring target for Rails with body, HTTP status code, and Airbrake issue identification."
36
+ s.rubygems_version = "2.2.2"
37
+ s.summary = "Application heartbeat monitor for Rails"
37
38
 
38
39
  if s.respond_to? :specification_version then
39
- s.specification_version = 3
40
+ s.specification_version = 4
40
41
 
41
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
43
  s.add_runtime_dependency(%q<rails>, [">= 3.1.0"])
43
- s.add_runtime_dependency(%q<airbrake>, ["~> 3.1.4"])
44
- s.add_development_dependency(%q<bundler>, ["~> 1.1.0"])
45
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
44
+ s.add_runtime_dependency(%q<airbrake>, ["~> 3.1"])
45
+ s.add_development_dependency(%q<bundler>, ["~> 1"])
46
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
46
47
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
47
- s.add_development_dependency(%q<rspec>, [">= 2.11.0"])
48
+ s.add_development_dependency(%q<rspec>, ["~> 2.11"])
48
49
  else
49
50
  s.add_dependency(%q<rails>, [">= 3.1.0"])
50
- s.add_dependency(%q<airbrake>, ["~> 3.1.4"])
51
- s.add_dependency(%q<bundler>, ["~> 1.1.0"])
52
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
51
+ s.add_dependency(%q<airbrake>, ["~> 3.1"])
52
+ s.add_dependency(%q<bundler>, ["~> 1"])
53
+ s.add_dependency(%q<jeweler>, ["~> 1.8"])
53
54
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
54
- s.add_dependency(%q<rspec>, [">= 2.11.0"])
55
+ s.add_dependency(%q<rspec>, ["~> 2.11"])
55
56
  end
56
57
  else
57
58
  s.add_dependency(%q<rails>, [">= 3.1.0"])
58
- s.add_dependency(%q<airbrake>, ["~> 3.1.4"])
59
- s.add_dependency(%q<bundler>, ["~> 1.1.0"])
60
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
59
+ s.add_dependency(%q<airbrake>, ["~> 3.1"])
60
+ s.add_dependency(%q<bundler>, ["~> 1"])
61
+ s.add_dependency(%q<jeweler>, ["~> 1.8"])
61
62
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
62
- s.add_dependency(%q<rspec>, [">= 2.11.0"])
63
+ s.add_dependency(%q<rspec>, ["~> 2.11"])
63
64
  end
64
65
  end
65
66
 
@@ -6,17 +6,38 @@ module HasHeartbeat
6
6
  class Configuration
7
7
 
8
8
  # Configurable options:
9
- attr_accessor :check_model, :use_airbrake
9
+ attr_accessor :check_db, :ok_text, :fail_text, :fail_status, :use_airbrake
10
10
 
11
11
  # Declare defaults on load:
12
12
  def initialize
13
- @check_model = nil
14
- @use_airbrake = false
13
+ @check_db = true # Can be turned off with check_db!
14
+ @use_airbrake = false # Can be turned on with use_airbrake!
15
+
16
+ # Default status texts:
17
+ @ok_text = "Application Heart Beating OK"
18
+ @fail_text = "500 Internet Server Error: Application Heart Palpitations"
19
+ @fail_status = 500
20
+ end
21
+
22
+ # Set heartbeat to check that database is connected:
23
+ def check_db!(on=true)
24
+ @check_db = on
15
25
  end
16
26
 
17
- # Does the heartbeat check a database model?
18
- def check_model?
19
- !check_model.nil?
27
+ # Does this heartbeat check the database connection?
28
+ def check_db?
29
+ @check_db == true
30
+ end
31
+
32
+ # Deprecated check_model configuration sets check_db for now:
33
+ def check_model=(klass)
34
+ ActiveSupport::Deprecation.warn("HasHeartbeat: check_model method is no longer supported and will be removed in the next version. Use check_db! instead.")
35
+ @check_model = klass
36
+ check_db!(true)
37
+ end
38
+ def check_model
39
+ ActiveSupport::Deprecation.warn("HasHeartbeat: check_model method is no longer supported and will be removed in the next version. Use check_db! instead.")
40
+ @check_model
20
41
  end
21
42
 
22
43
  # Set the configuration to use Airbrake notifier:
metadata CHANGED
@@ -1,84 +1,101 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_heartbeat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Awexome Labs
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-10-18 00:00:00.000000000Z
11
+ date: 2014-04-17 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
16
- requirement: &2163367380 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 3.1.0
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *2163367380
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 3.1.0
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: airbrake
27
- requirement: &2163366680 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ~>
31
32
  - !ruby/object:Gem::Version
32
- version: 3.1.4
33
+ version: '3.1'
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *2163366680
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '3.1'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: bundler
38
- requirement: &2163365520 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ~>
42
46
  - !ruby/object:Gem::Version
43
- version: 1.1.0
47
+ version: '1'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *2163365520
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: jeweler
49
- requirement: &2163364880 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
54
- version: 1.8.4
61
+ version: '2.0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *2163364880
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: rdoc
60
- requirement: &2163364240 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
73
  - - ~>
64
74
  - !ruby/object:Gem::Version
65
75
  version: '3.12'
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *2163364240
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '3.12'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec
71
- requirement: &2163363640 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
- - - ! '>='
87
+ - - ~>
75
88
  - !ruby/object:Gem::Version
76
- version: 2.11.0
89
+ version: '2.11'
77
90
  type: :development
78
91
  prerelease: false
79
- version_requirements: *2163363640
80
- description: Simple heartbeat monitoring target for Rails with body, HTTP status code,
81
- and Airbrake issue identification.
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '2.11'
97
+ description: Simple heartbeat monitoring target for Rails apps with database connection
98
+ testing, customizable output, HTTP status code, and Airbrake notification.
82
99
  email: engineering@awexomelabs.com
83
100
  executables: []
84
101
  extensions: []
@@ -100,30 +117,25 @@ files:
100
117
  homepage: http://github.com/awexome/has_heartbeat
101
118
  licenses:
102
119
  - MIT
120
+ metadata: {}
103
121
  post_install_message:
104
122
  rdoc_options: []
105
123
  require_paths:
106
124
  - lib
107
125
  required_ruby_version: !ruby/object:Gem::Requirement
108
- none: false
109
126
  requirements:
110
127
  - - ! '>='
111
128
  - !ruby/object:Gem::Version
112
129
  version: '0'
113
- segments:
114
- - 0
115
- hash: -4172046866987938193
116
130
  required_rubygems_version: !ruby/object:Gem::Requirement
117
- none: false
118
131
  requirements:
119
132
  - - ! '>='
120
133
  - !ruby/object:Gem::Version
121
134
  version: '0'
122
135
  requirements: []
123
136
  rubyforge_project:
124
- rubygems_version: 1.8.17
137
+ rubygems_version: 2.2.2
125
138
  signing_key:
126
- specification_version: 3
127
- summary: Simple heartbeat monitoring target for Rails with body, HTTP status code,
128
- and Airbrake issue identification.
139
+ specification_version: 4
140
+ summary: Application heartbeat monitor for Rails
129
141
  test_files: []