heartcheck 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e39de52c0e3369ba3f24cacb17f7e94bb3c9b7db
4
- data.tar.gz: dbbcb953fee4a354df8076ae6793e18f9c0f0ca0
3
+ metadata.gz: 9a438aab551507bb1d4e8ec150534d5555ee6de5
4
+ data.tar.gz: 50536531483c713aa998d859ddeba43fe3723a2e
5
5
  SHA512:
6
- metadata.gz: 9e1d759f37c904a90a1504925af260c5360ab24353fe643633b66fa0ef1bccf4b2d0dd52283f1dd6d655b983a2ee30515ce38c48deed615a1457adccb00b267b
7
- data.tar.gz: eecbb54ce967716e78ee7912ba96e90616ea1960641809cbe39a7afc65184b148dade6564d7179f106bfe5d68630a4f8d6bcc391da3185599d6f4bf72c6de93b
6
+ metadata.gz: 6f7a5808ea6b8f8de2eafa651e07daf4dfdaa4f8b1c2192a37893b1c1c087f3ae238235079493c3f0fdbee1e572b234cf058ed962e7473acb503861f0cb7a4aa
7
+ data.tar.gz: 430f2303f3c4386d32ef5aed5c6f77a82bd977b462b2daf19ab31f4151d686c4a9c99a8ff1f598beb0726e49da8e92d8d197f6c9dcd73e8add39c2ca797846c8
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .DS_Store
5
+ .rbenv-gemsets
6
+ .ruby-gemset
7
+ .ruby-version
8
+ .rvmrc
9
+ .yardoc
10
+ doc
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --require spec_helper
2
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,14 @@
1
+ Documentation:
2
+ Enabled: false
3
+
4
+ Style/MultilineOperationIndentation:
5
+ Enabled: false
6
+
7
+ Style/Encoding:
8
+ Enabled: false
9
+
10
+ AllCops:
11
+ # Include gemspec and Rakefile
12
+ Include:
13
+ - '**/*.gemspec'
14
+ - '**/Rakefile'
data/.travis.yml ADDED
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.3"
4
+ - "2.0.0"
5
+ - "2.1.0"
6
+ - "2.1.5"
7
+ - "2.2.1"
8
+ - "2.2.2"
9
+ install: bundle install -j 4 --retry 3
10
+ script:
11
+ - bin/rspec
data/CHANGELOG ADDED
@@ -0,0 +1,6 @@
1
+ = Heart Check - Changelog
2
+
3
+ == Version 1.0.0 :: 2015-02-02
4
+
5
+ * Inital release.
6
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in heartcheck.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,64 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ heartcheck (1.0.5)
5
+ oj
6
+ rack (~> 1, >= 1.4.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ast (2.0.0)
12
+ astrolabe (1.3.1)
13
+ parser (~> 2.2)
14
+ coderay (1.1.0)
15
+ diff-lcs (1.2.5)
16
+ method_source (0.8.2)
17
+ oj (2.12.10)
18
+ parser (2.2.2.6)
19
+ ast (>= 1.1, < 3.0)
20
+ powerpack (0.0.9)
21
+ pry (0.10.1)
22
+ coderay (~> 1.1.0)
23
+ method_source (~> 0.8.1)
24
+ slop (~> 3.4)
25
+ pry-nav (0.2.4)
26
+ pry (>= 0.9.10, < 0.11.0)
27
+ rack (1.6.4)
28
+ rack-test (0.6.3)
29
+ rack (>= 1.0)
30
+ rainbow (2.0.0)
31
+ rspec (3.1.0)
32
+ rspec-core (~> 3.1.0)
33
+ rspec-expectations (~> 3.1.0)
34
+ rspec-mocks (~> 3.1.0)
35
+ rspec-core (3.1.7)
36
+ rspec-support (~> 3.1.0)
37
+ rspec-expectations (3.1.2)
38
+ diff-lcs (>= 1.2.0, < 2.0)
39
+ rspec-support (~> 3.1.0)
40
+ rspec-mocks (3.1.3)
41
+ rspec-support (~> 3.1.0)
42
+ rspec-support (3.1.2)
43
+ rubocop (0.27.1)
44
+ astrolabe (~> 1.3)
45
+ parser (>= 2.2.0.pre.7, < 3.0)
46
+ powerpack (~> 0.0.6)
47
+ rainbow (>= 1.99.1, < 3.0)
48
+ ruby-progressbar (~> 1.4)
49
+ ruby-progressbar (1.7.5)
50
+ slop (3.6.0)
51
+ thor (0.19.1)
52
+ yard (0.8.7.6)
53
+
54
+ PLATFORMS
55
+ ruby
56
+
57
+ DEPENDENCIES
58
+ heartcheck!
59
+ pry-nav (~> 0.2.0, >= 0.2.4)
60
+ rack-test (~> 0.6.0, >= 0.6.3)
61
+ rspec (~> 3.1.0, >= 3.1.0)
62
+ rubocop (~> 0.27.0, >= 0.27.1)
63
+ thor (~> 0.19.0, >= 0.19.1)
64
+ yard (~> 0.8.0, >= 0.8.7.6)
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2015 Locaweb
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,73 @@
1
+ Heartcheck
2
+ ==============
3
+
4
+ [![Build Status](https://travis-ci.org/locaweb/heartcheck.svg)](https://travis-ci.org/locaweb/heartcheck)
5
+
6
+ Check your applications' heart.
7
+
8
+ About
9
+ -----
10
+
11
+ ### Endpoint JSON documentation:
12
+
13
+ https://github.com/locaweb/heartcheck/wiki/Endpoint-Json
14
+
15
+ ## How to setup
16
+
17
+ 1. Include the gem in your Gemfile:
18
+
19
+ ```
20
+ gem 'heartcheck'
21
+ ```
22
+
23
+ 2. Install the gem:
24
+
25
+ ```
26
+ bundle install
27
+ ```
28
+
29
+ 3. Generate some required files according to the framework you are using:
30
+
31
+ ```
32
+ heartcheck rails
33
+ heartcheck padrino
34
+ heartcheck sinatra
35
+ ```
36
+
37
+ 4. After that, follow the instructions, edit the generated files and restart your server.
38
+
39
+ 5. Done! Now you are able to access `[host]/monitoring` and check the monitoring JSON!
40
+
41
+ ## Routes
42
+ * `[host]/monitoring`
43
+ * To check if the app and its integrations are avaiable;
44
+ * Directed for verifying the app SLA;
45
+ * `[host]/monitoring/info`
46
+ * To view some informations that you can configure;
47
+ * Directed for availability check from load balanced and get info about the installed app;
48
+ * `[host]/monitoring/functional`
49
+ * To check if the app is healty (no async job failed and other checks that aren't related to app availability);
50
+ * Directed for verifying consistency problems within the app;
51
+ * `[host]/monitoring/dev`
52
+ * Directed for the development team;
53
+ * It's run the essential and functional checks;
54
+ * `[host]/monitoring/health_check`
55
+ * To check if the app is up and running
56
+
57
+ ## How to use
58
+
59
+ You can see how to use in template that is generated when install:
60
+ https://github.com/locaweb/heartcheck/blob/master/lib/heartcheck/generators/templates/config.rb
61
+
62
+ ## Git tags
63
+
64
+ Don't forget to tag your work! After a merge request being accepted, run:
65
+
66
+ 1 - (git tag -a "x.x.x" -m "") to create the new tag.
67
+ 2 - (git push origin "x.x.x") to push the new tag to remote.
68
+
69
+ Follow the RubyGems conventions at http://docs.rubygems.org/read/chapter/7 to know how to increment the version number. Covered in more detail in http://semver.org/
70
+
71
+ ## Merge requests acceptance
72
+
73
+ Don't forget to write tests to all your code. It's very important to maintain the codebase's sanity. Any merge request that doesn't have enough test coverage will be asked a revision
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
data/bin/console ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pathname'
4
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
5
+ Pathname.new(__FILE__).realpath)
6
+
7
+ require 'rubygems'
8
+ require 'bundler/setup'
9
+ require 'lib/heartcheck'
10
+
11
+ require "pry"
12
+ Pry.start
data/bin/rspec ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'rspec' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('rspec-core', 'rspec')
File without changes
@@ -0,0 +1,30 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'heartcheck/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'heartcheck'
7
+ spec.version = Heartcheck::VERSION
8
+ spec.authors = ['Locaweb']
9
+ spec.email = ['desenvolvedores@locaweb.com.br']
10
+ spec.homepage = 'http://developer.locaweb.com.br'
11
+ spec.summary = 'A simple way to check if your app is runnig like as expected.'
12
+ spec.description = 'A simple way to check your app heart.'
13
+ spec.license = 'MIT'
14
+
15
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
+ spec.bindir = "exe"
17
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_runtime_dependency 'rack', '~> 1', '>= 1.4.0'
21
+ spec.add_runtime_dependency 'oj'
22
+
23
+ spec.add_development_dependency 'pry-nav', '~> 0.2.0', '>= 0.2.4'
24
+ spec.add_development_dependency 'rspec', '~> 3.1.0', '>= 3.1.0'
25
+ spec.add_development_dependency 'rubocop', '~> 0.27.0', '>= 0.27.1'
26
+ spec.add_development_dependency 'thor', '~> 0.19.0', '>= 0.19.1'
27
+ spec.add_development_dependency 'rack-test', '~> 0.6.0', '>= 0.6.3'
28
+ # for documentation
29
+ spec.add_development_dependency 'yard', '~> 0.8.0', '>= 0.8.7.6'
30
+ end
data/lib/heartcheck.rb CHANGED
@@ -2,6 +2,7 @@ module Heartcheck
2
2
  require 'logger'
3
3
  require 'heartcheck/app'
4
4
  require 'heartcheck/checks'
5
+ require 'heartcheck/executors'
5
6
  require 'heartcheck/errors'
6
7
  require 'heartcheck/services'
7
8
  require 'heartcheck/logger'
@@ -11,6 +12,7 @@ module Heartcheck
11
12
  class << self
12
13
  # @attr [Array<Checks>] the checks to use when checking
13
14
  attr_accessor :checks
15
+
14
16
  # @attr_writer [Object] change the default logger
15
17
  attr_writer :logger
16
18
 
@@ -26,10 +28,12 @@ module Heartcheck
26
28
  # Is used to configure.
27
29
  #
28
30
  # @yield A bock that recieve the class
31
+ #
29
32
  # @example
30
33
  # Heartcheck.setup do |c|
31
34
  # puts c
32
35
  # end
36
+ #
33
37
  # @return [void]
34
38
  def setup
35
39
  yield(self)
@@ -42,10 +46,12 @@ module Heartcheck
42
46
  # @param [Hash] options the options to create an instance of a check.
43
47
  # @option options [String] :class The class name to get an instance
44
48
  # @yield a block to config the instance
49
+ #
45
50
  # @example
46
51
  # Heartcheck.add(:base) do |c|
47
52
  # c.name = 'Base check'
48
53
  # end
54
+ #
49
55
  # @return [void]
50
56
  def add(name, options = {}, &block)
51
57
  class_name = options.fetch(:class) { constantize(name) }
@@ -100,9 +106,11 @@ module Heartcheck
100
106
 
101
107
  # helper method to get a constant
102
108
  #
109
+ # @param [String] name of class
110
+ #
103
111
  # @example
104
112
  # contantize('my_check') => 'MyCheck'
105
- # @param [String] name of class
113
+ #
106
114
  # @return [String]
107
115
  def constantize(name)
108
116
  name.to_s.split('_').map(&:capitalize).join
@@ -23,6 +23,7 @@ module Heartcheck
23
23
  #
24
24
  # @param app [RackApp] is a rack app where
25
25
  # heartcheck is included.
26
+ #
26
27
  # @return [void]
27
28
  def initialize(app = nil)
28
29
  @app = app
@@ -32,6 +33,7 @@ module Heartcheck
32
33
  #
33
34
  # @param env [Hash] is an instance of Hash
34
35
  # that includes CGI-like headers.
36
+ #
35
37
  # @return [Array] must be an array that contains
36
38
  # - The HTTP response code
37
39
  # - A Hash of headers
@@ -50,6 +52,7 @@ module Heartcheck
50
52
  # and call the index method
51
53
  #
52
54
  # @param req [Rack::Request] an instance of request
55
+ #
53
56
  # @return [String] a response body
54
57
  def dispatch_action(req)
55
58
  controller = ROUTE_TO_CONTROLLER[req.path_info]
@@ -1,12 +1,39 @@
1
1
  module Heartcheck
2
2
  module Checks
3
+ # Base check that contains the common functionality for chechs
3
4
  class Base
4
- attr_accessor :functional, :dev, :name, :timeout
5
-
5
+ # When it is true the check will work just for `/functional` route.
6
+ # It should be used to add warning messages that need to verify,
7
+ # but doesn't break your application.
8
+ # For example when your async process has more than 3 jobs.
9
+ #
10
+ # @return [Boolean] (default: false)
11
+ attr_accessor :functional
6
12
  alias_method :functional?, :functional
13
+
14
+ # When it is true the check will work just for `/dev` route.
15
+ # you can use it to create some check is not essential/functional for you app.
16
+ # For example you can execute some performance check.
17
+ #
18
+ # @return [Boolean] (default: false)
19
+ attr_accessor :dev
7
20
  alias_method :dev?, :dev
8
21
 
9
- # call in Heartcheck.set
22
+ # The name for identify the check in the result page
23
+ #
24
+ # @return [String]
25
+ attr_accessor :name
26
+
27
+ # Time that the check has to execute.
28
+ # If it is 0 the timeout will be disable
29
+ #
30
+ # @return [Integer] (default: 0)
31
+ attr_accessor :timeout
32
+
33
+
34
+ # Create a new instance and set the default values.
35
+ #
36
+ # @return [Check]
10
37
  def initialize
11
38
  @dynamic_services = nil
12
39
  @error_proc = nil
@@ -19,22 +46,61 @@ module Heartcheck
19
46
  @validate_proc = nil
20
47
  end
21
48
 
49
+ # Seter to add a proc to execute when some check fail.
50
+ #
51
+ # @return [void]
22
52
  def on_error(&block)
23
53
  @error_proc = block if block_given?
24
54
  end
25
55
 
56
+ # Seter to add a proc to execute to check.
57
+ #
58
+ # @yieldparam services [Array<Hash>] services to check
59
+ # @yieldparam errors [Array<String>] to add error message when check fails
60
+ #
61
+ # @example
62
+ # c.to_validate do |services, errors|
63
+ # services.each do |service|
64
+ # errors << "erro message" unless if service[:connection].connected?
65
+ # end
66
+ # end
67
+ #
68
+ # @return [void]
26
69
  def to_validate(&block)
27
70
  @validate_proc = block if block_given?
28
71
  end
29
72
 
73
+ # It is used to register dynamic services thats need to be evaluate when the checker is running.
74
+ # This proc need to return an Array.
75
+ #
76
+ # @example
77
+ # register_dynamic_services do
78
+ # [
79
+ # { name: 'service name', connection: MyConnection }
80
+ # ]
81
+ # end
82
+ #
83
+ # @return [void]
30
84
  def register_dynamic_services(&block)
31
85
  @dynamic_services = block if block_given?
32
86
  end
33
87
 
88
+ # It is used to add a service that will use when check run.
89
+ #
90
+ # @param service [Hash]
91
+ #
92
+ # @example
93
+ # add_service(name: 'service name', connection: MyConnection)
94
+ #
95
+ # @return [void]
34
96
  def add_service(service)
35
97
  @services << service
36
98
  end
37
99
 
100
+
101
+ # It is used to add a service that will use when check run.
102
+ #
103
+ # @return [Array<Hash>]
38
104
  def services
39
105
  if @dynamic_services
40
106
  @services + @dynamic_services.call
@@ -43,13 +109,14 @@ module Heartcheck
43
109
  end
44
110
  end
45
111
 
112
+ # run the check and return formated erros
113
+ #
114
+ # @return [Hash]
46
115
  def check
47
116
  validation
48
- hash = { name => { 'status' => (@errors.empty? ? 'ok' : 'error') } }
49
- hash[name]['message'] = error_message unless @errors.empty?
50
-
51
- Logger.info Oj.dump(hash)
52
- hash
117
+ { name => { 'status' => (@errors.empty? ? 'ok' : 'error') } }.tap do |response|
118
+ response[name]['message'] = error_message unless @errors.empty?
119
+ end
53
120
  end
54
121
 
55
122
  def informations
@@ -60,6 +127,9 @@ module Heartcheck
60
127
 
61
128
  private
62
129
 
130
+ # Used to add an error to @erros.
131
+ #
132
+ # @return [void]
63
133
  def append_error(*args)
64
134
  if @error_proc
65
135
  @error_proc.call(@errors, *args)
@@ -68,6 +138,9 @@ module Heartcheck
68
138
  end
69
139
  end
70
140
 
141
+ # run the check
142
+ #
143
+ # @return [Array<String>]
71
144
  def validation
72
145
  @errors = []
73
146
  begin
@@ -86,16 +159,30 @@ module Heartcheck
86
159
  @errors
87
160
  end
88
161
 
162
+ # Get formated error messages for each service after run the check
163
+ #
164
+ # @example
165
+ # @erros = ['some string']
166
+ # error_message
167
+ # # => [{type: 'error', message: 'some string'}]
168
+ #
169
+ # @return [Array<Hash>]
89
170
  def error_message
90
171
  @errors.map(&format_error)
91
172
  end
92
173
 
174
+ # format the an error message with a format the check need.
175
+ #
176
+ # @example
177
+ # "some string".format_error
178
+ # # => {type: 'error', message: 'some string'}
179
+ #
180
+ # @return [Hash]
93
181
  def format_error
94
182
  lambda do |error|
95
183
  error.is_a?(Hash) ? error : { type: 'error', message: error }
96
184
  end
97
185
  end
98
-
99
186
  end
100
187
  end
101
188
  end
@@ -10,7 +10,7 @@ module Heartcheck
10
10
  def validate
11
11
  services.each do |service|
12
12
  if not service[:runtime].eql? installed(service[:file])
13
- @errors << "App outdated, check info for the diff"
13
+ @errors << "App outdated, check /monitoring/info for more details!"
14
14
  end
15
15
  end
16
16
  end
@@ -13,9 +13,13 @@ module Heartcheck
13
13
  protected
14
14
 
15
15
  def check(who)
16
- Oj.dump(Heartcheck
17
- .send("#{who}_checks")
18
- .map(&:check))
16
+ Oj.dump(executor.dispatch(Heartcheck.send("#{who}_checks")))
17
+ end
18
+
19
+ private
20
+
21
+ def executor
22
+ Heartcheck::Executors::Base.new
19
23
  end
20
24
  end
21
25
  end
@@ -0,0 +1 @@
1
+ require 'heartcheck/executors/base'
@@ -0,0 +1,15 @@
1
+ module Heartcheck
2
+ module Executors
3
+ class Base
4
+ def dispatch(checkers)
5
+ checkers.map do |checker|
6
+ started = Time.now
7
+ checker.check.tap do |checked|
8
+ checked[:time] = ((Time.now - started) * 1_000.0)
9
+ Logger.info Oj.dump(checked)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -3,10 +3,10 @@ Heartcheck.setup do |monitor|
3
3
  # default value: Logger.new(STDOUT)
4
4
  # monitor.logger = Rails.logger
5
5
 
6
- # Services
7
- # For each service you can set the folling options
6
+ # Checks
7
+ # For each check you can set the folling options
8
8
  # name: String => root name to show in report page (default: class.name)
9
- # functional: Boolean => options to set if this service is optional (default: false)
9
+ # functional: Boolean => When is false your check is essential to your application (default: false)
10
10
  # on_error: Block => to customize the errors (default: nil)
11
11
  # to_validate: Block => to validate the sevices (default: nil)
12
12
  #
@@ -27,6 +27,30 @@ Heartcheck.setup do |monitor|
27
27
  # end
28
28
  # end
29
29
  # end
30
+ #
31
+ # Services
32
+ # All check can receive a service to check.
33
+ # For example you can add 2 diferent hosts to check the firewall in the same checker.
34
+ #
35
+ # monitor.add :firewall do |c|
36
+ # c.add_service(host: 'lala.com', port: 80)
37
+ # c.add_service(host: 'popo.com', port: 80)
38
+ # end
39
+ #
40
+ # Take atention because we evaluate the services when ruby load the configuration file.
41
+ # But there's a way to send a service that will evaluate when the test will run. To use with thats way
42
+ # you need to register a service with `register_dynamic_services`.
43
+ # http://www.rubydoc.info/github/locaweb/heartcheck/Heartcheck/Checks/Base#register_dynamic_services-instance_method
44
+ #
45
+ # monitor.add :firewall do |c|
46
+ # c.register_dynamic_services do
47
+ # [
48
+ # { host: 'lala.com', port: 80 },
49
+ # { host: 'popo.com', port: 80 }
50
+ # ]
51
+ # end
52
+ # end
53
+
30
54
 
31
55
  # Firewall
32
56
  # check with telnet if the firewall is open to conect to the service
@@ -4,6 +4,7 @@ module Heartcheck
4
4
  # log message with debug level
5
5
  #
6
6
  # @param message [String] message to log
7
+ #
7
8
  # @return [void]
8
9
  def self.debug(message)
9
10
  logger(:debug, message)
@@ -1,3 +1,3 @@
1
1
  module Heartcheck
2
- VERSION = '1.0.5'
2
+ VERSION = '1.0.6'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heartcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Locaweb
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-22 00:00:00.000000000 Z
11
+ date: 2015-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -153,7 +153,7 @@ dependencies:
153
153
  version: 0.8.0
154
154
  - - ">="
155
155
  - !ruby/object:Gem::Version
156
- version: 0.8.7
156
+ version: 0.8.7.6
157
157
  type: :development
158
158
  prerelease: false
159
159
  version_requirements: !ruby/object:Gem::Requirement
@@ -163,27 +163,7 @@ dependencies:
163
163
  version: 0.8.0
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: 0.8.7
167
- - !ruby/object:Gem::Dependency
168
- name: redcarpet
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: 3.2.0
174
- - - ">="
175
- - !ruby/object:Gem::Version
176
- version: 3.2.2
177
- type: :development
178
- prerelease: false
179
- version_requirements: !ruby/object:Gem::Requirement
180
- requirements:
181
- - - "~>"
182
- - !ruby/object:Gem::Version
183
- version: 3.2.0
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: 3.2.2
166
+ version: 0.8.7.6
187
167
  description: A simple way to check your app heart.
188
168
  email:
189
169
  - desenvolvedores@locaweb.com.br
@@ -192,7 +172,20 @@ executables:
192
172
  extensions: []
193
173
  extra_rdoc_files: []
194
174
  files:
195
- - bin/heartcheck
175
+ - ".gitignore"
176
+ - ".rspec"
177
+ - ".rubocop.yml"
178
+ - ".travis.yml"
179
+ - CHANGELOG
180
+ - Gemfile
181
+ - Gemfile.lock
182
+ - LICENSE.txt
183
+ - README.md
184
+ - Rakefile
185
+ - bin/console
186
+ - bin/rspec
187
+ - exe/heartcheck
188
+ - heartcheck.gemspec
196
189
  - lib/heartcheck.rb
197
190
  - lib/heartcheck/app.rb
198
191
  - lib/heartcheck/checks.rb
@@ -209,6 +202,8 @@ files:
209
202
  - lib/heartcheck/errors.rb
210
203
  - lib/heartcheck/errors/routing_error.rb
211
204
  - lib/heartcheck/errors/warning.rb
205
+ - lib/heartcheck/executors.rb
206
+ - lib/heartcheck/executors/base.rb
212
207
  - lib/heartcheck/generators.rb
213
208
  - lib/heartcheck/generators/generator.rb
214
209
  - lib/heartcheck/generators/templates/config.rb