class EndiciaLabelServer::Parsers::ParserBase
Attributes
current_attributes[RW]
error_description[RW]
status_code[RW]
switches[RW]
Public Class Methods
new()
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 12 def initialize self.switches = {} self.current_attributes = {} end
Public Instance Methods
attr(name, value)
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 30 def attr(name, value) self.current_attributes[name] = value end
element_tracker_switch(element, currently_in)
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 40 def element_tracker_switch(element, currently_in) switches[element] = currently_in end
end_element(name)
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 21 def end_element(name) reset_current_attributes! element_tracker_switch name, false end
reset_current_attributes!()
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 26 def reset_current_attributes! self.current_attributes = {} end
start_element(name)
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 17 def start_element(name) element_tracker_switch name, true end
success?()
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 48 def success? ['0', 0].include? status_code end
switch_active?(*elements)
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 44 def switch_active?(*elements) elements.flatten.all? { |element| switches[element] == true } end
value(value)
click to toggle source
# File lib/endicia_label_server/parsers/parser_base.rb, line 34 def value(value) string_value = value.as_s self.status_code = string_value if switch_active? :Status self.error_description = string_value if switch_active? :ErrorMessage end