Class: Pdf::Label::SerialNumber

Inherits:
BaseService
  • Object
show all
Includes:
Base
Defined in:
app/services/pdf/label/serial_number.rb

Defined Under Namespace

Classes: Result

Constant Summary collapse

LABEL_WIDTH =

Individual label: 27 mm × 89 mm (Dymo thermal tape size)

(27.0 / 25.4 * 72).round(2).freeze
LABEL_HEIGHT =

≈ 252.3 pt

(89.0 / 25.4 * 72).round(2).freeze

Constants included from Base

Base::FONT, Base::NIMBUS_SANS_PATH, Base::NIMBUS_SANS_PATH_BOLD, Base::WY_LOGO_PATH

Instance Method Summary collapse

Instance Method Details

#call(serial_numbers) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'app/services/pdf/label/serial_number.rb', line 11

def call(serial_numbers)
  Pdf::Loader.load!
  serial_numbers = Array(serial_numbers)
  combinator = PdfCombinator.new
  serial_numbers.each { |sn| combinator << generate_single_label(sn) }
  pdf       = combinator.to_pdf
  file_name = "serial_number_labels_#{Time.current.strftime('%m_%d_%Y_%I_%M%p')}.pdf".downcase
  Result.new(pdf: pdf, file_name: file_name)
end