1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
require 'semacode' #Ruby 1.8: gem install semacode - Ruby 1.9: gem install semacode-ruby19
require 'barby/barcode'
module Barby
#Uses the semacode library (gem install semacode) to encode DataMatrix barcodes
class DataMatrix < Barcode2D
attr_accessor :data
def initialize(data)
self.data = data
end
def data=(data)
@data = data
@encoder = nil
end
def encoder
@encoder ||= ::DataMatrix::Encoder.new(data)
end
def encoding
encoder.data.map{|a| a.map{|b| b ? '1' : '0' }.join }
end
def semacode?
#TODO: Not sure if this is right
data =~ /^http:\/\//
end
def to_s
data
end
end
end
|