Class: GS1::Barcode::Base
- Inherits:
-
Object
- Object
- GS1::Barcode::Base
- Includes:
- Definitions
- Defined in:
- lib/gs1/barcode/base.rb
Overview
Base class for a barcode.
Direct Known Subclasses
Class Method Summary collapse
- .for(attributes, configuration:) ⇒ Object
- .from_scan(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
- .from_scan!(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
- .scan_to_params(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
- .scan_to_params!(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
Instance Method Summary collapse
- #errors ⇒ Object
-
#initialize(attributes = {}, options = {}) ⇒ Base
constructor
A new instance of Base.
Methods included from Definitions
Constructor Details
#initialize(attributes = {}, options = {}) ⇒ Base
Returns a new instance of Base.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/gs1/barcode/base.rb', line 8 def initialize(attributes = {}, = {}) attribute_validator = [:attribute_validator] || AttributeValidator.new attributes.each do |(name, data)| attribute_validator.validate_data(self, name) attribute_validator.validate_record(self, name) do |record| instance_variable_set("@#{name}", record.new(data)) end end @params_order = attributes.to_h.keys end |
Class Method Details
.for(attributes, configuration:) ⇒ Object
25 26 27 28 |
# File 'lib/gs1/barcode/base.rb', line 25 def for(attributes, configuration:) attribute_validator = AttributeValidator.for(configuration: configuration) new(attributes, attribute_validator: attribute_validator) end |
.from_scan(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/gs1/barcode/base.rb', line 37 def from_scan(, separator: GS1.configuration., ai_classes: GS1.ai_classes) self.for( scan_to_params(, separator: separator, ai_classes: ai_classes), configuration: GS1.configuration ) end |
.from_scan!(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/gs1/barcode/base.rb', line 30 def from_scan!(, separator: GS1.configuration., ai_classes: GS1.ai_classes) self.for( scan_to_params!(, separator: separator, ai_classes: ai_classes), configuration: GS1.configuration ) end |
.scan_to_params(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
49 50 51 52 |
# File 'lib/gs1/barcode/base.rb', line 49 def scan_to_params(, separator: GS1.configuration., ai_classes: GS1.ai_classes) Tokenizer.new(, separator: separator, ai_classes: ai_classes) .to_params end |
.scan_to_params!(barcode, separator: GS1.configuration.barcode_separator, ai_classes: GS1.ai_classes) ⇒ Object
44 45 46 47 |
# File 'lib/gs1/barcode/base.rb', line 44 def scan_to_params!(, separator: GS1.configuration., ai_classes: GS1.ai_classes) Tokenizer.new(, separator: separator, ai_classes: ai_classes) .to_params! end |
Instance Method Details
#errors ⇒ Object
20 21 22 |
# File 'lib/gs1/barcode/base.rb', line 20 def errors @errors ||= Errors.new end |