polyrex 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/polyrex.rb +23 -11
  2. metadata +12 -2
@@ -8,10 +8,11 @@ require 'polyrex-objects'
8
8
  require 'polyrex-createobject'
9
9
  require 'ostruct'
10
10
  require 'polyrex-object-methods'
11
+ require 'polyrex-xslt'
11
12
  require 'rexle'
12
13
 
13
14
  class Polyrex
14
- attr_accessor :summary_fields
15
+ attr_accessor :summary_fields, :xslt_schema
15
16
 
16
17
  def initialize(location)
17
18
 
@@ -20,6 +21,7 @@ class Polyrex
20
21
  summary_h = Hash[*@doc.xpath("summary/*").map {|x| [x.name, x.text]}.flatten]
21
22
  @summary = OpenStruct.new summary_h
22
23
  @summary_fields = summary_h.keys.map(&:to_sym)
24
+ @polyrex_xslt = PolyrexXSLT.new
23
25
  end
24
26
 
25
27
  def create(id=nil)
@@ -71,15 +73,6 @@ class Polyrex
71
73
  def element(s)
72
74
  @doc.element(s)
73
75
  end
74
-
75
- def xpath(s, &blk)
76
-
77
- if block_given? then
78
- @doc.xpath(s, &blk)
79
- else
80
- @doc.xpath s
81
- end
82
- end
83
76
 
84
77
  def records
85
78
  @doc.xpath("records/*").map do |record|
@@ -91,6 +84,25 @@ class Polyrex
91
84
  @summary
92
85
  end
93
86
 
87
+ def to_xslt()
88
+ @polyrex_xslt.schema = @schema
89
+ @polyrex_xslt.to_xslt
90
+ end
91
+
92
+ def xpath(s, &blk)
93
+
94
+ if block_given? then
95
+ @doc.xpath(s, &blk)
96
+ else
97
+ @doc.xpath s
98
+ end
99
+ end
100
+
101
+ def xslt_schema(s)
102
+ @polyrex_xslt.xslt_schema = s
103
+ self
104
+ end
105
+
94
106
  private
95
107
 
96
108
  def polyrex_new(schema)
@@ -255,5 +267,5 @@ class Polyrex
255
267
  @doc.element('summary/' + x.to_s).text = @summary.method(x).call
256
268
  end
257
269
  end
258
-
270
+
259
271
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyrex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
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: 2011-01-22 00:00:00 +00:00
12
+ date: 2011-01-30 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -62,6 +62,16 @@ dependencies:
62
62
  - !ruby/object:Gem::Version
63
63
  version: "0"
64
64
  version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: polyrex-xslt
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
65
75
  description:
66
76
  email:
67
77
  executables: []