dataisland 0.1.14 → 0.1.15

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e901fd77adf926dad261fbe89dfe3f341979f8b
4
- data.tar.gz: c88593f6519304d5d1e52931e2bf7dac10bc9e09
3
+ metadata.gz: b79220d2f2e1ed4e7f298f08aa2a7a06a55ead82
4
+ data.tar.gz: 406f92a674143df5b2a8efc3b9c9d00b8dfefc3b
5
5
  SHA512:
6
- metadata.gz: 68a36884c2ad8a68d56b675b7939af57d822f6f5f80721b82ed92ec39af5d8eef9877861124eabc1ebae6b7ef7de5b1e5a002b563468266d4c4cd9efbcd4e543
7
- data.tar.gz: 81ae1c7c3d05c239d2a21d2ce3f8bc9f6c35f811eadcd1a2dd6981728801667997377625d68976654c0b519f88632821b974014ff9fd05e2453b5aaf14e89516
6
+ metadata.gz: 1fdbf4ea5bb1a5c520a7b21b3421deca002938c762faefb3899b028539e97d3f670cfb4df408697b6572f6a0bb4e07db95208f0b438df617b02650eaeeefa1e9
7
+ data.tar.gz: 09f9bfe539823e7e014652ecfb450d76fcde49977b08b3ec4783c7ab2eef1ad64de50d4affcd07488e5ec83a912ad327f39a3dcbf2e742181b29d84901d58acf
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/dataisland.rb CHANGED
@@ -16,7 +16,10 @@ class DataIsland
16
16
 
17
17
  buffer, typex = RXFHelper.read(location)
18
18
  @html_doc = Rexle.new(buffer.sub(/^<!DOCTYPE html>/,''))
19
- @html_doc.xpath('//script[@class="dataisland"]').map(&:delete)
19
+
20
+ a = @html_doc.css('//script[@class="dataisland"]')
21
+ a.map(&:delete)
22
+
20
23
  @html_doc.xpath('//div[@datactl]').map(&:delete)
21
24
 
22
25
  @html_doc.root.element('body').attributes.delete :onload
@@ -44,7 +47,7 @@ class DataIsland
44
47
  @location +'/' + h[:data]
45
48
  end
46
49
 
47
- dynarex = Dynarex.new location2
50
+ dynarex = Dynarex.new location2
48
51
 
49
52
  if (h[:order] and h[:order][/^desc|descending$/]) \
50
53
  or dynarex.order = 'descending' then
@@ -54,12 +57,14 @@ class DataIsland
54
57
  end
55
58
 
56
59
  xpath = "//*[@datasrc='" + '#' + h[:id] + "']"
57
-
60
+
58
61
  @html_doc.xpath(xpath).each do |island|
59
62
  render(records, x.attributes, island.element('//*[@datafld]'));
60
63
  end
64
+
61
65
  x.delete unless h[:data] =~ /^\{/
62
66
  end
67
+
63
68
  end
64
69
 
65
70
  private
@@ -68,7 +73,7 @@ class DataIsland
68
73
 
69
74
  parent = element.parent
70
75
  parentName = parent.name.downcase
71
-
76
+
72
77
  case parentName
73
78
  when 'body'
74
79
  return nil
@@ -92,7 +97,6 @@ class DataIsland
92
97
  rec_orig = node_to_clone(node)
93
98
 
94
99
  if rec_orig then
95
-
96
100
 
97
101
  if (h[:rows_per_page]) then
98
102
 
@@ -114,7 +118,7 @@ class DataIsland
114
118
  else
115
119
  recs = records
116
120
  end
117
-
121
+
118
122
  recs.each do |record|
119
123
 
120
124
  rec = rec_orig.deep_clone
@@ -123,8 +127,9 @@ class DataIsland
123
127
  dest_nodes = {}
124
128
 
125
129
  a = rec.xpath('.//span[@class]|.//a[@class]')
130
+
126
131
  a.each do |e|
127
- r = e.attribute(:class)[/\{([^\}]+)\}$/,1]
132
+ r = e.attribute(:class)[0][/\{([^\}]+)\}$/,1]
128
133
  add_to_destnodes(dest_nodes,r,e) if r
129
134
  end
130
135
 
@@ -161,12 +166,12 @@ class DataIsland
161
166
 
162
167
  classx = e2.attributes[:class]
163
168
 
164
- if classx then
169
+ if classx and classx.length > 0 then
165
170
 
166
- if classx[/{#{field}/] then
171
+ if classx[0][/{#{field}/] then
167
172
  val = record[field]
168
- new_class = classx.sub(/\{[^\}]+\}/,val)
169
- e2.attributes[:class] = new_class
173
+ new_class = classx[0].sub(/\{[^\}]+\}/,val)
174
+ e2.attributes[:class] = [new_class]
170
175
  elsif
171
176
  e2.text = record[field]
172
177
  end
@@ -192,11 +197,11 @@ class DataIsland
192
197
 
193
198
  classx = e2.attributes[:class]
194
199
 
195
- if classx and classx[/{#{field}/] then
200
+ if classx and classx[0][/{#{field}/] then
196
201
 
197
202
  val = record[field]
198
- new_class = classx.sub(/\{[^\}]+\}/,val)
199
- e2.attributes[:class] = new_class
203
+ new_class = classx[0].sub(/\{[^\}]+\}/,val)
204
+ e2.attributes[:class] = [new_class]
200
205
 
201
206
  elsif e2.attributes[:name] then
202
207
 
@@ -208,6 +213,7 @@ class DataIsland
208
213
  elsif e2.attributes[:href] then
209
214
 
210
215
  href = e2.attributes[:href]
216
+
211
217
  val = record[field]
212
218
  new_href = href.sub(/\{[^\}]+\}/,val)
213
219
  e2.attributes[:href] = new_href
@@ -233,4 +239,4 @@ class DataIsland
233
239
  end
234
240
  end
235
241
 
236
- end
242
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dataisland
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,55 +10,69 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDRDCCAiygAwIBAgIBADANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTEzMDIwNjIwNTUwNloXDTE0MDIwNjIwNTUwNlowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE0MTAyNjIwMDMzOVoXDTE1MTAyNjIwMDMzOVowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAL5i7SJk39z5gjThVhP5epdyURjOG8wCKslBF7ioopMrw2bRqInKPbaELrc9
19
- DNT/0QkFQnzPReqUIJmvuxF/CtBN/xa62LwDdb2cv1ZukDgx86wFCIpkulG5ksVH
20
- OMDgVT3CMjvvOd8AcqVjjV9+75OzL/snA/aORCs5ulTasln4QtAK/BQEqNAucmmc
21
- ACqa/AXVvHuJJU4xEeWx3veZLX5gjx2tDu1NGwtQEl4v+Xvln6emyHS6ZOZ2FWc1
22
- w9iYbHgjVFsoLdKLdsqnJbAM+SmVXgUKVYFZRnjD4ZfOC5kKGME+mxKGI6rz9jhd
23
- 5bWyu2F6OHiMV0mTeqsJv/rsFxMCAwEAAaM5MDcwCQYDVR0TBAIwADAdBgNVHQ4E
24
- FgQU+ZnEadjqD5wr8hxyZKJOKmAl2rUwCwYDVR0PBAQDAgSwMA0GCSqGSIb3DQEB
25
- BQUAA4IBAQBySsz3aASz65YmFx/Jk6nHTjqHpUljt7S6TI7bzktf1C72Tq/QJ8qK
26
- SP+2tLVGC6u0LaIDeaUCkyTPMA6/xUeSkXp0b4CXBKX59L+qE2gHZiW2HvKmv6a7
27
- 4mt7nkL4APoOtHRWuheArVfldKkyfVS7vZ9EPH1GnV2ZUtQW5VMIo/kaZGoAAyAw
28
- xesY4Dp5k+h0GRrC2UlwHOMnNLfGFhTwnznfjCvsrQHKoMexArYIzEReizUfocmA
29
- oFZtyTHzE2VWZPd0gOPePU5AfG2vfTz6zJAg76LlJ02xCVzD0v8i89hTYZNacU/E
30
- BfoxzKzXuOqmc0cbx/V91e239w2ScpRv
18
+ ggEBAJT26Q1PFWuDE73UB4kWtSywhVX64gAlKkyueC9TPh3vfZLrLsZOH6NQ9IGb
19
+ bAyhZf5ssEipXjdb5zpW1hLA2+EXnP7+e2EnnR3nqnSua7EL5SQ2i5Hn1rjelQ4J
20
+ ZGf5bP7gKXiHPctKdUJNpt9hU3SbGfmacn5gLhmSEKl/hxhc5WaL09/i3bCFG0eB
21
+ K+6QBwjDLita3C+6PPxZmvE0g4IjrVqkIk3V14NTmrX8DEhFQMxI8O1vBAYgk9I0
22
+ PlfhMZnM0tCpN0ik61K2vEyBuL2EBTpVlRkPGL01D42CwwNc430y689Vzs14Sa4U
23
+ 7jASGyLD4ah+BG4FTrSTCv7qj8ECAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUdl92Ym4BQXiYru+4ezYtdNP4isEwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAjYjzqR2Q
27
+ Ye8tLT8e2owwEyNvCQtd/T6Cs/3HrPdUMllEepnw1T/zFYb3WzLvkejuFGfVpEAK
28
+ ad3NY0L8kHyc0U3+GtJTxiEQAWgdvw58UVS8SGbErccA5qwN9YDjWCOvigZBp3X9
29
+ VPmkPlc6HEAy1LfwdlGOTjbnh/5w6VCOrewqbBn8AZRbu3Bdm0Y2UUmnhmTKJPRZ
30
+ hHAfaOtCOVvDm1xVsvJ2SAAp/PsqRVZOTfXEZygGuIANnD3zQlBdFiJFByEbdDal
31
+ hfU2aUsh32EdO0lz//CAq6vJ6SOTB7aLPUBCTqjepgkYPqhbA4xLDdvXr4sd5ObL
32
+ ZuH02/86EylsSA==
31
33
  -----END CERTIFICATE-----
32
- date: 2013-10-05 00:00:00.000000000 Z
34
+ date: 2014-10-26 00:00:00.000000000 Z
33
35
  dependencies:
34
36
  - !ruby/object:Gem::Dependency
35
37
  name: dynarex
36
38
  requirement: !ruby/object:Gem::Requirement
37
39
  requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.2'
38
43
  - - ">="
39
44
  - !ruby/object:Gem::Version
40
- version: '0'
45
+ version: 1.2.90
41
46
  type: :runtime
42
47
  prerelease: false
43
48
  version_requirements: !ruby/object:Gem::Requirement
44
49
  requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.2'
45
53
  - - ">="
46
54
  - !ruby/object:Gem::Version
47
- version: '0'
55
+ version: 1.2.90
48
56
  - !ruby/object:Gem::Dependency
49
57
  name: rxfhelper
50
58
  requirement: !ruby/object:Gem::Requirement
51
59
  requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.1'
52
63
  - - ">="
53
64
  - !ruby/object:Gem::Version
54
- version: '0'
65
+ version: 0.1.12
55
66
  type: :runtime
56
67
  prerelease: false
57
68
  version_requirements: !ruby/object:Gem::Requirement
58
69
  requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.1'
59
73
  - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: '0'
75
+ version: 0.1.12
62
76
  description:
63
77
  email: james@r0bertson.co.uk
64
78
  executables: []
@@ -78,7 +92,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
78
92
  requirements:
79
93
  - - ">="
80
94
  - !ruby/object:Gem::Version
81
- version: '0'
95
+ version: 2.1.2
82
96
  required_rubygems_version: !ruby/object:Gem::Requirement
83
97
  requirements:
84
98
  - - ">="
@@ -86,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
100
  version: '0'
87
101
  requirements: []
88
102
  rubyforge_project:
89
- rubygems_version: 2.0.0.rc.2
103
+ rubygems_version: 2.2.2
90
104
  signing_key:
91
105
  specification_version: 4
92
106
  summary: dataisland
metadata.gz.sig CHANGED
Binary file