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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZGZjNmU4ZTlhY2MxNmI0YTQ0OTIzNDQ5MTBlZjZhMWEyZTliZWNjYQ==
5
- data.tar.gz: !binary |-
6
- MGNlNTYxMjlkNGMyMzg0MTY5ODcwZjA0ZTk4ZDIwMjdlZTQ4Mjg1Nw==
2
+ SHA1:
3
+ metadata.gz: 6b4bb25ca507e0809ba9fc7a57f5a49667b61536
4
+ data.tar.gz: d6664ab492c6a12051d75890179eb06738df6821
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NjI5MmFjZjgyZWRiZDdkODNlZTU5NzY0ZDRiNjM0NDdlOTQzZjYyMmNkZWZm
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 ./stored_token.json file for later usages.
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
- # Same as the code above to get access_token...
60
-
61
- # Creates a session.
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://gimite.net/doc/google-drive-ruby/
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.3.
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 "json"
5
- require "google/api_client"
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
- # Restores GoogleDrive::Session from +path+ and returns it.
83
- # If +path+ doesn't exist or authentication has failed, prompts the user to authorize the access,
84
- # stores the session to +path+ and returns it.
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
- # You can specify your own OAuth +client_id+ and +client_secret+. Otherwise the default one is used.
89
- def self.saved_session(path = nil, proxy = nil, client_id = nil, client_secret = nil)
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 proxy
92
- raise(
93
- ArgumentError,
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
- if !client_id && !client_secret
98
- client_id = "452925651630-egr1f18o96acjjvphpbbd1qlsevkho1d.apps.googleusercontent.com"
99
- client_secret = "1U3-Krii5x1oLPrwD5zgn-ry"
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
- path ||= ENV["HOME"] + "/.ruby_google_drive.token"
105
- if ::File.exist?(path)
106
- lines = ::File.readlines(path)
107
- case lines.size
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
- :application_name => "google_drive Ruby library",
122
- :application_version => "0.4.0"
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("2. Enter the authorization code shown in the page: ")
142
- auth.code = $stdin.gets().chomp()
143
- auth.fetch_access_token!()
144
- token_data = {"refresh_token" => auth.refresh_token}
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
- return GoogleDrive.login_with_oauth(client)
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
@@ -1,12 +1,8 @@
1
1
  # Author: Hiroshi Ichikawa <http://gimite.net/>
2
2
  # The license of this source is "New BSD Licence"
3
3
 
4
-
5
4
  module GoogleDrive
6
-
7
5
  # Raised on errors in this library.
8
6
  class Error < RuntimeError
9
-
10
7
  end
11
-
12
8
  end
@@ -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
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-17 00:00:00.000000000 Z
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: minitest
88
+ name: test-unit
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
- - - ! '>='
91
+ - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: 5.1.0
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: 5.1.0
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.3
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.