Method: Barcode1DTools::MSI#initialize
- Defined in:
- lib/barcode1dtools/msi.rb
#initialize(value, options = {}) ⇒ MSI
Create a new MSI object with a given value. Options are :line_character, :space_character, :w_character, :n_character, :check_digit, :checksum_included, and :skip_checksum.
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 |
# File 'lib/barcode1dtools/msi.rb', line 223 def initialize(value, = {}) = DEFAULT_OPTIONS.merge() # Can we encode this value? raise UnencodableCharactersError unless self.class.can_encode?(value) if [:skip_checksum] @encoded_string = value.to_s @value = value.to_s @check_digit = nil elsif [:checksum_included] raise ChecksumError unless self.class.validate_check_digit_for(value, ) @encoded_string = value.to_s @value, @check_digit = self.class.split_payload_and_check_digits(value, ) else @value = value.to_s @check_digit = self.class.generate_check_digit_for(@value, ) @encoded_string = "#{@value}#{@check_digit}" end end |