Sha256: 0d7239eea8f793b73e9072aa6200b52d8291fc79773193e64d01d2510f912802

Contents?: true

Size: 652 Bytes

Versions: 12

Compression:

Stored size: 652 Bytes

Contents

module LitmusPaper
  class Health

    attr_reader :summary

    def initialize
      @value = 0
      @dependencies_available = true
      @summary = ""
    end

    def ok?
      value > 0
    end

    def forced?
      false
    end

    def value
      return 0 unless @dependencies_available
      @value
    end

    def perform(metric)
      health = metric.current_health

      @value += health
      @summary << "#{metric}: #{health}\n"
    end

    def ensure(dependency)
      available = dependency.available?

      @dependencies_available &&= available
      @summary << "#{dependency}: #{available ? 'OK' : 'FAIL'}\n"
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
litmus_paper-0.8.2 lib/litmus_paper/health.rb
litmus_paper-0.8.1 lib/litmus_paper/health.rb
litmus_paper-0.8.0 lib/litmus_paper/health.rb
litmus_paper-0.7.9 lib/litmus_paper/health.rb
litmus_paper-0.7.5 lib/litmus_paper/health.rb
litmus_paper-0.7.4 lib/litmus_paper/health.rb
litmus_paper-0.7.3 lib/litmus_paper/health.rb
litmus_paper-0.7.2 lib/litmus_paper/health.rb
litmus_paper-0.7.1 lib/litmus_paper/health.rb
litmus_paper-0.7.0 lib/litmus_paper/health.rb
litmus_paper-0.6.3 lib/litmus_paper/health.rb
litmus_paper-0.6.2 lib/litmus_paper/health.rb