Class Barby::ASCIIOutputter
In: lib/barby/outputter/ascii_outputter.rb
Parent: Outputter
Barcode1D EAN13 Code128 Code25 Code93 Code39 Bookland EAN8 Barcode Barcode2D QrCode Code128A Code128B Code128C GS1128 Outputter CairoOutputter PngOutputter ASCIIOutputter RmagickOutputter PDFWriterOutputter SvgOutputter PrawnOutputter Code25IATA Code25Interleaved lib/barby/barcode/gs1_128.rb lib/barby/outputter/png_outputter.rb lib/barby/outputter/svg_outputter.rb lib/barby/outputter/rmagick_outputter.rb lib/barby/barcode.rb lib/barby/outputter/ascii_outputter.rb lib/barby/outputter.rb lib/barby/barcode/code_128.rb lib/barby/barcode/code_39.rb lib/barby/outputter/pdfwriter_outputter.rb lib/barby/barcode/code_93.rb lib/barby/outputter/prawn_outputter.rb lib/barby/barcode/ean_8.rb lib/barby/barcode/code_25_iata.rb lib/barby/outputter/cairo_outputter.rb lib/barby/barcode/ean_13.rb lib/barby/barcode/code_25.rb lib/barby/barcode/code_25_interleaved.rb lib/barby/barcode/qr_code.rb lib/barby/barcode/bookland.rb VERSION Barby dot/m_22_0.png

Outputs an ASCII representation of the barcode. This is mostly useful for printing the barcode directly to the terminal for testing.

Registers to_ascii

Methods

Public Instance methods

[Source]

    # File lib/barby/outputter/ascii_outputter.rb, line 14
14:     def to_ascii(opts={})
15:       default_opts = {:height => 10, :xdim => 1, :bar => '#', :space => ' '}
16:       default_opts.update(:height => 1, :bar => ' X ', :space => '   ') if barcode.two_dimensional?
17:       opts = default_opts.merge(opts)
18: 
19:       if barcode.two_dimensional?
20:         booleans.map do |bools|
21:           line_to_ascii(bools, opts)
22:         end.join("\n")
23:       else
24:         line_to_ascii(booleans, opts)
25:       end
26:     end

Private Instance methods

[Source]

    # File lib/barby/outputter/ascii_outputter.rb, line 31
31:     def line_to_ascii(booleans, opts)
32:       Array.new(
33:         opts[:height],
34:         booleans.map{|b| (b ? opts[:bar] : opts[:space]) * opts[:xdim] }.join
35:       ).join("\n")
36:     end

[Validate]