aboutsummaryrefslogtreecommitdiffstats
path: root/lib/health_checks/health_checks.rb
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2014-12-03 09:22:41 +0000
committerLouise Crow <louise.crow@gmail.com>2014-12-03 09:22:41 +0000
commit7414ed478f212be2b48c95fafde15726b348b197 (patch)
tree1d89b90f604b837b097fb4274775c4f3b3a319d6 /lib/health_checks/health_checks.rb
parent479c9cd4567e2042d00c347f25a411373a6b1df9 (diff)
parentd05082c1cf1ddec789e547b54943f6e7d5bdffc1 (diff)
Merge branch 'release/0.20'0.20.0.0
Conflicts: config/general.yml-example
Diffstat (limited to 'lib/health_checks/health_checks.rb')
-rw-r--r--lib/health_checks/health_checks.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/health_checks/health_checks.rb b/lib/health_checks/health_checks.rb
new file mode 100644
index 000000000..6f0c9de8e
--- /dev/null
+++ b/lib/health_checks/health_checks.rb
@@ -0,0 +1,37 @@
+require 'health_checkable'
+
+Dir[File.dirname(__FILE__) + '/checks/*.rb'].each do |file|
+ require file
+end
+
+module HealthChecks
+ extend self
+
+ def all
+ @checks ||= []
+ end
+
+ def add(check)
+ if assert_valid_check(check)
+ all << check
+ check
+ else
+ false
+ end
+ end
+
+ def each(&block)
+ all.each(&block)
+ end
+
+ def ok?
+ all.all? { |check| check.ok? }
+ end
+
+ private
+
+ def assert_valid_check(check)
+ check.respond_to?(:check)
+ end
+
+end