Class: Barcodes::Renderer::Ascii

Inherits:
Object
  • Object
show all
Defined in:
lib/barcodes/renderer/ascii.rb

Overview

This class handles ASCII rendering support.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(barcode = nil) ⇒ Ascii

Creates a new Barcodes::Renderer::Ascii instance



17
18
19
# File 'lib/barcodes/renderer/ascii.rb', line 17

def initialize(barcode=nil)
  @barcode = barcode
end

Instance Attribute Details

#barcodeObject

The barcode instance



14
15
16
# File 'lib/barcodes/renderer/ascii.rb', line 14

def barcode
  @barcode
end

Instance Method Details

#render(filename = nil) ⇒ Object

Renders the barcode as ASCII string with optional filename



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/barcodes/renderer/ascii.rb', line 22

def render(filename=nil)
  rendering = ''
  if @barcode.class == Barcodes::Symbology::Ean8
    rendering = self._render_ean8(@barcode)
  elsif @barcode.class == Barcodes::Symbology::Ean13
    rendering = self._render_ean13(@barcode)
  elsif @barcode.class == Barcodes::Symbology::Planet || @barcode.class == Barcodes::Symbology::Postnet
    rendering = self._render_planet_postnet(@barcode)
  elsif @barcode.class == Barcodes::Symbology::UpcA
    rendering = self._render_upca(@barcode)
  else
    rendering = self._render_standard(@barcode)
  end
  
  unless filename.nil?
    File.open(filename, 'w') {|f| f.write(rendering) }
  else
    rendering
  end
end