Sha256: 780826683c2b0fa3084dce146b997782c76227c82f5db51dddc012777856760f

Contents?: true

Size: 726 Bytes

Versions: 2

Compression:

Stored size: 726 Bytes

Contents

require_relative 'tts'

module AgileNotifier
  class Judger
    class << self
      def on_fail(trackable, text, args)
        on_condition(trackable.failed?, text, args)
      end
      
      def on_unstable(trackable, text, args)
        on_condition(trackable.unstable?, text, args)
      end

      def on_pass(trackable, text, args)
        on_condition(trackable.passed?, text, args)
      end

      def on_fix(trackable, text, args)
        on_condition(trackable.fixed?, text, args)
      end

      def on_condition(condition, text, args)
        if condition
          TTS.speak(text, args)
          true
        else
          false
        end
      end
    end

    private_class_method :on_condition
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
agile_notifier-1.1.1 lib/agile_notifier/judger.rb
agile_notifier-1.1 lib/agile_notifier/judger.rb