google_drive 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/README.rdoc +15 -18
- data/lib/google_drive.rb +66 -59
- data/lib/google_drive/config.rb +37 -0
- data/lib/google_drive/error.rb +0 -4
- data/lib/google_drive/session.rb +18 -17
- metadata +28 -47
- data/lib/google_drive_v0.rb +0 -148
- data/lib/google_drive_v0/acl.rb +0 -115
- data/lib/google_drive_v0/acl_entry.rb +0 -100
- data/lib/google_drive_v0/api_client_fetcher.rb +0 -47
- data/lib/google_drive_v0/authentication_error.rb +0 -14
- data/lib/google_drive_v0/basic_fetcher.rb +0 -50
- data/lib/google_drive_v0/client_login_fetcher.rb +0 -31
- data/lib/google_drive_v0/collection.rb +0 -167
- data/lib/google_drive_v0/error.rb +0 -12
- data/lib/google_drive_v0/file.rb +0 -258
- data/lib/google_drive_v0/list.rb +0 -119
- data/lib/google_drive_v0/list_row.rb +0 -88
- data/lib/google_drive_v0/oauth1_fetcher.rb +0 -26
- data/lib/google_drive_v0/oauth2_fetcher.rb +0 -24
- data/lib/google_drive_v0/record.rb +0 -31
- data/lib/google_drive_v0/session.rb +0 -522
- data/lib/google_drive_v0/spreadsheet.rb +0 -248
- data/lib/google_drive_v0/table.rb +0 -60
- data/lib/google_drive_v0/util.rb +0 -73
- data/lib/google_drive_v0/worksheet.rb +0 -498
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MGNlNTYxMjlkNGMyMzg0MTY5ODcwZjA0ZTk4ZDIwMjdlZTQ4Mjg1Nw==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6b4bb25ca507e0809ba9fc7a57f5a49667b61536
|
4
|
+
data.tar.gz: d6664ab492c6a12051d75890179eb06738df6821
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ZGRjNTQ5NDhjNjljNWMwN2FiMWRmMjIwMDYxMGZhODdjYjA3NWQ0OTgwM2I3
|
11
|
-
YzdmNzRlMTk4NWUyZGRiMWIyYTc0YWM4YWE4ZjJlYjVlNTlkMzg=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Yzk1MThlNjc3NWY4NzAxMDE1M2Q0MjQxYTUxOTQ0YTIwMmUzZjM4N2FhZjZj
|
14
|
-
NjZkNGEzNzIyMmIwYWVhNDk4MjhhNTFjNzFlOTA5MTA3MWUwMTkxNzc5OTFk
|
15
|
-
YzRiOTU4Mjk2M2Q5YjE0ODkyMTE3NzAxYzg4ODFjNjc3YjU1ZTM=
|
6
|
+
metadata.gz: b0a978d591952834520f3c8832c6c795de5936893a492e885eff1589b422a60aa61b094bd52067258f3e7158b669d6fbd9152ee924100baddb629667c9e655dc
|
7
|
+
data.tar.gz: 14a9596a037ffbceb349c2f2c95bdb688ddbcbef68a5a1460d9426ecc10f52d82e415e3208991cd99ee18fa16469a32e7cd2462d29a6936f06ce9a0d8a1e9cec
|
data/README.rdoc
CHANGED
@@ -19,22 +19,21 @@ Ver. 1.0.x is not 100% backward compatible with 0.3.x. Some methods have been re
|
|
19
19
|
|
20
20
|
First, follow "Create a client ID and client secret" in {this page}[https://developers.google.com/drive/web/auth/web-server] to get a client ID and client secret for OAuth. Set "Application type" to "Other" in the form to create a client ID if you use GoogleDrive.saved_session method as in the example below.
|
21
21
|
|
22
|
+
Next, create a file config.json which contains the client ID and crient secret you got above, which looks like:
|
23
|
+
|
24
|
+
{
|
25
|
+
"client_id": "xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
|
26
|
+
"client_secret": "xxxxxxxxxxxxxxxxxxxxxxxx"
|
27
|
+
}
|
28
|
+
|
22
29
|
Example to read/write files in Google Drive:
|
23
30
|
|
24
31
|
require "google/api_client"
|
25
32
|
require "google_drive"
|
26
33
|
|
27
|
-
# The client ID and client secret you obtained in the step above.
|
28
|
-
CLIENT_ID = ...
|
29
|
-
CLIENT_SECRET = ...
|
30
|
-
|
31
34
|
# Creates a session. This will prompt the credential via command line for the
|
32
|
-
# first time and save it to
|
33
|
-
|
34
|
-
# If you are developing a Web app, and you want to ask the user to log in in
|
35
|
-
# the Web app instead of via command line, follow the example code in:
|
36
|
-
# http://gimite.net/doc/google-drive-ruby/GoogleDrive.html#method-c-login_with_oauth
|
37
|
-
session = GoogleDrive.saved_session("./stored_token.json", nil, CLIENT_ID, CLIENT_SECRET)
|
35
|
+
# first time and save it to config.json file for later usages.
|
36
|
+
session = GoogleDrive.saved_session("config.json")
|
38
37
|
|
39
38
|
# Gets list of remote files.
|
40
39
|
session.files.each do |file|
|
@@ -50,16 +49,15 @@ Example to read/write files in Google Drive:
|
|
50
49
|
|
51
50
|
# Updates content of the remote file.
|
52
51
|
file.update_from_file("/path/to/hello.txt")
|
53
|
-
|
52
|
+
|
54
53
|
Example to read/write spreadsheets:
|
55
54
|
|
56
55
|
require "google/api_client"
|
57
56
|
require "google_drive"
|
58
57
|
|
59
|
-
#
|
60
|
-
|
61
|
-
|
62
|
-
session = GoogleDrive.login_with_oauth(access_token)
|
58
|
+
# Creates a session. This will prompt the credential via command line for the
|
59
|
+
# first time and save it to config.json file for later usages.
|
60
|
+
session = GoogleDrive.saved_session("config.json")
|
63
61
|
|
64
62
|
# First worksheet of
|
65
63
|
# https://docs.google.com/spreadsheet/ccc?key=pz7XtlQC-PYx-jrVMJErTcg
|
@@ -88,8 +86,7 @@ Example to read/write spreadsheets:
|
|
88
86
|
# Reloads the worksheet to get changes by other clients.
|
89
87
|
ws.reload
|
90
88
|
|
91
|
-
API document: http://
|
92
|
-
|
89
|
+
API document: http://www.rubydoc.info/gems/google_drive
|
93
90
|
|
94
91
|
= Source code
|
95
92
|
|
@@ -100,7 +97,7 @@ The license of this source is "New BSD Licence"
|
|
100
97
|
|
101
98
|
= Supported environments
|
102
99
|
|
103
|
-
Ruby 1.9.x or later. Checked with Ruby 1.9.3 and 2.1.
|
100
|
+
Ruby 1.9.x or later. Checked with Ruby 1.9.3 and 2.2.1.
|
104
101
|
|
105
102
|
|
106
103
|
= Author
|
data/lib/google_drive.rb
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
# Author: Hiroshi Ichikawa <http://gimite.net/>
|
2
2
|
# The license of this source is "New BSD Licence"
|
3
3
|
|
4
|
-
require
|
5
|
-
require
|
6
|
-
|
7
|
-
require "google_drive/session"
|
4
|
+
require 'json'
|
5
|
+
require 'google/api_client'
|
8
6
|
|
7
|
+
require 'google_drive/session'
|
9
8
|
|
10
9
|
module GoogleDrive
|
11
|
-
|
12
10
|
# Authenticates with given OAuth2 token.
|
13
11
|
#
|
14
12
|
# +access_token+ can be either OAuth2 access_token string, or OAuth2::AccessToken.
|
@@ -79,77 +77,86 @@ module GoogleDrive
|
|
79
77
|
return Session.new(client_or_access_token, proxy)
|
80
78
|
end
|
81
79
|
|
82
|
-
#
|
83
|
-
#
|
84
|
-
#
|
80
|
+
# Returns GoogleDrive::Session constructed from a config JSON file at +path+.
|
81
|
+
#
|
82
|
+
# Follow the following steps to use this method:
|
83
|
+
#
|
84
|
+
# First, follow "Create a client ID and client secret" in
|
85
|
+
# {this page}[https://developers.google.com/drive/web/auth/web-server] to get a client ID
|
86
|
+
# and client secret for OAuth. Set "Application type" to "Other" in the form to create a
|
87
|
+
# client ID if you use GoogleDrive.saved_session method as in the example below.
|
88
|
+
#
|
89
|
+
# Next, create a file config.json which contains the client ID and client secret you got
|
90
|
+
# above, which looks like:
|
91
|
+
#
|
92
|
+
# {
|
93
|
+
# "client_id": "xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
|
94
|
+
# "client_secret": "xxxxxxxxxxxxxxxxxxxxxxxx"
|
95
|
+
# }
|
96
|
+
#
|
97
|
+
# Then you can construct a GoogleDrive::Session by:
|
98
|
+
#
|
99
|
+
# session = GoogleDrive.saved_session("config.json")
|
100
|
+
#
|
101
|
+
# This will prompt the credential via command line for the first time and save it to
|
102
|
+
# config.json file for later usages.
|
85
103
|
#
|
86
104
|
# +path+ defaults to ENV["HOME"] + "/.ruby_google_drive.token".
|
87
105
|
#
|
88
|
-
#
|
89
|
-
|
106
|
+
# If the file doesn't exist or client ID/secret are not given in the file, the default client
|
107
|
+
# ID/secret embedded in the library is used.
|
108
|
+
def self.saved_session(
|
109
|
+
path = nil, proxy = nil, client_id = nil, client_secret = nil)
|
110
|
+
config = Config.new(path || ENV['HOME'] + '/.ruby_google_drive.token')
|
111
|
+
|
112
|
+
config.scope ||= [
|
113
|
+
'https://www.googleapis.com/auth/drive',
|
114
|
+
'https://spreadsheets.google.com/feeds/',
|
115
|
+
]
|
90
116
|
|
91
|
-
if
|
92
|
-
|
93
|
-
|
94
|
-
"Specifying a proxy object is no longer supported. Set ENV[\"http_proxy\"] instead.")
|
117
|
+
if client_id && client_secret
|
118
|
+
config.client_id = client_id
|
119
|
+
config.client_secret = client_secret
|
95
120
|
end
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
elsif !client_id || !client_secret
|
121
|
+
if !config.client_id && !config.client_secret
|
122
|
+
config.client_id = "452925651630-egr1f18o96acjjvphpbbd1qlsevkho1d.apps.googleusercontent.com"
|
123
|
+
config.client_secret = "1U3-Krii5x1oLPrwD5zgn-ry"
|
124
|
+
elsif !config.client_id || !config.client_secret
|
101
125
|
raise(ArgumentError, "client_id and client_secret must be both specified or both omitted")
|
102
126
|
end
|
103
127
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
when 1
|
109
|
-
token_data = JSON.parse(lines[0].chomp())
|
110
|
-
when 2
|
111
|
-
# Old format.
|
112
|
-
token_data = nil
|
113
|
-
else
|
114
|
-
raise(ArgumentError, "Not a token file: %s" % path)
|
115
|
-
end
|
116
|
-
else
|
117
|
-
token_data = nil
|
128
|
+
if proxy
|
129
|
+
raise(
|
130
|
+
ArgumentError,
|
131
|
+
'Specifying a proxy object is no longer supported. Set ENV["http_proxy"] instead.')
|
118
132
|
end
|
119
133
|
|
134
|
+
refresh_token = config.refresh_token
|
135
|
+
|
120
136
|
client = Google::APIClient.new(
|
121
|
-
|
122
|
-
|
137
|
+
:application_name => 'google_drive Ruby library',
|
138
|
+
:application_version => '0.4.0'
|
123
139
|
)
|
124
|
-
auth = client.authorization
|
125
|
-
auth.client_id = client_id
|
126
|
-
auth.client_secret = client_secret
|
127
|
-
auth.scope = [
|
128
|
-
"https://www.googleapis.com/auth/drive",
|
129
|
-
"https://spreadsheets.google.com/feeds/"
|
130
|
-
]
|
131
|
-
auth.redirect_uri = "urn:ietf:wg:oauth:2.0:oob"
|
132
|
-
|
133
|
-
if token_data
|
134
|
-
|
135
|
-
auth.refresh_token = token_data["refresh_token"]
|
136
|
-
auth.fetch_access_token!()
|
137
140
|
|
141
|
+
auth = client.authorization
|
142
|
+
auth.client_id = config.client_id
|
143
|
+
auth.client_secret = config.client_secret
|
144
|
+
auth.scope = config.scope
|
145
|
+
auth.redirect_uri = 'urn:ietf:wg:oauth:2.0:oob'
|
146
|
+
|
147
|
+
if config.refresh_token
|
148
|
+
auth.refresh_token = config.refresh_token
|
149
|
+
auth.fetch_access_token!
|
138
150
|
else
|
139
|
-
|
140
151
|
$stderr.print("\n1. Open this page:\n%s\n\n" % auth.authorization_uri)
|
141
|
-
$stderr.print(
|
142
|
-
auth.code = $stdin.gets
|
143
|
-
auth.fetch_access_token!
|
144
|
-
|
145
|
-
open(path, "w", 0600) do |f|
|
146
|
-
f.puts(JSON.dump(token_data))
|
147
|
-
end
|
148
|
-
|
152
|
+
$stderr.print('2. Enter the authorization code shown in the page: ')
|
153
|
+
auth.code = $stdin.gets.chomp
|
154
|
+
auth.fetch_access_token!
|
155
|
+
config.refresh_token = auth.refresh_token
|
149
156
|
end
|
150
157
|
|
151
|
-
|
158
|
+
config.save
|
152
159
|
|
160
|
+
return GoogleDrive.login_with_oauth(client)
|
153
161
|
end
|
154
|
-
|
155
162
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# Author: Mateusz Czerwinski <mtczerwinski@gmail.com>
|
2
|
+
# The license of this source is "New BSD Licence"
|
3
|
+
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
module GoogleDrive
|
7
|
+
class Config #:nodoc:
|
8
|
+
|
9
|
+
FIELDS = %w(client_id client_secret scope refresh_token).freeze
|
10
|
+
attr_accessor(*FIELDS)
|
11
|
+
|
12
|
+
def initialize(config_path)
|
13
|
+
@config_path = config_path
|
14
|
+
if ::File.exist?(config_path)
|
15
|
+
JSON.parse(::File.read(config_path)).each do |key, value|
|
16
|
+
instance_variable_set("@#{key}", value) if FIELDS.include?(key)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def save
|
22
|
+
::File.open(@config_path, 'w', 0600) { |f| f.write(to_json()) }
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def to_json
|
28
|
+
hash = {}
|
29
|
+
FIELDS.each do |field|
|
30
|
+
value = __send__(field)
|
31
|
+
hash[field] = value if value
|
32
|
+
end
|
33
|
+
return JSON.pretty_generate(hash)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
data/lib/google_drive/error.rb
CHANGED
data/lib/google_drive/session.rb
CHANGED
@@ -19,6 +19,7 @@ require "google_drive/spreadsheet"
|
|
19
19
|
require "google_drive/worksheet"
|
20
20
|
require "google_drive/collection"
|
21
21
|
require "google_drive/file"
|
22
|
+
require "google_drive/config"
|
22
23
|
|
23
24
|
|
24
25
|
module GoogleDrive
|
@@ -212,7 +213,7 @@ module GoogleDrive
|
|
212
213
|
def spreadsheet_by_title(title)
|
213
214
|
return spreadsheets("q" => ["title = ?", title], "maxResults" => 1)[0]
|
214
215
|
end
|
215
|
-
|
216
|
+
|
216
217
|
# Returns GoogleDrive::Worksheet with given +url+.
|
217
218
|
# You must specify URL of cell-based feed of the worksheet.
|
218
219
|
#
|
@@ -229,12 +230,12 @@ module GoogleDrive
|
|
229
230
|
worksheet_feed_entry = request(:get, worksheet_feed_url)
|
230
231
|
return Worksheet.new(self, nil, worksheet_feed_entry)
|
231
232
|
end
|
232
|
-
|
233
|
+
|
233
234
|
# Returns the root collection.
|
234
235
|
def root_collection
|
235
236
|
return @root_collection ||= file_by_id("root")
|
236
237
|
end
|
237
|
-
|
238
|
+
|
238
239
|
# Returns the top-level collections (direct children of the root collection).
|
239
240
|
#
|
240
241
|
# By default, it returns the first 100 collections. See document of files method for how to get
|
@@ -242,7 +243,7 @@ module GoogleDrive
|
|
242
243
|
def collections
|
243
244
|
return self.root_collection.subcollections
|
244
245
|
end
|
245
|
-
|
246
|
+
|
246
247
|
# Returns a top-level collection whose title exactly matches +title+ as
|
247
248
|
# GoogleDrive::Collection.
|
248
249
|
# Returns nil if not found. If multiple collections with the +title+ are found, returns
|
@@ -250,7 +251,7 @@ module GoogleDrive
|
|
250
251
|
def collection_by_title(title)
|
251
252
|
return self.root_collection.subcollection_by_title(title)
|
252
253
|
end
|
253
|
-
|
254
|
+
|
254
255
|
# Returns GoogleDrive::Collection with given +url+.
|
255
256
|
# You must specify either of:
|
256
257
|
# - URL of the page you get when you go to https://docs.google.com/ with your browser and
|
@@ -286,7 +287,7 @@ module GoogleDrive
|
|
286
287
|
:body_object => file)
|
287
288
|
return wrap_api_file(api_result.data)
|
288
289
|
end
|
289
|
-
|
290
|
+
|
290
291
|
# Uploads a file with the given +title+ and +content+.
|
291
292
|
# Returns a GoogleSpreadsheet::File object.
|
292
293
|
#
|
@@ -294,11 +295,11 @@ module GoogleDrive
|
|
294
295
|
# # Uploads and converts to a Google Docs document:
|
295
296
|
# session.upload_from_string(
|
296
297
|
# "Hello world.", "Hello", :content_type => "text/plain")
|
297
|
-
#
|
298
|
+
#
|
298
299
|
# # Uploads without conversion:
|
299
300
|
# session.upload_from_string(
|
300
301
|
# "Hello world.", "Hello", :content_type => "text/plain", :convert => false)
|
301
|
-
#
|
302
|
+
#
|
302
303
|
# # Uploads and converts to a Google Spreadsheet:
|
303
304
|
# session.upload_from_string("hoge\tfoo\n", "Hoge", :content_type => "text/tab-separated-values")
|
304
305
|
# session.upload_from_string("hoge,foo\n", "Hoge", :content_type => "text/tsv")
|
@@ -306,20 +307,20 @@ module GoogleDrive
|
|
306
307
|
media = new_upload_io(StringIO.new(content), params)
|
307
308
|
return upload_from_media(media, title, params)
|
308
309
|
end
|
309
|
-
|
310
|
+
|
310
311
|
# Uploads a local file.
|
311
312
|
# Returns a GoogleSpreadsheet::File object.
|
312
313
|
#
|
313
314
|
# e.g.
|
314
315
|
# # Uploads a text file and converts to a Google Docs document:
|
315
316
|
# session.upload_from_file("/path/to/hoge.txt")
|
316
|
-
#
|
317
|
+
#
|
317
318
|
# # Uploads without conversion:
|
318
319
|
# session.upload_from_file("/path/to/hoge.txt", "Hoge", :convert => false)
|
319
|
-
#
|
320
|
+
#
|
320
321
|
# # Uploads with explicit content type:
|
321
322
|
# session.upload_from_file("/path/to/hoge", "Hoge", :content_type => "text/plain")
|
322
|
-
#
|
323
|
+
#
|
323
324
|
# # Uploads a text file and converts to a Google Spreadsheet:
|
324
325
|
# session.upload_from_file("/path/to/hoge.csv", "Hoge")
|
325
326
|
# session.upload_from_file("/path/to/hoge", "Hoge", :content_type => "text/csv")
|
@@ -393,11 +394,11 @@ module GoogleDrive
|
|
393
394
|
return items
|
394
395
|
|
395
396
|
end
|
396
|
-
|
397
|
+
|
397
398
|
end
|
398
|
-
|
399
|
+
|
399
400
|
def request(method, url, params = {}) #:nodoc:
|
400
|
-
|
401
|
+
|
401
402
|
# Always uses HTTPS.
|
402
403
|
url = url.gsub(%r{^http://}, "https://")
|
403
404
|
data = params[:data]
|
@@ -424,9 +425,9 @@ module GoogleDrive
|
|
424
425
|
end
|
425
426
|
return convert_response(response, response_type)
|
426
427
|
end
|
427
|
-
|
428
|
+
|
428
429
|
end
|
429
|
-
|
430
|
+
|
430
431
|
def inspect
|
431
432
|
return "#<%p:0x%x>" % [self.class, self.object_id]
|
432
433
|
end
|
metadata
CHANGED
@@ -1,115 +1,115 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_drive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroshi Ichikawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.4.4
|
20
|
-
- -
|
20
|
+
- - "!="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 1.5.1
|
23
|
-
- -
|
23
|
+
- - "!="
|
24
24
|
- !ruby/object:Gem::Version
|
25
25
|
version: 1.5.2
|
26
26
|
type: :runtime
|
27
27
|
prerelease: false
|
28
28
|
version_requirements: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.4.4
|
33
|
-
- -
|
33
|
+
- - "!="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: 1.5.1
|
36
|
-
- -
|
36
|
+
- - "!="
|
37
37
|
- !ruby/object:Gem::Version
|
38
38
|
version: 1.5.2
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: oauth
|
41
41
|
requirement: !ruby/object:Gem::Requirement
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 0.3.6
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
48
|
version_requirements: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
50
|
-
- -
|
50
|
+
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 0.3.6
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: oauth2
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- -
|
57
|
+
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: 0.5.0
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- -
|
64
|
+
- - ">="
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: 0.5.0
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: google-api-client
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- -
|
71
|
+
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: 0.7.0
|
74
|
-
- - <
|
74
|
+
- - "<"
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0.9'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: 0.7.0
|
84
|
-
- - <
|
84
|
+
- - "<"
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '0.9'
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
|
-
name:
|
88
|
+
name: test-unit
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- -
|
91
|
+
- - ">="
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
93
|
+
version: 3.0.0
|
94
94
|
type: :development
|
95
95
|
prerelease: false
|
96
96
|
version_requirements: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
|
-
- -
|
98
|
+
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
100
|
+
version: 3.0.0
|
101
101
|
- !ruby/object:Gem::Dependency
|
102
102
|
name: rake
|
103
103
|
requirement: !ruby/object:Gem::Requirement
|
104
104
|
requirements:
|
105
|
-
- -
|
105
|
+
- - ">="
|
106
106
|
- !ruby/object:Gem::Version
|
107
107
|
version: 0.8.0
|
108
108
|
type: :development
|
109
109
|
prerelease: false
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
|
-
- -
|
112
|
+
- - ">="
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: 0.8.0
|
115
115
|
description: A library to read/write files/spreadsheets in Google Drive/Docs.
|
@@ -129,6 +129,7 @@ files:
|
|
129
129
|
- lib/google_drive/api_client_fetcher.rb
|
130
130
|
- lib/google_drive/authentication_error.rb
|
131
131
|
- lib/google_drive/collection.rb
|
132
|
+
- lib/google_drive/config.rb
|
132
133
|
- lib/google_drive/error.rb
|
133
134
|
- lib/google_drive/file.rb
|
134
135
|
- lib/google_drive/list.rb
|
@@ -138,49 +139,29 @@ files:
|
|
138
139
|
- lib/google_drive/spreadsheet.rb
|
139
140
|
- lib/google_drive/util.rb
|
140
141
|
- lib/google_drive/worksheet.rb
|
141
|
-
- lib/google_drive_v0.rb
|
142
|
-
- lib/google_drive_v0/acl.rb
|
143
|
-
- lib/google_drive_v0/acl_entry.rb
|
144
|
-
- lib/google_drive_v0/api_client_fetcher.rb
|
145
|
-
- lib/google_drive_v0/authentication_error.rb
|
146
|
-
- lib/google_drive_v0/basic_fetcher.rb
|
147
|
-
- lib/google_drive_v0/client_login_fetcher.rb
|
148
|
-
- lib/google_drive_v0/collection.rb
|
149
|
-
- lib/google_drive_v0/error.rb
|
150
|
-
- lib/google_drive_v0/file.rb
|
151
|
-
- lib/google_drive_v0/list.rb
|
152
|
-
- lib/google_drive_v0/list_row.rb
|
153
|
-
- lib/google_drive_v0/oauth1_fetcher.rb
|
154
|
-
- lib/google_drive_v0/oauth2_fetcher.rb
|
155
|
-
- lib/google_drive_v0/record.rb
|
156
|
-
- lib/google_drive_v0/session.rb
|
157
|
-
- lib/google_drive_v0/spreadsheet.rb
|
158
|
-
- lib/google_drive_v0/table.rb
|
159
|
-
- lib/google_drive_v0/util.rb
|
160
|
-
- lib/google_drive_v0/worksheet.rb
|
161
142
|
homepage: https://github.com/gimite/google-drive-ruby
|
162
143
|
licenses:
|
163
144
|
- New BSD
|
164
145
|
metadata: {}
|
165
146
|
post_install_message:
|
166
147
|
rdoc_options:
|
167
|
-
- --main
|
148
|
+
- "--main"
|
168
149
|
- README.rdoc
|
169
150
|
require_paths:
|
170
151
|
- lib
|
171
152
|
required_ruby_version: !ruby/object:Gem::Requirement
|
172
153
|
requirements:
|
173
|
-
- -
|
154
|
+
- - ">="
|
174
155
|
- !ruby/object:Gem::Version
|
175
156
|
version: '0'
|
176
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
158
|
requirements:
|
178
|
-
- -
|
159
|
+
- - ">="
|
179
160
|
- !ruby/object:Gem::Version
|
180
161
|
version: '0'
|
181
162
|
requirements: []
|
182
163
|
rubyforge_project:
|
183
|
-
rubygems_version: 2.4.
|
164
|
+
rubygems_version: 2.4.8
|
184
165
|
signing_key:
|
185
166
|
specification_version: 4
|
186
167
|
summary: A library to read/write files/spreadsheets in Google Drive/Docs.
|