polyrex-schema 0.1.6 → 0.1.7

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/polyrex-schema.rb +15 -9
  2. metadata +2 -2
@@ -8,26 +8,24 @@ class PolyrexSchema
8
8
 
9
9
  def initialize(s)
10
10
 
11
- @doc = Rexle.new
12
- node = @doc
11
+ node = nil
13
12
 
14
13
  s.scan(/\w+\[[^\]]*\]|\w+/).each do |x|
15
-
14
+
16
15
  b1, b2 = x.split('[')
17
16
 
18
17
  if b2 then
19
18
 
20
- append_node node, b1 do |summary|
19
+ node = append_node(node, b1) do |summary|
21
20
 
22
21
  fields = b2.scan(/\w+(?=[,\]])/)
23
22
  fields.each {|x| summary.add Rexle::Element.new x}
24
23
  summary.add Rexle::Element.new('format_mask').add_text(fields.map {|x| "[!%s]" % x}. join(' '))
24
+
25
25
  end
26
-
27
- node = node.element '*/records'
28
26
 
29
27
  else
30
- node = append_node node, x
28
+ node = append_node(node, x)
31
29
  end
32
30
  end
33
31
 
@@ -57,7 +55,15 @@ class PolyrexSchema
57
55
  records = Rexle::Element.new 'records'
58
56
  new_node.add records
59
57
 
60
- node.add new_node
58
+ if node.is_a? Rexle::Element then
59
+ node.add new_node
60
+ elsif node.is_a? Rexle then
61
+ node.root.add new_node
62
+ else
63
+ @doc = Rexle.new(new_node.xml)
64
+ node = @doc.root
65
+ end
61
66
 
67
+ node.element('*/records')
62
68
  end
63
- end
69
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: polyrex-schema
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.6
5
+ version: 0.1.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - James Robertson
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-11-11 00:00:00 Z
13
+ date: 2012-11-28 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rexle