Class: MultiEncoder::BarcodeImage

Inherits:
AbstractImage show all
Defined in:
lib/multi_encoder/images/barcode.rb

Constant Summary collapse

DEFAULT_ENCODING =
Gbarcode::BARCODE_128 | Gbarcode::BARCODE_NO_CHECKSUM

Constants inherited from AbstractImage

AbstractImage::OUTPUT_FORMAT

Instance Method Summary collapse

Methods inherited from AbstractImage

#href, #initialize

Constructor Details

This class inherits a constructor from MultiEncoder::AbstractImage

Instance Method Details

#typeObject



8
9
10
# File 'lib/multi_encoder/images/barcode.rb', line 8

def type
  'barcodes'
end

#writeObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/multi_encoder/images/barcode.rb', line 12

def write
  barcode = Gbarcode.barcode_create @contents.upcase
  Gbarcode.barcode_encode extract_options(barcode), DEFAULT_ENCODING
  FileUtils.mkdir_p directory
  eps = File.open("#{eps_path}", 'wb')

  begin
    Gbarcode.barcode_print barcode, eps, Gbarcode::BARCODE_OUT_EPS
    eps.close
    system("convert #{eps_path} #{file_path}")
  ensure
    FileUtils.rm(eps) if File.exists? eps_path
  end
  save if respond_to? :save
end