class StarEthernet::Status

Attributes

status_items[R]

Public Class Methods

new(printer) click to toggle source
# File lib/star_ethernet/status.rb, line 7
def initialize(printer)
  @printer = printer
  @status_items = []
end

Public Instance Methods

current_status() click to toggle source
# File lib/star_ethernet/status.rb, line 12
def current_status
  @status_items.last
end
etb_incremented?() click to toggle source
# File lib/star_ethernet/status.rb, line 20
def etb_incremented?
  return false if previous_status.nil?
  if previous_status.etb == 31 # ETB overflow
    current_status.etb == 0
  else
    current_status.etb == previous_status.etb + 1
  end
end
full_messages() click to toggle source
# File lib/star_ethernet/status.rb, line 35
    def full_messages
      <<~"EOS"
      #{@printer.host} printer's statuses are
      #{@status_items.map{ |status_item| status_item.message }.join("\n")}
      EOS
    end
previous_status() click to toggle source
# File lib/star_ethernet/status.rb, line 16
def previous_status
  @status_items[-2]
end
set_status(status_data, purpose = '') click to toggle source
# File lib/star_ethernet/status.rb, line 29
def set_status(status_data, purpose = '')
  current_status = StatusItem.decode_status(status_data)
  current_status.purpose = purpose
  @status_items.push(current_status)
end