Sha256: e630343be7afdcd8a89dc7f31aa4749349de65daa48bf8f76aed4292c3250263
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
# Code 128 条形码是高密度条形码符号。 # https://en.wikipedia.org/wiki/Code_128 # Code 128 A 条形码 code set: ASCII characters 00 to 95 (0-9, A-Z and control codes), special characters, and FNC 1-4. # Code 128 B 条形码 code set: ASCII characters 32 to 127 (0-9, A-Z, a-z), special characters, and FNC 1-4. # Code 128 C 条形码 code set: 00-99 (encodes each two digits with one code) and FNC1. class Unidom::ArticleNumber::Code128Barcode < ::ActiveRecord::Base self.table_name = 'unidom_code_128_barcodes' #validates :code, presence: true, length: { is: self.columns_hash['code'].limit }, uniqueness: true validates :code, uniqueness: true validates :code, numericality: { only_integer: true }, if: Proc.new { |barcode| 'C'==barcode.code_set_code } has_many :markings, class_name: 'Unidom::ArticleNumber::Marking' include ::Unidom::Common::ModelExtension def weighted_modulo_103_checksum(codes) sum = 103 codes.each_with_index do |char, index| sum += (char.unpack('C').first-32)*(index+1) end sum%103 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
unidom-article_number-0.1 | app/models/unidom/article_number/code_128_barcode.rb |