dataisland 0.1.11 → 0.1.12
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 +7 -0
- checksums.yaml.gz.sig +0 -0
- data/lib/dataisland.rb +42 -18
- data.tar.gz.sig +2 -1
- metadata +46 -50
- metadata.gz.sig +3 -2
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b5bc75e167550296e13045654967700f5dcc12fb
|
4
|
+
data.tar.gz: 40bb470559240415f741b90d080c565b94f83b3b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7162703f232981f62e662bb6175ab5995b8e4152a0a1d645685651d4f9d224250dc725bb670e464994f33efb2dfa8c5030faae33ee6bed79f1a07276c481c8ed
|
7
|
+
data.tar.gz: 45293a91ed7f86fa4fa718661fa0e374ec8ced8a84ab3a2e325e2d856c3853ff52e1b5198a59ab9745a1c36d74826e1a852df1a4a05d61602bd16382f65be7c9
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data/lib/dataisland.rb
CHANGED
@@ -16,9 +16,7 @@ class DataIsland
|
|
16
16
|
def initialize(location)
|
17
17
|
|
18
18
|
buffer, typex = RXFHelper.read(location)
|
19
|
-
@html_doc = Rexle.new(buffer)
|
20
|
-
|
21
|
-
#exit
|
19
|
+
@html_doc = Rexle.new(buffer.sub(/^<!DOCTYPE html>/,''))
|
22
20
|
@html_doc.xpath('//script[@class="dataisland"]').map(&:delete)
|
23
21
|
@html_doc.xpath('//div[@datactl]').map(&:delete)
|
24
22
|
|
@@ -57,8 +55,7 @@ class DataIsland
|
|
57
55
|
@html_doc.xpath(xpath).each do |island|
|
58
56
|
render(records, x.attributes, island.element('//*[@datafld]'));
|
59
57
|
end
|
60
|
-
|
61
|
-
x.delete
|
58
|
+
x.delete unless h[:data] =~ /^\{/
|
62
59
|
end
|
63
60
|
end
|
64
61
|
|
@@ -132,20 +129,29 @@ class DataIsland
|
|
132
129
|
add_to_destnodes(dest_nodes,e.attribute(:datafld).downcase,e)
|
133
130
|
end
|
134
131
|
|
135
|
-
|
132
|
+
rec.xpath('.//a[@name]').each do |e|
|
133
|
+
r = e.attribute(:name)[/\{([^\}]+)\}/,1]
|
134
|
+
add_to_destnodes(dest_nodes,r,e) if r
|
135
|
+
end
|
136
136
|
|
137
|
-
a.each do |e|
|
137
|
+
rec.xpath('.//a[@href]').each do |e|
|
138
138
|
r = e.attribute(:href)[/\{([^\}]+)\}/,1]
|
139
139
|
add_to_destnodes(dest_nodes,r,e) if r
|
140
140
|
end
|
141
|
+
|
142
|
+
rec.xpath('.//object[@data]').each do |e|
|
143
|
+
|
144
|
+
r = e.attribute(:data)[/\{([^\}]+)\}$/,1]
|
145
|
+
add_to_destnodes(dest_nodes,r,e) if r
|
146
|
+
end
|
141
147
|
|
142
148
|
dest_nodes.keys.each do |raw_field|
|
143
149
|
|
144
150
|
field = raw_field.to_sym
|
145
151
|
next if record[field].nil?
|
146
|
-
|
152
|
+
|
147
153
|
dest_nodes[field].each do |e2|
|
148
|
-
|
154
|
+
|
149
155
|
case e2.name.downcase.to_sym
|
150
156
|
|
151
157
|
when :span
|
@@ -164,7 +170,21 @@ class DataIsland
|
|
164
170
|
elsif
|
165
171
|
e2.text = record[field]
|
166
172
|
end
|
167
|
-
|
173
|
+
|
174
|
+
when :object
|
175
|
+
|
176
|
+
datax = e2.attributes[:data]
|
177
|
+
|
178
|
+
if datax then
|
179
|
+
|
180
|
+
if datax[/{#{field}/] then
|
181
|
+
|
182
|
+
val = record[field]
|
183
|
+
new_data = datax.sub(/\{[^\}]+\}/,val)
|
184
|
+
e2.attributes[:data] = new_data
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
168
188
|
when :a
|
169
189
|
|
170
190
|
classx = e2.attributes[:class]
|
@@ -174,18 +194,22 @@ class DataIsland
|
|
174
194
|
val = record[field]
|
175
195
|
new_class = classx.sub(/\{[^\}]+\}/,val)
|
176
196
|
e2.attributes[:class] = new_class
|
177
|
-
end
|
178
|
-
|
179
|
-
href = e2.attributes[:href]
|
180
|
-
|
181
|
-
if href then
|
182
197
|
|
198
|
+
elsif e2.attributes[:name] then
|
199
|
+
|
200
|
+
name = e2.attributes[:name]
|
201
|
+
val = record[field]
|
202
|
+
new_name = name.sub(/\{[^\}]+\}/,val)
|
203
|
+
e2.attributes[:name] = new_name
|
204
|
+
|
205
|
+
elsif e2.attributes[:href] then
|
206
|
+
|
207
|
+
href = e2.attributes[:href]
|
183
208
|
val = record[field]
|
184
209
|
new_href = href.sub(/\{[^\}]+\}/,val)
|
185
210
|
e2.attributes[:href] = new_href
|
186
|
-
|
187
|
-
|
188
|
-
if e2.attributes[:datafld] then
|
211
|
+
|
212
|
+
elsif e2.attributes[:datafld] then
|
189
213
|
e2.attributes[:href] = record[field]
|
190
214
|
end
|
191
215
|
|
data.tar.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
5�LΎ1�:3��*M�m��x
|
2
|
+
�ɟ�<?8�^�X/�>�*���c����q��5
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dataisland
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.1.11
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.12
|
6
5
|
platform: ruby
|
7
|
-
authors:
|
6
|
+
authors:
|
8
7
|
- James Robertson
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
|
-
cert_chain:
|
10
|
+
cert_chain:
|
12
11
|
- |
|
13
12
|
-----BEGIN CERTIFICATE-----
|
14
13
|
MIIDRDCCAiygAwIBAgIBADANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
|
@@ -30,67 +29,64 @@ cert_chain:
|
|
30
29
|
oFZtyTHzE2VWZPd0gOPePU5AfG2vfTz6zJAg76LlJ02xCVzD0v8i89hTYZNacU/E
|
31
30
|
BfoxzKzXuOqmc0cbx/V91e239w2ScpRv
|
32
31
|
-----END CERTIFICATE-----
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
32
|
+
date: 2013-03-10 00:00:00.000000000 Z
|
33
|
+
dependencies:
|
34
|
+
- !ruby/object:Gem::Dependency
|
37
35
|
name: dynarex
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: "0"
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
45
41
|
type: :runtime
|
46
|
-
version_requirements: *id001
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rxfhelper
|
49
42
|
prerelease: false
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rxfhelper
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
56
55
|
type: :runtime
|
57
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
58
62
|
description:
|
59
63
|
email:
|
60
64
|
executables: []
|
61
|
-
|
62
65
|
extensions: []
|
63
|
-
|
64
66
|
extra_rdoc_files: []
|
65
|
-
|
66
|
-
files:
|
67
|
+
files:
|
67
68
|
- lib/dataisland.rb
|
68
69
|
homepage:
|
69
70
|
licenses: []
|
70
|
-
|
71
|
+
metadata: {}
|
71
72
|
post_install_message:
|
72
73
|
rdoc_options: []
|
73
|
-
|
74
|
-
require_paths:
|
74
|
+
require_paths:
|
75
75
|
- lib
|
76
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: "0"
|
76
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
88
86
|
requirements: []
|
89
|
-
|
90
87
|
rubyforge_project:
|
91
|
-
rubygems_version:
|
88
|
+
rubygems_version: 2.0.0.rc.2
|
92
89
|
signing_key:
|
93
|
-
specification_version:
|
90
|
+
specification_version: 4
|
94
91
|
summary: dataisland
|
95
92
|
test_files: []
|
96
|
-
|
metadata.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
�
|
1
|
+
w�����o^/������������x��<A�G��_��?�O�6F�[ȟ��x�=�`��5j%�q"�����^q\£UcE����I�=|0&�
|
2
|
+
&S�4�t{
|
3
|
+
�U� �n��*cN�3��V��мlsk���_�K7Zow#���p,~���y/���Usм�ĕ���M�bO.t�DS[.�{cHtB@"J"9A~��}�{�E�Xy{���*���N(N�D�D%q�O����
|