google_drive 2.1.10 → 2.1.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32452d844765d65e08e064814d3b4ca9731bbeec
4
- data.tar.gz: e8e7491fa46f85ca5aff1e9eb934dd71f327c6a1
3
+ metadata.gz: ab18bbc182b3ffa7d363b03b7969457b311158af
4
+ data.tar.gz: 3a1803545d767797bd8062b1c8bf7010f628be87
5
5
  SHA512:
6
- metadata.gz: 8cd5aa173b2de2a9e0625630754b5f4dad3f0fbdc0ed526bd8e16144734ff4eebebdbed638f7a2a145ba037056a88964bb84b2268f6f00924abc3f4817f46310
7
- data.tar.gz: 1ad90a9190a4d4e8216a9f3ce6f1ba7c65c6cfd032168c3a451637420c50a3cd5fda28ca555411f6aae76c5cf013184d81d2efb6ca4b951416e23edbaca81481
6
+ metadata.gz: 5066596c8f5720484ba23f18690164cbb796d4e4e7748a1b1f16f1fcf6240b47bcff1580101c1d9f69e4f00f05f683bbb74335f3a473d407c65a3b487d6c1702
7
+ data.tar.gz: ef1b363d2a00c794d2a00a2837a178dc3215886a3b9fbc4ddcde6c6f854fde11b7e38cf6ad78a0c1490e06b53cbc24cb5f975bc4b3f562bb0f3a0c1fd817cbfc
@@ -14,6 +14,7 @@ module GoogleDrive
14
14
  # This code is based on https://github.com/guyboertje/gdata-spreadsheet-ruby .
15
15
  class Acl
16
16
  include(Util)
17
+ include(Enumerable)
17
18
  extend(Forwardable)
18
19
 
19
20
  # @api private
@@ -32,22 +32,42 @@ module GoogleDrive
32
32
  )
33
33
  end
34
34
 
35
- # Creates a sub-folder with given title. Returns GoogleDrive::Collection
36
- # object.
37
- def create_subcollection(title)
35
+ # Creates a sub-folder with given title in this folder.
36
+ # Returns GoogleDrive::Collection object.
37
+ def create_subcollection(title, file_properties = {})
38
+ create_file(title, file_properties.merge(mime_type: 'application/vnd.google-apps.folder'))
39
+ end
40
+
41
+ alias create_subfolder create_subcollection
42
+
43
+ # Creates a spreadsheet with given title in this folder.
44
+ # Returns GoogleDrive::Spreadsheet object.
45
+ def create_spreadsheet(title, file_properties = {})
46
+ create_file(title, file_properties.merge(mime_type: 'application/vnd.google-apps.spreadsheet'))
47
+ end
48
+
49
+ # Creates a file with given title and properties in this folder.
50
+ # Returns objects with the following types:
51
+ # GoogleDrive::Spreadsheet, GoogleDrive::File, GoogleDrive::Collection
52
+ #
53
+ # You can pass a MIME Type using the file_properties-function parameter,
54
+ # for example: create_file('Document Title', mime_type: 'application/vnd.google-apps.document')
55
+ #
56
+ # A list of available Drive MIME Types can be found here:
57
+ # https://developers.google.com/drive/v3/web/mime-types
58
+ def create_file(title, file_properties = {})
38
59
  file_metadata = {
39
60
  name: title,
40
- mime_type: 'application/vnd.google-apps.folder',
41
61
  parents: [id]
42
- }
62
+ }.merge(file_properties)
63
+
43
64
  file = @session.drive.create_file(
44
65
  file_metadata, fields: '*', supports_team_drives: true
45
66
  )
67
+
46
68
  @session.wrap_api_file(file)
47
69
  end
48
70
 
49
- alias create_subfolder create_subcollection
50
-
51
71
  # Returns true if this is a root folder.
52
72
  def root?
53
73
  !api_file.parents || api_file.parents.empty?
@@ -213,9 +213,9 @@ module GoogleDrive
213
213
  alias title= rename
214
214
 
215
215
  # Creates copy of this file with the given title.
216
- def copy(title)
216
+ def copy(title, file_properties = {})
217
217
  api_file = @session.drive.copy_file(
218
- id, { name: title }, fields: '*', supports_team_drives: true
218
+ id, { name: title }.merge(file_properties), fields: '*', supports_team_drives: true
219
219
  )
220
220
  @session.wrap_api_file(api_file)
221
221
  end
@@ -418,18 +418,41 @@ module GoogleDrive
418
418
 
419
419
  alias folder_by_url collection_by_url
420
420
 
421
- # Creates new spreadsheet and returns the new GoogleDrive::Spreadsheet.
421
+ # Creates a top-level folder with given title. Returns GoogleDrive::Collection
422
+ # object.
423
+ def create_collection(title, file_properties = {})
424
+ create_file(title, file_properties.merge(mime_type: 'application/vnd.google-apps.folder'))
425
+ end
426
+
427
+ alias create_folder create_collection
428
+
429
+ # Creates a spreadsheet with given title. Returns GoogleDrive::Spreadsheet
430
+ # object.
422
431
  #
423
432
  # e.g.
424
433
  # session.create_spreadsheet("My new sheet")
425
- def create_spreadsheet(title = 'Untitled')
434
+ def create_spreadsheet(title = 'Untitled', file_properties = {})
435
+ create_file(title, file_properties.merge(mime_type: 'application/vnd.google-apps.spreadsheet'))
436
+ end
437
+
438
+ # Creates a file with given title and properties. Returns objects
439
+ # with the following types: GoogleDrive::Spreadsheet, GoogleDrive::File,
440
+ # GoogleDrive::Collection
441
+ #
442
+ # You can pass a MIME Type using the file_properties-function parameter,
443
+ # for example: create_file('Document Title', mime_type: 'application/vnd.google-apps.document')
444
+ #
445
+ # A list of available Drive MIME Types can be found here:
446
+ # https://developers.google.com/drive/v3/web/mime-types
447
+ def create_file(title, file_properties = {})
426
448
  file_metadata = {
427
- name: title,
428
- mime_type: 'application/vnd.google-apps.spreadsheet'
429
- }
449
+ name: title,
450
+ }.merge(file_properties)
451
+
430
452
  file = drive.create_file(
431
453
  file_metadata, fields: '*', supports_team_drives: true
432
454
  )
455
+
433
456
  wrap_api_file(file)
434
457
  end
435
458
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_drive
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.10
4
+ version: 2.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi Ichikawa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-18 00:00:00.000000000 Z
11
+ date: 2018-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: 0.11.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: 0.20.0
42
+ version: 0.22.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: 0.11.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: 0.20.0
52
+ version: 0.22.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: googleauth
55
55
  requirement: !ruby/object:Gem::Requirement