middleman-google_drive 0.2.9 → 0.3.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 +4 -4
- data/README.md +0 -10
- data/lib/google_drive.rb +7 -8
- data/lib/middleman-google_drive/version.rb +1 -1
- data/middleman-google_drive.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c270c9613c9786889867c2f5e2181a96552f8f84
|
4
|
+
data.tar.gz: e03c80eaecd186d9fd239e491ff6eebf6f2bf3ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 076797830737c62c200b0b6fa10c724611b6ad7a64c5b6ecdd5e4f50c909f7b0036324b8ffdeb5d7f76f94d95f4959449276c557d9cdbd93046b8660f4d7e1d6
|
7
|
+
data.tar.gz: c1cbf78b8fdc84afc68ed748ce57d880a82cbfb89bec5156188210160f462807d49bb7f14de87c8f4610aecb0bfe3977f20a738da180c43877fe84d812a5e4ab
|
data/README.md
CHANGED
@@ -34,16 +34,6 @@ single document with multiple worksheets. If you only need a single document...
|
|
34
34
|
activate :google_drive, load_sheets: 'mygoogledocumentkey'
|
35
35
|
```
|
36
36
|
|
37
|
-
------
|
38
|
-
|
39
|
-
### WARNING!!!!
|
40
|
-
|
41
|
-
You can only reliably load old-style google spreadsheets. These spreadsheets have URLs that look like this: `https://docs.google.com/a/spreadsheet/ccc?key=mygoogledocumentkey#gid=4`. If you create a brand new google spreadsheet, it will load without crashing but the worksheet names and data will be all mixed up.
|
42
|
-
|
43
|
-
Click this link to create a new old-style google spreadsheet: [g.co/oldsheets](http://g.co/oldsheets)
|
44
|
-
|
45
|
-
------
|
46
|
-
|
47
37
|
You can then use the worksheets in your templates (make sure your worksheets
|
48
38
|
have names that only contain alpha-numeric characters; no spaces or strange things).
|
49
39
|
|
data/lib/google_drive.rb
CHANGED
@@ -3,6 +3,7 @@ require 'google/api_client'
|
|
3
3
|
require 'google/api_client/client_secrets'
|
4
4
|
require 'google/api_client/auth/file_storage'
|
5
5
|
require 'google/api_client/auth/installed_app'
|
6
|
+
require 'rubyXL'
|
6
7
|
|
7
8
|
class GoogleDrive
|
8
9
|
attr_reader :client
|
@@ -50,8 +51,6 @@ class GoogleDrive
|
|
50
51
|
end
|
51
52
|
|
52
53
|
def spreadsheet(key)
|
53
|
-
require 'roo'
|
54
|
-
|
55
54
|
list_resp = find(key)
|
56
55
|
|
57
56
|
# Grab the export url. We're gonna request the spreadsheet
|
@@ -72,8 +71,8 @@ class GoogleDrive
|
|
72
71
|
fp.write get_resp.body
|
73
72
|
fp.close
|
74
73
|
|
75
|
-
# now open the file with
|
76
|
-
ret =
|
74
|
+
# now open the file with spreadsheet
|
75
|
+
ret = RubyXL::Parser.parse(filename)
|
77
76
|
|
78
77
|
fp.unlink # delete our tempfile
|
79
78
|
|
@@ -83,14 +82,15 @@ class GoogleDrive
|
|
83
82
|
def prepared_spreadsheet(key)
|
84
83
|
xls = spreadsheet(key)
|
85
84
|
data = {}
|
86
|
-
xls.
|
85
|
+
xls.worksheets.each do |sheet|
|
86
|
+
title = sheet.sheet_name
|
87
87
|
# if the sheet is called microcopy, copy or ends with copy, we assume
|
88
88
|
# the first column contains keys and the second contains values.
|
89
89
|
# Like tarbell.
|
90
90
|
if %w(microcopy copy).include?(title.downcase) ||
|
91
91
|
title.downcase =~ /[ -_]copy$/
|
92
92
|
data[title] = {}
|
93
|
-
sheet.each do |row|
|
93
|
+
sheet.extract_data.each do |row|
|
94
94
|
# if the key name is reused, create an array with all the entries
|
95
95
|
if data[title].keys.include? row[0]
|
96
96
|
if data[title][row[0]].is_a? Array
|
@@ -104,8 +104,7 @@ class GoogleDrive
|
|
104
104
|
end
|
105
105
|
else
|
106
106
|
# otherwise parse the sheet into a hash
|
107
|
-
|
108
|
-
data[title] = sheet.parse(headers: true)
|
107
|
+
data[title] = sheet.get_table[:table]
|
109
108
|
end
|
110
109
|
end
|
111
110
|
data
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency 'middleman-core', '~> 3'
|
23
23
|
spec.add_runtime_dependency 'retriable', '~> 1.4'
|
24
24
|
spec.add_runtime_dependency 'google-api-client', '< 0.8'
|
25
|
-
spec.add_runtime_dependency '
|
25
|
+
spec.add_runtime_dependency 'rubyXL'
|
26
26
|
spec.add_runtime_dependency 'archieml'
|
27
27
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
28
28
|
spec.add_development_dependency 'rake'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-google_drive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Mark
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-03-
|
12
|
+
date: 2015-03-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: middleman-core
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0.8'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: rubyXL
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - ">="
|