scinote-web/app/models/label_printer.rb

41 lines
815 B
Ruby

# frozen_string_literal: true
class LabelPrinter < ApplicationRecord
FLUICS_STATUS_MAP = Hash.new(:error).merge(
{
'00' => :ready,
'50' => :busy,
'60' => :busy,
'01' => :out_of_labels,
'02' => :out_of_labels
}
).freeze
enum type_of: { fluics: 0 }
enum language_type: { zpl: 0 }
enum status: { ready: 0, busy: 1, out_of_labels: 2, unreachable: 3, error: 4 }
validates :name, presence: true
validates :type_of, presence: true
validates :language_type, presence: true
def display_name
"#{name}#{description}"
end
def done?
current_print_job_ids.blank? && ready?
end
def printing?
current_print_job_ids.any? && ready?
end
def printing_status
return 'printing' if printing?
return 'done' if done?
status
end
end