remote_table 0.2.14 → 0.2.15
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/remote_table/request.rb +7 -2
- data/remote_table.gemspec +1 -1
- data/test/remote_table_test.rb +8 -0
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.15
|
data/lib/remote_table/request.rb
CHANGED
@@ -7,8 +7,13 @@ class RemoteTable
|
|
7
7
|
def initialize(bus)
|
8
8
|
raise(ArgumentError, "RemoteTable needs :url option") unless bus[:url].present?
|
9
9
|
@parsed_url = URI.parse bus[:url]
|
10
|
-
if @parsed_url.host == 'spreadsheets.google.com'
|
11
|
-
|
10
|
+
if @parsed_url.host == 'spreadsheets.google.com'
|
11
|
+
if bus[:format].blank? or bus[:format].to_s == 'csv'
|
12
|
+
@parsed_url.query = 'output=csv&' + @parsed_url.query.sub(/\&?output=.*?(\&|\z)/, '\1')
|
13
|
+
end
|
14
|
+
if bus[:sheet].present?
|
15
|
+
@parsed_url.query = "gid=#{bus[:sheet]}&single=true&" + @parsed_url.query.gsub(/\&?(?:gid|single)=.*?(\&|\z)/, '\1')
|
16
|
+
end
|
12
17
|
end
|
13
18
|
@form_data = bus[:form_data]
|
14
19
|
end
|
data/remote_table.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{remote_table}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.15"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Seamus Abshere", "Andy Rossmeissl"]
|
data/test/remote_table_test.rb
CHANGED
@@ -99,6 +99,14 @@ class RemoteTableTest < Test::Unit::TestCase
|
|
99
99
|
assert_equal 'Rocky Mountain', t.rows.last['PAD district name']
|
100
100
|
assert_equal 'WY', t.rows.last['State']
|
101
101
|
end
|
102
|
+
|
103
|
+
should "open a Google Docs url (as a CSV, with sheet options)" do
|
104
|
+
t = RemoteTable.new(:url => 'http://spreadsheets.google.com/pub?single=false&key=t5HM1KbaRngmTUbntg8JwPA&gid=5', :sheet => 0)
|
105
|
+
assert_equal 'Gulf Coast', t.rows.first['PAD district name']
|
106
|
+
assert_equal 'AL', t.rows.first['State']
|
107
|
+
assert_equal 'Rocky Mountain', t.rows.last['PAD district name']
|
108
|
+
assert_equal 'WY', t.rows.last['State']
|
109
|
+
end
|
102
110
|
|
103
111
|
should "open a Google Docs url as a CSV without headers" do
|
104
112
|
t = RemoteTable.new(:url => 'http://spreadsheets.google.com/pub?key=t5HM1KbaRngmTUbntg8JwPA', :skip => 1, :headers => false)
|