Sha256: 5d4c5101595570cfd69609ed1d5da4cfdade1517436b44b55686986d8553d5f6

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

require 'blinkenstein'
require 'blink1-patterns'
require 'eve'

module Blinkenstein 
  class EveSkillQueueMonitor 
    include Monitor
    include Logging

    def refresh 
      update_blink
    end

    def hours_left
      @skillQueue ||= Eve::SkillQueue.new
      @skillQueue.hours_left
    end

    def update_blink
      case 
      when hours_left < 0 then error
      when hours_left < 8 && hours_left >= 0  then panic
      when hours_left > 8 && hours_left <= 24 then nervous
      when hours_left > 24 then cool 
      end
    end

    def cool 
      logger.info "Everything is cool. #{hours_left}h left."
      Blink::Patterns.breath("#00ff00", 4, 0.2)
    end

    def nervous
      logger.info "There's room in the queue. #{hours_left}h left."
      Blink::Patterns.breath("#ff0000", 3, 0.3)
    end

    def panic
      logger.info "Queue runs out soon. #{hours_left}h left."
      Blink::Patterns.police
    end

    def error
      logger.info "Ehm. Something is wrong"
      Blink::Patterns.breath("#ff0000", 0.25, 0.75)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blinkenstein-0.2.0 lib/blinkenstein/monitors/eve_skill_queue_monitor.rb