Sha256: 28fad0add24ade0c9ec84d234a4959cf02e0f1ba07e3d374f463d34ab2f3dd37

Contents?: true

Size: 1019 Bytes

Versions: 11

Compression:

Stored size: 1019 Bytes

Contents

module EacLauncher
  module Publish
    class CheckResult
      STATUS_UPDATED = 1
      STATUS_PENDING = 2
      STATUS_BLOCKED = 3

      STATUSES = [STATUS_UPDATED, STATUS_PENDING, STATUS_BLOCKED].freeze

      class << self
        def updated(message)
          new(STATUS_UPDATED, message)
        end

        def pending(message)
          new(STATUS_PENDING, message)
        end

        def blocked(message)
          new(STATUS_BLOCKED, message)
        end
      end

      attr_reader :status, :message

      def initialize(status, message)
        raise "Status \"#{status}\" not in #{STATUSES}" unless STATUSES.include?(status)
        @status = status
        @message = message
      end

      def to_s
        case status
        when STATUS_UPDATED then message.light_white.on_green
        when STATUS_PENDING then message.light_white.on_yellow
        when STATUS_BLOCKED then message.light_white.on_red
        else raise "Unknown status: \"#{status}\""
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
eac_launcher-0.2.2 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.2.1 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.2.0 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.7 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.6 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.5 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.3 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.4 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.2 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.1 lib/eac_launcher/publish/check_result.rb
eac_launcher-0.1.0 lib/eac_launcher/publish/check_result.rb