Class: VisaNetUy::Xmler
- Inherits:
-
Object
- Object
- VisaNetUy::Xmler
- Includes:
- REXML
- Defined in:
- lib/visa_net_uy/xmler.rb
Constant Summary collapse
- VERSION =
'1.0'
- Encoding =
'ISO-8859-1'
- ROOT_NAME =
'VPOSTransaction1.2'
Instance Method Summary collapse
Instance Method Details
#generate(fields) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/visa_net_uy/xmler.rb', line 26 def generate(fields) fields_temp = {} dom = Document.new dom << XMLDecl.new(VERSION, Encoding) root = Element.new(ROOT_NAME) dom << root fields.each_pair do |field, value| if VisaNetUy::VALID_FIELDS.include? field fields_temp[field] = value else raise "#{field} is not a valid field." end end fields_temp.each_pair do |field, value| element = Element.new(field) element.text = value root << element end xml = '' dom.write(xml) xml end |
#parse(xml) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/visa_net_uy/xmler.rb', line 56 def parse(xml) fields = {} dom = Document.new(xml) root = dom.root return fields unless root.name == ROOT_NAME root.elements.each do |child| fields[child.name] = child.get_text.nil? ? '' : child.get_text.value end fields end |