aboutsummaryrefslogtreecommitdiffstats
path: root/lib/health_checks/health_checkable.rb
blob: 5d674ca32452e33da4ecb7ae72a6944ac6505cd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module HealthChecks
    module HealthCheckable

        attr_accessor :failure_message, :success_message

        def initialize(args = {})
            self.failure_message = args.fetch(:failure_message) { _('Failed') }
            self.success_message = args.fetch(:success_message) { _('Success') }
        end

        def name
            self.class.to_s
        end

        def check
            raise NotImplementedError
        end

        def ok?
            check ? true : false
        end

        def message
            ok? ? success_message : failure_message
        end

    end
end