remote_table 3.0.0.rc1 → 3.0.0.rc2
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.
- data/CHANGELOG +16 -0
- data/lib/remote_table.rb +1 -1
- data/lib/remote_table/delimited.rb +12 -6
- data/lib/remote_table/ods.rb +8 -1
- data/lib/remote_table/version.rb +1 -1
- data/remote_table.gemspec +1 -0
- metadata +18 -2
data/CHANGELOG
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
3.0.0.rc2 / 2013-08-30
|
2
|
+
|
3
|
+
* Breaking changes
|
4
|
+
|
5
|
+
* skip blank lines at the top of CSV files when looking for headers
|
6
|
+
* require rubyzip2 for Roo compatibility with Ruby 1.9
|
7
|
+
|
8
|
+
* Enhancements
|
9
|
+
|
10
|
+
* eagerly load format-specific methods (instead of waiting for #each to be called)
|
11
|
+
* use new Roo class names (Roo::OpenOffice instead of Roo::Openoffice)
|
12
|
+
|
13
|
+
* Bug fixes
|
14
|
+
|
15
|
+
* pass CSV options to header parser - before, options like delimiter weren't passed so it couldn't read TSVs
|
16
|
+
|
1
17
|
3.0.0.rc1 / 2013-08-08
|
2
18
|
|
3
19
|
* Breaking changes
|
data/lib/remote_table.rb
CHANGED
@@ -444,6 +444,7 @@ class RemoteTable
|
|
444
444
|
@other_options = settings
|
445
445
|
|
446
446
|
@local_copy = LocalCopy.new self
|
447
|
+
extend!
|
447
448
|
end
|
448
449
|
|
449
450
|
# Yield each row.
|
@@ -452,7 +453,6 @@ class RemoteTable
|
|
452
453
|
#
|
453
454
|
# @yield [Hash,Array] A hash or an array depending on whether the RemoteTable has named headers (column names).
|
454
455
|
def each
|
455
|
-
extend!
|
456
456
|
if fully_cached?
|
457
457
|
cache.each do |row|
|
458
458
|
yield row
|
@@ -23,7 +23,7 @@ class RemoteTable
|
|
23
23
|
|
24
24
|
# Yield each row using Ruby's CSV parser (FasterCSV on Ruby 1.8).
|
25
25
|
def _each
|
26
|
-
Engine.new(local_copy.encoded_io, csv_options).each do |row|
|
26
|
+
Engine.new(local_copy.encoded_io, csv_options.merge(headers: headers)).each do |row|
|
27
27
|
|
28
28
|
some_value_present = false
|
29
29
|
|
@@ -65,7 +65,6 @@ class RemoteTable
|
|
65
65
|
def csv_options
|
66
66
|
{
|
67
67
|
skip_blanks: !keep_blank_rows,
|
68
|
-
headers: headers,
|
69
68
|
col_sep: delimiter,
|
70
69
|
quote_char: quote_char,
|
71
70
|
}
|
@@ -78,10 +77,17 @@ class RemoteTable
|
|
78
77
|
false
|
79
78
|
when :first_row, TrueClass
|
80
79
|
i = 0
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
80
|
+
begin
|
81
|
+
line = local_copy.encoded_io.gets.strip
|
82
|
+
end while line.length == 0
|
83
|
+
proto_headers = Engine.parse_line(line, csv_options)
|
84
|
+
if proto_headers
|
85
|
+
proto_headers.map do |v|
|
86
|
+
header = RemoteTable.normalize_whitespace v
|
87
|
+
header.present? ? header : "empty_#{i+=1}"
|
88
|
+
end
|
89
|
+
else
|
90
|
+
raise "No headers found in first line: #{line.inspect}"
|
85
91
|
end
|
86
92
|
when Array
|
87
93
|
@headers
|
data/lib/remote_table/ods.rb
CHANGED
@@ -11,7 +11,14 @@ class RemoteTable
|
|
11
11
|
if ::RUBY_PLATFORM == 'java'
|
12
12
|
::Kernel.warn "[remote_table] Opening ODS files on JRuby is known to fail because of a flaw in the underlying Roo library"
|
13
13
|
end
|
14
|
-
|
14
|
+
[:Openoffice, :OpenOffice]
|
15
|
+
if ::Roo.const_defined?(:OpenOffice)
|
16
|
+
::Roo::OpenOffice
|
17
|
+
elsif ::Roo.const_defined?(:Openoffice)
|
18
|
+
::Roo::Openoffice
|
19
|
+
else
|
20
|
+
raise "Couldn't find roo's OpenOffice class, maybe you need a newer version?"
|
21
|
+
end
|
15
22
|
end
|
16
23
|
end
|
17
24
|
end
|
data/lib/remote_table/version.rb
CHANGED
data/remote_table.gemspec
CHANGED
@@ -24,6 +24,7 @@ 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'
|
27
28
|
|
28
29
|
s.add_development_dependency 'errata', '>=0.2.0'
|
29
30
|
s.add_development_dependency 'minitest'
|
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.0.0.
|
4
|
+
version: 3.0.0.rc2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-08-
|
13
|
+
date: 2013-08-31 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -124,6 +124,22 @@ dependencies:
|
|
124
124
|
- - ! '>='
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: '0'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rubyzip2
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
type: :runtime
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
127
143
|
- !ruby/object:Gem::Dependency
|
128
144
|
name: errata
|
129
145
|
requirement: !ruby/object:Gem::Requirement
|