class MiddlewareHealthcheck::MainChecker
Constants
- QUERY_STRING_KEY
- UNDEFINED_CHECKER_ERROR
Attributes
app[RW]
env[RW]
Public Class Methods
new(app, env)
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 10 def initialize(app, env) self.app = app self.env = env end
Public Instance Methods
build_error_response()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 40 def build_error_response build_text_response( configuration.error_response_status, errors.join(configuration.errors_delimiter) ) end
build_response()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 25 def build_response if errors.present? build_error_response else build_success_response end end
build_success_response()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 33 def build_success_response build_text_response( configuration.success_response_status, configuration.success_response_body ) end
build_text_response(status, body)
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 47 def build_text_response(status, body) [status, { 'Content-Type' => 'text/plain' }, [body]] end
check_health()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 15 def check_health if full_check? run_all_checkers elsif selected_check? run_selected_checkers end build_response end
configuration()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 102 def configuration @configuration ||= MiddlewareHealthcheck.configuration end
errors()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 90 def errors @errors ||= [] end
find_checker_by_name(name)
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 72 def find_checker_by_name(name) configuration.checkers.each do |checker| return checker if checker.to_s.demodulize.underscore.gsub(/_checker$/, '') == name end errors.push(UNDEFINED_CHECKER_ERROR + name.camelize) nil end
full_check?()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 94 def full_check? params[configuration.full_check_param_name].present? end
params()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 86 def params @params ||= Rack::Utils.parse_nested_query(@env[QUERY_STRING_KEY]) end
run_all_checkers()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 51 def run_all_checkers run_checkers(configuration.checkers) end
run_checkers(checkers)
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 59 def run_checkers(checkers) checkers.each do |checker| checker_instance = checker.new(@app, @env) errors.push(checker_instance.error) unless checker_instance.healthy? end end
run_selected_checkers()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 55 def run_selected_checkers run_checkers(selected_checkers) end
selected_check?()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 98 def selected_check? params[configuration.selected_check_param_name].present? end
selected_checkers()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 66 def selected_checkers selected_checkers_names.map do |checker_name| find_checker_by_name(checker_name) end.compact end
selected_checkers_names()
click to toggle source
# File lib/middleware_healthcheck/main_checker.rb, line 80 def selected_checkers_names @selected_checkers_names ||= params[configuration.selected_check_param_name] .split(configuration.selected_check_param_split_delimiter) end