Sha256: e3cc9fe3997941afa38026daa436aa513fe0dc6a1a85fd00bc07b358b9b72a81

Contents?: true

Size: 667 Bytes

Versions: 7

Compression:

Stored size: 667 Bytes

Contents

# Wraps Lighthouse::Bin and keeps track of state

module Buildmeister
  class Bin
    attr_accessor :bin, :mode, :value, :last_value
    
    delegate :name, :tickets, :to => :bin
    
    def initialize(lighthouse_bin, mode = :verbose)
      self.bin  = lighthouse_bin
      self.mode = mode
      
      refresh!
    end
    
    def refresh!
      self.last_value = value
      
      case mode
      when :verbose
        self.value = bin.tickets.map(&:id).join(', ')
      when :quiet
        self.value = bin.tickets_count
      end
    end
    
    def display
      "#{name}: #{value}"
    end
    
    def changed?
      value != last_value
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
buildmeister-1.0.7 lib/buildmeister/bin.rb
buildmeister-1.0.6 lib/buildmeister/bin.rb
buildmeister-1.0.5 lib/buildmeister/bin.rb
buildmeister-1.0.4 lib/buildmeister/bin.rb
buildmeister-1.0.3 lib/buildmeister/bin.rb
buildmeister-1.0.1 lib/buildmeister/bin.rb
buildmeister-1.0.0 lib/buildmeister/bin.rb