dynarex 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/dynarex.rb +23 -1
  2. metadata +1 -1
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'rexml/document'
4
4
  require 'open-uri'
5
+ require 'builder'
5
6
 
6
7
  class Dynarex
7
8
  include REXML
@@ -19,7 +20,26 @@ class Dynarex
19
20
  end
20
21
 
21
22
  def save(filepath)
22
- File.open(filepath,'w'){|f| @doc.write f}
23
+
24
+ xml = Builder::XmlMarkup.new( :target => buffer='', :indent => 2 )
25
+ xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
26
+
27
+ xml.send @root_name do
28
+ xml.summary do
29
+ dynarex.summary.each{|key,value| xml.send key, value}
30
+ end
31
+ xml.records do
32
+ dynarex.records.each do |item|
33
+ xml.send @item_name do
34
+ item.each do |key, value|
35
+ xml.send key, value
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+
42
+ File.open(filepath,'w'){|f| f.write buffer}
23
43
  end
24
44
 
25
45
  private
@@ -35,6 +55,8 @@ class Dynarex
35
55
  @doc = Document.new buffer
36
56
  @summary = summary_to_h
37
57
  @records = records_to_h
58
+ @root_name = doc.root.name
59
+ @item_name = XPath.first(@doc.root, 'records/*[1]').name
38
60
  end
39
61
 
40
62
  def display()
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynarex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors: []
7
7