lib/rapporteur.rb in rapporteur-1.1.0 vs lib/rapporteur.rb in rapporteur-2.0.0
- old
+ new
@@ -1,15 +1,68 @@
-require 'active_model_serializers'
-
require "rapporteur/engine" if defined?(Rails)
require "rapporteur/version"
# Rapporteur is a Rails Engine which provides your application with an
# application status endpoint.
#
module Rapporteur
autoload :Checker, 'rapporteur/checker'
+ autoload :CheckerDeprecations, 'rapporteur/checker_deprecations'
autoload :Checks, 'rapporteur/checks'
autoload :Responder, 'rapporteur/responder'
autoload :Revision, 'rapporteur/revision'
- autoload :Serializer, 'rapporteur/serializer'
+
+
+ # Public: Add a pre-built or custom check to your status endpoint. These
+ # checks are used to test the state of the world of the application, and
+ # need only respond to `#call`.
+ #
+ # Once added, the given check will be called and passed an instance of this
+ # checker. If everything is good, do nothing! If there is a problem, use
+ # `add_error` to add an error message to the checker.
+ #
+ # Examples
+ #
+ # Rapporteur.add_check { |checker|
+ # checker.add_error("Bad luck.") if rand(2) == 1
+ # }
+ #
+ # Returns the Checker instance.
+ # Raises ArgumentError if the given check does not respond to call.
+ #
+ def self.add_check(object_or_nil_with_block=nil, &block)
+ checker.add_check(object_or_nil_with_block, &block)
+ end
+
+ # Internal: The Checker instance. All toplevel calls on Rapporteur are
+ # delgated to this object.
+ #
+ def self.checker
+ unless @checker
+ @checker = Checker.new
+ add_check(Checks::RevisionCheck)
+ add_check(Checks::TimeCheck)
+ end
+ @checker
+ end
+
+ # Public: Empties all configured checks from the checker. This may be
+ # useful for testing and for cases where you might've built up some basic
+ # checks but for one reason or another (environment constraint) need to
+ # start from scratch.
+ #
+ # Returns the Checker instance.
+ #
+ def self.clear_checks
+ checker.clear
+ end
+
+ # Public: This is the primary execution point for this class. Use run to
+ # exercise the configured checker and collect any application errors or
+ # data for rendering.
+ #
+ # Returns the Checker instance.
+ #
+ def self.run
+ checker.run
+ end
end