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