polyrex-objects 0.6.1 → 0.6.2

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-objects.rb +9 -11
  2. metadata +2 -2
@@ -2,11 +2,10 @@
2
2
 
3
3
  # file: polyrex-objects.rb
4
4
 
5
- require 'rexml/document'
6
5
  require 'polyrex-createobject'
6
+ require 'rexle'
7
7
 
8
8
  class PolyrexObjects
9
- include REXML
10
9
 
11
10
  def initialize(schema, node=nil, id=nil)
12
11
 
@@ -25,14 +24,13 @@ class PolyrexObjects
25
24
 
26
25
  classx = []
27
26
  classx << "class #{name.capitalize}"
28
- classx << "include REXML"
29
27
  classx << "def initialize(node, id=nil)"
30
28
  classx << "@id=id; @node = node;"
31
29
  classx << "@create = PolyrexCreateObject.new('#{schema}')"
32
30
  classx << "end"
33
31
  fields.each do |field|
34
- classx << "def #{field}; XPath.first(@node, 'summary/#{field}/text()').to_s; end"
35
- classx << "def #{field}=(text); XPath.first(@node, 'summary/#{field}').text = text; end"
32
+ classx << "def #{field}; @node.element('summary/#{field}/text()'); end"
33
+ classx << "def #{field}=(text); @node.element('summary/#{field}').text = text; end"
36
34
  end
37
35
  classx << "def to_xml(); @node.to_s; end"
38
36
  classx << "def with(); yield(self); end"
@@ -47,19 +45,19 @@ class PolyrexObjects
47
45
  i = @class_names.length - (k + 1)
48
46
  eval "#{class_name}.class_eval {
49
47
  def records()
50
- objects = XPath.match(@node, 'records/*').map {|record| #{@class_names[i]}.new(record)}
48
+ objects = @node.xpath('records/*').map {|record| #{@class_names[i]}.new(record)}
51
49
 
52
50
  def objects.records=(node); @node = node; end
53
51
  def objects.records(); @node; end
54
52
 
55
53
  def objects.sort_by!(&element_blk)
56
- a = XPath.match(@node, 'records/*').sort_by &element_blk
57
- records = XPath.first(@node, 'records')
58
- records.parent.delete records
59
- records = Element.new 'records'
54
+ a = @node.xpath('records/*').sort_by &element_blk
55
+ records = @node.xpath('records')
56
+ records.delete
57
+ records = Rexle::Element.new 'records'
60
58
  a.each {|record| records.add record}
61
59
  @node.add records
62
- XPath.match(@node, 'records/*').map {|record| #{@class_names[i]}.new(record)}
60
+ @node.xpath('records/*').map {|record| #{@class_names[i]}.new(record)}
63
61
  end
64
62
 
65
63
  objects.records = @node
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyrex-objects
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors: []
7
7
 
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-06-15 00:00:00 +01:00
12
+ date: 2010-11-25 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency