remote_table 3.0.0 → 3.1.0
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 +8 -8
- data/CHANGELOG +10 -0
- data/lib/remote_table.rb +0 -2
- data/lib/remote_table/delimited.rb +16 -3
- data/lib/remote_table/plaintext.rb +1 -1
- data/lib/remote_table/version.rb +1 -1
- data/remote_table.gemspec +2 -3
- data/test/data/cm.pathological.txt +7 -0
- data/test/data/cm.tsv +7 -0
- data/test/data/cm.txt +7 -0
- data/test/test_remote_table.rb +16 -0
- metadata +14 -21
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzE1ZTc4ZmI1MGYzMWNmNmI3MTJjNmU5ZWE2NmEyZmMzNGY0MDAyOA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MWExYTNiZjk0ZGE2MmEzNWRjYjI4YWEyMzVkMzU5MWE1YTAwYmJhOA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZWVhNzUxMWRmZWE5Yjk5YmMxZmZiZmUyNWUxYjE2NzNjYjBlYjE4ZDc2Y2Jj
|
10
|
+
NGY0ZDY1MGVmZDk1MDY0NDRiNTNmYTc3ZDViOGE3YjZmZTAxMjk2N2Y2M2Nl
|
11
|
+
NzA1N2M2ZmE0OWY2MGMyNjYyNTlmOWRmMjRlODJmNGQ3MmUyNmM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NmIwNGI4ZjEzNDIyOTE4ZjA3ZmFlZjJiOTY2OTk5ZDRmZWEyMjdjNWZkODc0
|
14
|
+
NzBlMWVlMWEzMWE2NGU0YTcyMjRjOWIwMGNlZDAyNDI4MGZkNmJkNWQ4NTlj
|
15
|
+
MzM0ZWFlZTMwNDM5ZGJjYWNlZDMxN2NhYmM5ZTgyMTFlMjk3NjQ=
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
3.1.0 / 2014-01-06
|
2
|
+
|
3
|
+
* Breaking changes
|
4
|
+
|
5
|
+
* Stop requiring rubyzip2 on behalf of Roo per @rossmeissl https://github.com/seamusabshere/remote_table/issues/15 ... you may have to require it yourself
|
6
|
+
|
7
|
+
* Enhancements
|
8
|
+
|
9
|
+
* by default, treat single and double quotes as "not special" in pipe- or tab-delimited files - thanks @dwillis https://github.com/seamusabshere/remote_table/pull/14
|
10
|
+
|
1
11
|
3.0.0 / 2013-11-26
|
2
12
|
|
3
13
|
* Breaking changes
|
data/lib/remote_table.rb
CHANGED
@@ -63,11 +63,24 @@ class RemoteTable
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def csv_options
|
66
|
-
{
|
66
|
+
retval = {
|
67
67
|
skip_blanks: !keep_blank_rows,
|
68
|
-
col_sep: delimiter,
|
69
|
-
quote_char: quote_char,
|
70
68
|
}
|
69
|
+
if delimiter
|
70
|
+
retval[:col_sep] = delimiter
|
71
|
+
end
|
72
|
+
if adaptive_quote_char
|
73
|
+
retval[:quote_char] = adaptive_quote_char
|
74
|
+
end
|
75
|
+
retval
|
76
|
+
end
|
77
|
+
|
78
|
+
def adaptive_quote_char
|
79
|
+
if quote_char
|
80
|
+
quote_char
|
81
|
+
elsif delimiter == "\t" or delimiter == '|'
|
82
|
+
"\0"
|
83
|
+
end
|
71
84
|
end
|
72
85
|
|
73
86
|
def headers
|
@@ -28,7 +28,7 @@ class RemoteTable
|
|
28
28
|
harmful = [ Plaintext.soft_hyphen(encoding), UTF8_BOM ]
|
29
29
|
local_copy.in_place :perl, "s/#{harmful.join('//g; s/')}//g"
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
# No matter what the file encoding is SUPPOSED to be, run it through the system iconv binary to make sure it's UTF-8
|
33
33
|
#
|
34
34
|
# @example
|
data/lib/remote_table/version.rb
CHANGED
data/remote_table.gemspec
CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.authors = ["Seamus Abshere", "Andy Rossmeissl"]
|
8
8
|
s.email = ["seamus@abshere.net"]
|
9
9
|
s.homepage = "https://github.com/seamusabshere/remote_table"
|
10
|
-
s.summary = %{Open
|
11
|
-
s.description = %{Open
|
10
|
+
s.summary = %{Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab separated), other delimited, fixed-width files, and Google Docs. Returns an enumerator of Arrays or Hashes, depending on whether there are headers.}
|
11
|
+
s.description = %{Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab separated), other delimited, fixed-width files, and Google Docs. Returns an enumerator of Arrays or Hashes, depending on whether there are headers.}
|
12
12
|
|
13
13
|
s.rubyforge_project = "remotetable"
|
14
14
|
|
@@ -24,7 +24,6 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_runtime_dependency 'unix_utils', '>=0.0.8'
|
25
25
|
s.add_runtime_dependency 'fastercsv', '>=1.5.0'
|
26
26
|
s.add_runtime_dependency 'hash_digest'
|
27
|
-
s.add_runtime_dependency 'rubyzip2'
|
28
27
|
|
29
28
|
s.add_development_dependency 'errata', '>=0.2.0'
|
30
29
|
s.add_development_dependency 'minitest'
|
@@ -0,0 +1,7 @@
|
|
1
|
+
C00008896|`OPEIU LOCAL 153 '"|VOTE|"' (VOICE OF THE ELECTORATE) COMMITTEE`|RICHARD J LANIGAN|265 WEST 14TH ST.||NEW YORK|NY|10011|U|Q||Q|L|EMPLOYEES INT'L UNION; OFFICE & PROF.|
|
2
|
+
C00009282|NORFOLK SOUTHERN CORPORATION GOOD GOVERNMENT FUND|LEDOUX, MARQUE|ONE CONSTITUTION AVE NE||WASHINGTON|DC|20002|B|Q|UNK|M|C|NORFOLK SOUTHERN CORPORATION|
|
3
|
+
C00009357|THE RECORDING INDUSTRY ASSOCIATION OF AMERICA POLITICAL ACTION COMMITTEE|GLAZIER, MITCH|1025 F STREET NW|10TH FLOOR|WASHINGTON|DC|20004|B|Q||Q|T|THE RECORDING INDUSTRY ASSOCIATION OF AMERICA, INC.|
|
4
|
+
C00009423|LAND O'LAKES, INC., PAC|GRABOW, KAREN|P.O. BOX 64101||ST. PAUL|MN|55164|B|Q||Q|V|LAND O'LAKES, INC.|
|
5
|
+
C00009456|3RD CONGRESSIONAL DISTRICT DEMOCRATIC PARTY OF WISCONSIN|UGLAND, GERALD DAVID MR.|2450 RIVER BEND ROAD||PLOVER|WI|544672728|U|Y|DEM|Q||DEMOCRATIC PARTY OF WISCONSIN|
|
6
|
+
C00009597|NATIONAL COUNCIL OF COAL LESSORS INC PAC|CRAWFORD, THOMAS|101 CONSTITUTION AVENUE NW|SUITE 900|WASHINGTON|DC|20001|U|Q||A|T|COAL LESSORS INC; NAT'L COUNCIL OF|
|
7
|
+
C00277525|`JERRY CARROLL |S| COMMITTEE`|JERRY CARROLL|PO BOX 9079||STOCKTON|CA|95208|P|S|IND|A|||S2CA00591
|
data/test/data/cm.tsv
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
C00008896 OPEIU LOCAL 153 "VOTE" (VOICE OF THE ELECTORATE) COMMITTEE RICHARD J LANIGAN 265 WEST 14TH ST. NEW YORK NY 10011 U Q Q L EMPLOYEES INT'L UNION; OFFICE & PROF.
|
2
|
+
C00009282 NORFOLK SOUTHERN CORPORATION GOOD GOVERNMENT FUND LEDOUX, MARQUE ONE CONSTITUTION AVE NE WASHINGTON DC 20002 B Q UNK M C NORFOLK SOUTHERN CORPORATION
|
3
|
+
C00009357 THE RECORDING INDUSTRY ASSOCIATION OF AMERICA POLITICAL ACTION COMMITTEE GLAZIER, MITCH 1025 F STREET NW 10TH FLOOR WASHINGTON DC 20004 B Q Q T THE RECORDING INDUSTRY ASSOCIATION OF AMERICA, INC.
|
4
|
+
C00009423 LAND O'LAKES, INC., PAC GRABOW, KAREN P.O. BOX 64101 ST. PAUL MN 55164 B Q Q V LAND O'LAKES, INC.
|
5
|
+
C00009456 3RD CONGRESSIONAL DISTRICT DEMOCRATIC PARTY OF WISCONSIN UGLAND, GERALD DAVID MR. 2450 RIVER BEND ROAD PLOVER WI 544672728 U Y DEM Q DEMOCRATIC PARTY OF WISCONSIN
|
6
|
+
C00009597 NATIONAL COUNCIL OF COAL LESSORS INC PAC CRAWFORD, THOMAS 101 CONSTITUTION AVENUE NW SUITE 900 WASHINGTON DC 20001 U Q A T COAL LESSORS INC; NAT'L COUNCIL OF
|
7
|
+
C00277525 JERRY CARROLL "S" COMMITTEE JERRY CARROLL PO BOX 9079 STOCKTON CA 95208 P S IND A S2CA00591
|
data/test/data/cm.txt
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
C00008896|OPEIU LOCAL 153 "VOTE" (VOICE OF THE ELECTORATE) COMMITTEE|RICHARD J LANIGAN|265 WEST 14TH ST.||NEW YORK|NY|10011|U|Q||Q|L|EMPLOYEES INT'L UNION; OFFICE & PROF.|
|
2
|
+
C00009282|NORFOLK SOUTHERN CORPORATION GOOD GOVERNMENT FUND|LEDOUX, MARQUE|ONE CONSTITUTION AVE NE||WASHINGTON|DC|20002|B|Q|UNK|M|C|NORFOLK SOUTHERN CORPORATION|
|
3
|
+
C00009357|THE RECORDING INDUSTRY ASSOCIATION OF AMERICA POLITICAL ACTION COMMITTEE|GLAZIER, MITCH|1025 F STREET NW|10TH FLOOR|WASHINGTON|DC|20004|B|Q||Q|T|THE RECORDING INDUSTRY ASSOCIATION OF AMERICA, INC.|
|
4
|
+
C00009423|LAND O'LAKES, INC., PAC|GRABOW, KAREN|P.O. BOX 64101||ST. PAUL|MN|55164|B|Q||Q|V|LAND O'LAKES, INC.|
|
5
|
+
C00009456|3RD CONGRESSIONAL DISTRICT DEMOCRATIC PARTY OF WISCONSIN|UGLAND, GERALD DAVID MR.|2450 RIVER BEND ROAD||PLOVER|WI|544672728|U|Y|DEM|Q||DEMOCRATIC PARTY OF WISCONSIN|
|
6
|
+
C00009597|NATIONAL COUNCIL OF COAL LESSORS INC PAC|CRAWFORD, THOMAS|101 CONSTITUTION AVENUE NW|SUITE 900|WASHINGTON|DC|20001|U|Q||A|T|COAL LESSORS INC; NAT'L COUNCIL OF|
|
7
|
+
C00277525|JERRY CARROLL "S" COMMITTEE|JERRY CARROLL|PO BOX 9079||STOCKTON|CA|95208|P|S|IND|A|||S2CA00591
|
data/test/test_remote_table.rb
CHANGED
@@ -59,6 +59,22 @@ describe RemoteTable do
|
|
59
59
|
f.close
|
60
60
|
end
|
61
61
|
|
62
|
+
it "treats quotes as not special in a pipe-delimited file" do
|
63
|
+
t = RemoteTable.new "file://#{File.expand_path('../data/cm.txt', __FILE__)}", :delimiter => '|', :headers => false
|
64
|
+
t[0][1].must_equal %{OPEIU LOCAL 153 "VOTE" (VOICE OF THE ELECTORATE) COMMITTEE}
|
65
|
+
end
|
66
|
+
|
67
|
+
it "treats quotes as not special in a tab-delimited file" do
|
68
|
+
t = RemoteTable.new "file://#{File.expand_path('../data/cm.tsv', __FILE__)}", :delimiter => "\t", :headers => false
|
69
|
+
t[0][1].must_equal %{OPEIU LOCAL 153 "VOTE" (VOICE OF THE ELECTORATE) COMMITTEE}
|
70
|
+
end
|
71
|
+
|
72
|
+
# using backticks
|
73
|
+
it "allows quoted pipes in a pipe-delimited file" do
|
74
|
+
t = RemoteTable.new "file://#{File.expand_path('../data/cm.pathological.txt', __FILE__)}", :delimiter => '|', :headers => false, :quote_char => '`'
|
75
|
+
t[0][1].must_equal %{OPEIU LOCAL 153 '"|VOTE|"' (VOICE OF THE ELECTORATE) COMMITTEE}
|
76
|
+
end
|
77
|
+
|
62
78
|
it "open a yaml" do
|
63
79
|
t = RemoteTable.new "file://#{File.expand_path('../data/data.yml', __FILE__)}"
|
64
80
|
t[0]['name'].must_equal 'Seamus Abshere'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remote_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seamus Abshere
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-01-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -109,20 +109,6 @@ dependencies:
|
|
109
109
|
- - ! '>='
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: rubyzip2
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - ! '>='
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '0'
|
119
|
-
type: :runtime
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
112
|
- !ruby/object:Gem::Dependency
|
127
113
|
name: errata
|
128
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,9 +207,9 @@ dependencies:
|
|
221
207
|
- - ! '>='
|
222
208
|
- !ruby/object:Gem::Version
|
223
209
|
version: '0'
|
224
|
-
description: Open
|
225
|
-
separated),
|
226
|
-
|
210
|
+
description: Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab
|
211
|
+
separated), other delimited, fixed-width files, and Google Docs. Returns an enumerator
|
212
|
+
of Arrays or Hashes, depending on whether there are headers.
|
227
213
|
email:
|
228
214
|
- seamus@abshere.net
|
229
215
|
executables: []
|
@@ -256,6 +242,9 @@ files:
|
|
256
242
|
- test/data/airports.utf8.csv
|
257
243
|
- test/data/backup/http___www.customerreferenceprogram.org_uploads_CRP_RFP_template.xlsx
|
258
244
|
- test/data/bom.csv
|
245
|
+
- test/data/cm.pathological.txt
|
246
|
+
- test/data/cm.tsv
|
247
|
+
- test/data/cm.txt
|
259
248
|
- test/data/color.csv
|
260
249
|
- test/data/data.yml
|
261
250
|
- test/data/faa-aircraft.html.bz2
|
@@ -307,12 +296,16 @@ rubyforge_project: remotetable
|
|
307
296
|
rubygems_version: 2.1.11
|
308
297
|
signing_key:
|
309
298
|
specification_version: 4
|
310
|
-
summary: Open
|
311
|
-
|
299
|
+
summary: Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab separated),
|
300
|
+
other delimited, fixed-width files, and Google Docs. Returns an enumerator of Arrays
|
301
|
+
or Hashes, depending on whether there are headers.
|
312
302
|
test_files:
|
313
303
|
- test/data/airports.utf8.csv
|
314
304
|
- test/data/backup/http___www.customerreferenceprogram.org_uploads_CRP_RFP_template.xlsx
|
315
305
|
- test/data/bom.csv
|
306
|
+
- test/data/cm.pathological.txt
|
307
|
+
- test/data/cm.tsv
|
308
|
+
- test/data/cm.txt
|
316
309
|
- test/data/color.csv
|
317
310
|
- test/data/data.yml
|
318
311
|
- test/data/faa-aircraft.html.bz2
|