Sha256: 336abf1a147aa4c470e950dc115b191e869707279f7b7ecd1a57848e3c6ef159
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'usps_intelligent_barcode/character_position' # @!group Internal module Imb # Maps intelligent barcode "characters" to codes that indicate what # type of bar to print at each given position. class BarMap def initialize @mapping = load_mapping end # Given an array of intelligent barcode "characters", return an # the symbols for each position. # @param [[Integer]] characters array of characters # @return [[BarSymbol]] array of symbols def symbols(characters) @mapping.map do |bar_position| bar_position.map(characters) end end private def load_mapping convert_mapping_data(load_mapping_data) end def convert_mapping_data(mapping_data) mapping_data.map do |descender, ascender| descender_character_position = CharacterPosition.new(*descender) ascender_character_position = CharacterPosition.new(*ascender) BarPosition.new(descender_character_position, ascender_character_position) end end def load_mapping_data YAML.load_file(mapping_path) end def mapping_path File.expand_path('bar_to_character_mapping.yml', File.dirname(__FILE__)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
usps_intelligent_barcode-0.3.1 | lib/usps_intelligent_barcode/bar_map.rb |
usps_intelligent_barcode-0.3.0 | lib/usps_intelligent_barcode/bar_map.rb |