google_drive 1.0.4 → 1.0.5
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 +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.
|