remote_table 2.1.2 → 3.0.0.alpha

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 (40) hide show
  1. data/CHANGELOG +12 -3
  2. data/README.markdown +1 -8
  3. data/lib/remote_table.rb +72 -87
  4. data/lib/remote_table/fixed_width.rb +5 -5
  5. data/lib/remote_table/local_copy.rb +1 -1
  6. data/lib/remote_table/plaintext.rb +3 -3
  7. data/lib/remote_table/processed_by_roo.rb +6 -4
  8. data/lib/remote_table/version.rb +1 -1
  9. data/remote_table.gemspec +3 -4
  10. data/test/{support → data}/airports.utf8.csv +0 -0
  11. data/test/data/color.csv +3 -0
  12. data/test/{fixtures → data}/data.yml +0 -0
  13. data/test/{support → data}/list-en1-semic-3.neooffice.binary.ods +0 -0
  14. data/test/{support → data}/list-en1-semic-3.neooffice.iso-8859-1.csv +0 -0
  15. data/test/{support → data}/list-en1-semic-3.neooffice.iso-8859-1.fixed_width-64 +0 -0
  16. data/test/{support → data}/list-en1-semic-3.neooffice.utf-8.csv +0 -0
  17. data/test/{support → data}/list-en1-semic-3.neooffice.utf-8.fixed_width-62 +0 -0
  18. data/test/{support → data}/list-en1-semic-3.neooffice.utf-8.html +0 -0
  19. data/test/{support → data}/list-en1-semic-3.neooffice.utf-8.xml +0 -0
  20. data/test/{support → data}/list-en1-semic-3.office-2011-for-mac-sp1-excel-95.binary.xls +0 -0
  21. data/test/{support → data}/list-en1-semic-3.office-2011-for-mac-sp1.binary.xls +0 -0
  22. data/test/{support → data}/list-en1-semic-3.office-2011-for-mac-sp1.binary.xlsx +0 -0
  23. data/test/{support → data}/list-en1-semic-3.office-2011-for-mac-sp1.iso-8859-1.html +0 -0
  24. data/test/{support → data}/list-en1-semic-3.office-2011-for-mac-sp1.mac.csv-comma +0 -0
  25. data/test/{support → data}/list-en1-semic-3.office-2011-for-mac-sp1.utf-8.html +0 -0
  26. data/test/{support → data}/list-en1-semic-3.original.iso-8859-1.csv +0 -0
  27. data/test/data/ranges.csv +4 -0
  28. data/test/test_errata.rb +2 -2
  29. data/test/test_local.rb +10 -0
  30. data/test/test_old_syntax.rb +0 -13
  31. data/test/test_parser.rb +24 -0
  32. data/test/test_remote.rb +113 -0
  33. data/test/test_remote_table.rb +30 -165
  34. data/test/test_transpose.rb +11 -0
  35. metadata +86 -66
  36. checksums.yaml +0 -15
  37. data/lib/remote_table/shp.rb +0 -30
  38. data/lib/remote_table/transformer.rb +0 -29
  39. data/test/test_old_transform.rb +0 -47
  40. data/test/test_shapefile.rb +0 -13
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ require 'helper'
3
+
4
+ describe RemoteTable do
5
+ it "has a transpose helper" do
6
+ t = RemoteTable.transpose('test/data/color.csv', 'en', 'es')
7
+ t['red'].must_equal 'rojo'
8
+ t = RemoteTable.transpose('test/data/color.csv', 'ru', 'en')
9
+ t['зеленый'].must_equal 'green'
10
+ end
11
+ end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remote_table
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 3.0.0.alpha
5
+ prerelease: 6
5
6
  platform: ruby
6
7
  authors:
7
8
  - Seamus Abshere
@@ -9,11 +10,12 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2013-10-08 00:00:00.000000000 Z
13
+ date: 2013-07-26 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: activesupport
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
20
  - - ! '>='
19
21
  - !ruby/object:Gem::Version
@@ -21,6 +23,7 @@ dependencies:
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ! '>='
26
29
  - !ruby/object:Gem::Version
@@ -28,20 +31,23 @@ dependencies:
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: roo
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
36
  - - ! '>='
33
37
  - !ruby/object:Gem::Version
34
- version: '1.11'
38
+ version: 1.10.3
35
39
  type: :runtime
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
44
  - - ! '>='
40
45
  - !ruby/object:Gem::Version
41
- version: '1.11'
46
+ version: 1.10.3
42
47
  - !ruby/object:Gem::Dependency
43
48
  name: fixed_width-multibyte
44
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
45
51
  requirements:
46
52
  - - ! '>='
47
53
  - !ruby/object:Gem::Version
@@ -49,6 +55,7 @@ dependencies:
49
55
  type: :runtime
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
52
59
  requirements:
53
60
  - - ! '>='
54
61
  - !ruby/object:Gem::Version
@@ -56,6 +63,7 @@ dependencies:
56
63
  - !ruby/object:Gem::Dependency
57
64
  name: i18n
58
65
  requirement: !ruby/object:Gem::Requirement
66
+ none: false
59
67
  requirements:
60
68
  - - ! '>='
61
69
  - !ruby/object:Gem::Version
@@ -63,6 +71,7 @@ dependencies:
63
71
  type: :runtime
64
72
  prerelease: false
65
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
66
75
  requirements:
67
76
  - - ! '>='
68
77
  - !ruby/object:Gem::Version
@@ -70,6 +79,7 @@ dependencies:
70
79
  - !ruby/object:Gem::Dependency
71
80
  name: unix_utils
72
81
  requirement: !ruby/object:Gem::Requirement
82
+ none: false
73
83
  requirements:
74
84
  - - ! '>='
75
85
  - !ruby/object:Gem::Version
@@ -77,6 +87,7 @@ dependencies:
77
87
  type: :runtime
78
88
  prerelease: false
79
89
  version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
80
91
  requirements:
81
92
  - - ! '>='
82
93
  - !ruby/object:Gem::Version
@@ -84,6 +95,7 @@ dependencies:
84
95
  - !ruby/object:Gem::Dependency
85
96
  name: fastercsv
86
97
  requirement: !ruby/object:Gem::Requirement
98
+ none: false
87
99
  requirements:
88
100
  - - ! '>='
89
101
  - !ruby/object:Gem::Version
@@ -91,6 +103,7 @@ dependencies:
91
103
  type: :runtime
92
104
  prerelease: false
93
105
  version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
94
107
  requirements:
95
108
  - - ! '>='
96
109
  - !ruby/object:Gem::Version
@@ -98,6 +111,7 @@ dependencies:
98
111
  - !ruby/object:Gem::Dependency
99
112
  name: hash_digest
100
113
  requirement: !ruby/object:Gem::Requirement
114
+ none: false
101
115
  requirements:
102
116
  - - ! '>='
103
117
  - !ruby/object:Gem::Version
@@ -105,6 +119,7 @@ dependencies:
105
119
  type: :runtime
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
108
123
  requirements:
109
124
  - - ! '>='
110
125
  - !ruby/object:Gem::Version
@@ -112,6 +127,7 @@ dependencies:
112
127
  - !ruby/object:Gem::Dependency
113
128
  name: errata
114
129
  requirement: !ruby/object:Gem::Requirement
130
+ none: false
115
131
  requirements:
116
132
  - - ! '>='
117
133
  - !ruby/object:Gem::Version
@@ -119,27 +135,15 @@ dependencies:
119
135
  type: :development
120
136
  prerelease: false
121
137
  version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
122
139
  requirements:
123
140
  - - ! '>='
124
141
  - !ruby/object:Gem::Version
125
142
  version: 0.2.0
126
143
  - !ruby/object:Gem::Dependency
127
- name: georuby
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ! '>='
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ! '>='
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
- - !ruby/object:Gem::Dependency
141
- name: dbf
144
+ name: minitest
142
145
  requirement: !ruby/object:Gem::Requirement
146
+ none: false
143
147
  requirements:
144
148
  - - ! '>='
145
149
  - !ruby/object:Gem::Version
@@ -147,13 +151,15 @@ dependencies:
147
151
  type: :development
148
152
  prerelease: false
149
153
  version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
150
155
  requirements:
151
156
  - - ! '>='
152
157
  - !ruby/object:Gem::Version
153
158
  version: '0'
154
159
  - !ruby/object:Gem::Dependency
155
- name: minitest
160
+ name: minitest-reporters
156
161
  requirement: !ruby/object:Gem::Requirement
162
+ none: false
157
163
  requirements:
158
164
  - - ! '>='
159
165
  - !ruby/object:Gem::Version
@@ -161,13 +167,15 @@ dependencies:
161
167
  type: :development
162
168
  prerelease: false
163
169
  version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
164
171
  requirements:
165
172
  - - ! '>='
166
173
  - !ruby/object:Gem::Version
167
174
  version: '0'
168
175
  - !ruby/object:Gem::Dependency
169
- name: minitest-reporters
176
+ name: rake
170
177
  requirement: !ruby/object:Gem::Requirement
178
+ none: false
171
179
  requirements:
172
180
  - - ! '>='
173
181
  - !ruby/object:Gem::Version
@@ -175,13 +183,15 @@ dependencies:
175
183
  type: :development
176
184
  prerelease: false
177
185
  version_requirements: !ruby/object:Gem::Requirement
186
+ none: false
178
187
  requirements:
179
188
  - - ! '>='
180
189
  - !ruby/object:Gem::Version
181
190
  version: '0'
182
191
  - !ruby/object:Gem::Dependency
183
- name: rake
192
+ name: yard
184
193
  requirement: !ruby/object:Gem::Requirement
194
+ none: false
185
195
  requirements:
186
196
  - - ! '>='
187
197
  - !ruby/object:Gem::Version
@@ -189,13 +199,15 @@ dependencies:
189
199
  type: :development
190
200
  prerelease: false
191
201
  version_requirements: !ruby/object:Gem::Requirement
202
+ none: false
192
203
  requirements:
193
204
  - - ! '>='
194
205
  - !ruby/object:Gem::Version
195
206
  version: '0'
196
207
  - !ruby/object:Gem::Dependency
197
- name: yard
208
+ name: pry
198
209
  requirement: !ruby/object:Gem::Requirement
210
+ none: false
199
211
  requirements:
200
212
  - - ! '>='
201
213
  - !ruby/object:Gem::Version
@@ -203,6 +215,7 @@ dependencies:
203
215
  type: :development
204
216
  prerelease: false
205
217
  version_requirements: !ruby/object:Gem::Requirement
218
+ none: false
206
219
  requirements:
207
220
  - - ! '>='
208
221
  - !ruby/object:Gem::Version
@@ -233,83 +246,90 @@ files:
233
246
  - lib/remote_table/plaintext.rb
234
247
  - lib/remote_table/processed_by_nokogiri.rb
235
248
  - lib/remote_table/processed_by_roo.rb
236
- - lib/remote_table/shp.rb
237
- - lib/remote_table/transformer.rb
238
249
  - lib/remote_table/version.rb
239
250
  - lib/remote_table/xls.rb
240
251
  - lib/remote_table/xlsx.rb
241
252
  - lib/remote_table/xml.rb
242
253
  - lib/remote_table/yaml.rb
243
254
  - remote_table.gemspec
244
- - test/fixtures/data.yml
255
+ - test/data/airports.utf8.csv
256
+ - test/data/color.csv
257
+ - test/data/data.yml
258
+ - test/data/list-en1-semic-3.neooffice.binary.ods
259
+ - test/data/list-en1-semic-3.neooffice.iso-8859-1.csv
260
+ - test/data/list-en1-semic-3.neooffice.iso-8859-1.fixed_width-64
261
+ - test/data/list-en1-semic-3.neooffice.utf-8.csv
262
+ - test/data/list-en1-semic-3.neooffice.utf-8.fixed_width-62
263
+ - test/data/list-en1-semic-3.neooffice.utf-8.html
264
+ - test/data/list-en1-semic-3.neooffice.utf-8.xml
265
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1-excel-95.binary.xls
266
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.binary.xls
267
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.binary.xlsx
268
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.iso-8859-1.html
269
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.mac.csv-comma
270
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.utf-8.html
271
+ - test/data/list-en1-semic-3.original.iso-8859-1.csv
272
+ - test/data/ranges.csv
245
273
  - test/helper.rb
246
- - test/support/airports.utf8.csv
247
- - test/support/list-en1-semic-3.neooffice.binary.ods
248
- - test/support/list-en1-semic-3.neooffice.iso-8859-1.csv
249
- - test/support/list-en1-semic-3.neooffice.iso-8859-1.fixed_width-64
250
- - test/support/list-en1-semic-3.neooffice.utf-8.csv
251
- - test/support/list-en1-semic-3.neooffice.utf-8.fixed_width-62
252
- - test/support/list-en1-semic-3.neooffice.utf-8.html
253
- - test/support/list-en1-semic-3.neooffice.utf-8.xml
254
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1-excel-95.binary.xls
255
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.binary.xls
256
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.binary.xlsx
257
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.iso-8859-1.html
258
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.mac.csv-comma
259
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.utf-8.html
260
- - test/support/list-en1-semic-3.original.iso-8859-1.csv
261
274
  - test/test_big.rb
262
275
  - test/test_errata.rb
276
+ - test/test_local.rb
263
277
  - test/test_old_syntax.rb
264
- - test/test_old_transform.rb
278
+ - test/test_parser.rb
279
+ - test/test_remote.rb
265
280
  - test/test_remote_table.rb
266
- - test/test_shapefile.rb
281
+ - test/test_transpose.rb
267
282
  homepage: https://github.com/seamusabshere/remote_table
268
283
  licenses: []
269
- metadata: {}
270
284
  post_install_message:
271
285
  rdoc_options: []
272
286
  require_paths:
273
287
  - lib
274
288
  required_ruby_version: !ruby/object:Gem::Requirement
289
+ none: false
275
290
  requirements:
276
291
  - - ! '>='
277
292
  - !ruby/object:Gem::Version
278
293
  version: '0'
279
294
  required_rubygems_version: !ruby/object:Gem::Requirement
295
+ none: false
280
296
  requirements:
281
- - - ! '>='
297
+ - - ! '>'
282
298
  - !ruby/object:Gem::Version
283
- version: '0'
299
+ version: 1.3.1
284
300
  requirements: []
285
301
  rubyforge_project: remotetable
286
- rubygems_version: 2.1.5
302
+ rubygems_version: 1.8.25
287
303
  signing_key:
288
- specification_version: 4
304
+ specification_version: 3
289
305
  summary: Open Google Docs spreadsheets, local or remote XLSX, XLS, ODS, CSV (comma
290
306
  separated), TSV (tab separated), other delimited, fixed-width files, and shapefiles.
291
307
  test_files:
292
- - test/fixtures/data.yml
308
+ - test/data/airports.utf8.csv
309
+ - test/data/color.csv
310
+ - test/data/data.yml
311
+ - test/data/list-en1-semic-3.neooffice.binary.ods
312
+ - test/data/list-en1-semic-3.neooffice.iso-8859-1.csv
313
+ - test/data/list-en1-semic-3.neooffice.iso-8859-1.fixed_width-64
314
+ - test/data/list-en1-semic-3.neooffice.utf-8.csv
315
+ - test/data/list-en1-semic-3.neooffice.utf-8.fixed_width-62
316
+ - test/data/list-en1-semic-3.neooffice.utf-8.html
317
+ - test/data/list-en1-semic-3.neooffice.utf-8.xml
318
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1-excel-95.binary.xls
319
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.binary.xls
320
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.binary.xlsx
321
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.iso-8859-1.html
322
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.mac.csv-comma
323
+ - test/data/list-en1-semic-3.office-2011-for-mac-sp1.utf-8.html
324
+ - test/data/list-en1-semic-3.original.iso-8859-1.csv
325
+ - test/data/ranges.csv
293
326
  - test/helper.rb
294
- - test/support/airports.utf8.csv
295
- - test/support/list-en1-semic-3.neooffice.binary.ods
296
- - test/support/list-en1-semic-3.neooffice.iso-8859-1.csv
297
- - test/support/list-en1-semic-3.neooffice.iso-8859-1.fixed_width-64
298
- - test/support/list-en1-semic-3.neooffice.utf-8.csv
299
- - test/support/list-en1-semic-3.neooffice.utf-8.fixed_width-62
300
- - test/support/list-en1-semic-3.neooffice.utf-8.html
301
- - test/support/list-en1-semic-3.neooffice.utf-8.xml
302
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1-excel-95.binary.xls
303
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.binary.xls
304
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.binary.xlsx
305
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.iso-8859-1.html
306
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.mac.csv-comma
307
- - test/support/list-en1-semic-3.office-2011-for-mac-sp1.utf-8.html
308
- - test/support/list-en1-semic-3.original.iso-8859-1.csv
309
327
  - test/test_big.rb
310
328
  - test/test_errata.rb
329
+ - test/test_local.rb
311
330
  - test/test_old_syntax.rb
312
- - test/test_old_transform.rb
331
+ - test/test_parser.rb
332
+ - test/test_remote.rb
313
333
  - test/test_remote_table.rb
314
- - test/test_shapefile.rb
334
+ - test/test_transpose.rb
315
335
  has_rdoc:
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDMzYjM5MmViMDA2OTRjMDMwMjljYmJjMmJhNmExODNmMTkzYmI3OA==
5
- data.tar.gz: !binary |-
6
- MDkxZmI3MWM4ZTJjYWM3NDYxOGQzMzRiYzIyMGQ2ODAyOWY0NTNjNg==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- OWU5NzM2OWM1MDljMTg3MzJiOWZjN2MxMzliYjhhZDdmNDYyY2E5ZWFhOTE2
10
- MWI4YjA1NWM5YjhiMDYxMjA1ZDBkZTFiZTQ4OGJiMDlmNGVhNjg5Nzg2ZTkz
11
- MmIxZTZmOGQyMmRhNTI4OTk5YjU1ODM0NjI1ZmIzYzMyZmFiNmI=
12
- data.tar.gz: !binary |-
13
- ZTFhMTk4ZjAyZTdkM2RmZmM1ZmEyZmI5ZWQzMWFkZTliZWIxNmMxMjdhYTBm
14
- NDg0YTQ3YThlYzgxNTRhZTQ5YTYzMDU5ZGYxODkzNmIxOWMwMzk5YjMwZTA4
15
- ODVmOGRkNDBmNmExMjUyOWRmNTMzN2U1MjFmZjUyNzZmMzM5OTE=
@@ -1,30 +0,0 @@
1
- class RemoteTable
2
- # Mixed in to process SHP with the georuby library.
3
- module Shp
4
- def _each
5
- require 'geo_ruby'
6
- require 'geo_ruby/shp4r/shp'
7
-
8
- shp = Dir[File.join(local_copy.path, '*.shp')].first
9
- GeoRuby::Shp4r::ShpFile.open(shp) do |shapefile|
10
- shapefile.each do |row|
11
- hsh = {}
12
- row.data.attributes.each do |name, value|
13
- hsh[name] = value
14
- end
15
-
16
- envelope = row.geometry.envelope
17
- hsh['center'] = envelope.center
18
- hsh['upper_corner_x'] = envelope.upper_corner.x
19
- hsh['upper_corner_y'] = envelope.upper_corner.y
20
- hsh['lower_corner_x'] = envelope.lower_corner.x
21
- hsh['lower_corner_y'] = envelope.lower_corner.y
22
-
23
- yield hsh
24
- end
25
- end
26
- ensure
27
- local_copy.cleanup
28
- end
29
- end
30
- end
@@ -1,29 +0,0 @@
1
- class RemoteTable
2
- class Transformer
3
- attr_reader :t
4
- def initialize(t)
5
- @t = t
6
- @legacy_transformer_mutex = ::Mutex.new
7
- end
8
- # eventually this will support a different way of specifying a transformer
9
- def transform(row)
10
- if legacy_transformer
11
- ::Array.wrap legacy_transformer.apply(row)
12
- else
13
- [row]
14
- end
15
- end
16
- def legacy_transformer
17
- return @legacy_transformer[0] if @legacy_transformer.is_a?(::Array)
18
- @legacy_transformer_mutex.synchronize do
19
- return @legacy_transformer[0] if @legacy_transformer.is_a?(::Array)
20
- memo = if (transform_settings = t.transform_settings)
21
- transform_settings = transform_settings.symbolize_keys
22
- transform_settings[:class].new transform_settings.except(:class)
23
- end
24
- @legacy_transformer = [memo]
25
- memo
26
- end
27
- end
28
- end
29
- end