google_drive 3.0.3 → 3.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/google_drive/session.rb +5 -7
- data/lib/google_drive/worksheet.rb +36 -6
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4058c1344a508194fb0dd57e58206b54469318b13139d9cdc8bd708afb4595b4
|
4
|
+
data.tar.gz: 304898bca40cd8022a002e25335c6dc22fb333c7e67d4ba8d62ffe0817fbde75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a8bf859d820a2b4d12ea1017b69ef733b99f3ed5530271d4694170decd7e3132a938870317eb40bbbe9c6a2aa41877ab6e82ceb73b0861d9dd327f8e96f71b0
|
7
|
+
data.tar.gz: b8dbadd5a9703ed7cd2f90a357393c81883a6304d40b5ae574f6149adb2cb9452ff6fe6613f339144431535c55a07afd5e22025affe952c57c46debe2aeb5b74
|
data/lib/google_drive/session.rb
CHANGED
@@ -141,15 +141,13 @@ module GoogleDrive
|
|
141
141
|
config.client_id = options[:client_id]
|
142
142
|
config.client_secret = options[:client_secret]
|
143
143
|
end
|
144
|
-
if !config.client_id
|
145
|
-
config.client_id =
|
146
|
-
'452925651630-egr1f18o96acjjvphpbbd1qlsevkho1d.' \
|
147
|
-
'apps.googleusercontent.com'
|
148
|
-
config.client_secret = '1U3-Krii5x1oLPrwD5zgn-ry'
|
149
|
-
elsif !config.client_id || !config.client_secret
|
144
|
+
if !config.client_id || !config.client_secret
|
150
145
|
raise(
|
151
146
|
ArgumentError,
|
152
|
-
'client_id
|
147
|
+
'client_id or client_secret is missing in the config. Follow ' \
|
148
|
+
'https://github.com/gimite/google-drive-ruby/blob/master/doc/authorization.md ' \
|
149
|
+
'to provide a valid config. google_drive library no longer provides ' \
|
150
|
+
'the default credential due to a limitation of Google API.'
|
153
151
|
)
|
154
152
|
end
|
155
153
|
|
@@ -73,13 +73,16 @@ module GoogleDrive
|
|
73
73
|
def worksheet_feed_entry
|
74
74
|
@worksheet_feed_entry ||= @session.request(:get, worksheet_feed_url).root
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
# Google::Apis::SheetsV4::SheetProperties object for this worksheet.
|
78
78
|
attr_reader :properties
|
79
79
|
|
80
80
|
# Title of the worksheet (shown as tab label in Web interface).
|
81
81
|
attr_reader :title
|
82
82
|
|
83
|
+
# Index of the worksheet (affects tab order in web interface).
|
84
|
+
attr_reader :index
|
85
|
+
|
83
86
|
# GoogleDrive::Spreadsheet which this worksheet belongs to.
|
84
87
|
attr_reader :spreadsheet
|
85
88
|
|
@@ -139,6 +142,24 @@ module GoogleDrive
|
|
139
142
|
format("%s\#gid=%s", spreadsheet.human_url, gid)
|
140
143
|
end
|
141
144
|
|
145
|
+
# Copy worksheet to specified spreadsheet.
|
146
|
+
# This method can take either instance of GoogleDrive::Spreadsheet or its id.
|
147
|
+
def copy_to(spreadsheet_or_id)
|
148
|
+
destination_spreadsheet_id =
|
149
|
+
spreadsheet_or_id.respond_to?(:id) ?
|
150
|
+
spreadsheet_or_id.id : spreadsheet_or_id
|
151
|
+
request = Google::Apis::SheetsV4::CopySheetToAnotherSpreadsheetRequest.new(
|
152
|
+
destination_spreadsheet_id: destination_spreadsheet_id,
|
153
|
+
)
|
154
|
+
@session.sheets_service.copy_spreadsheet(spreadsheet.id, sheet_id, request)
|
155
|
+
nil
|
156
|
+
end
|
157
|
+
|
158
|
+
# Copy worksheet to owner spreadsheet.
|
159
|
+
def duplicate
|
160
|
+
copy_to(spreadsheet)
|
161
|
+
end
|
162
|
+
|
142
163
|
# Returns content of the cell as String. Arguments must be either
|
143
164
|
# (row number, column number) or cell name. Top-left cell is [1, 1].
|
144
165
|
#
|
@@ -280,6 +301,13 @@ module GoogleDrive
|
|
280
301
|
@meta_modified = true
|
281
302
|
end
|
282
303
|
|
304
|
+
# Updates index of the worksheet.
|
305
|
+
# Note that update is not sent to the server until you call save().
|
306
|
+
def index=(index)
|
307
|
+
@index = index
|
308
|
+
@meta_modified = true
|
309
|
+
end
|
310
|
+
|
283
311
|
# @api private
|
284
312
|
def cells
|
285
313
|
reload_cells unless @cells
|
@@ -380,6 +408,7 @@ module GoogleDrive
|
|
380
408
|
properties: {
|
381
409
|
sheet_id: sheet_id,
|
382
410
|
title: title,
|
411
|
+
index: index,
|
383
412
|
grid_properties: {row_count: max_rows, column_count: max_cols},
|
384
413
|
},
|
385
414
|
fields: '*',
|
@@ -392,7 +421,7 @@ module GoogleDrive
|
|
392
421
|
@v4_requests = []
|
393
422
|
sent = true
|
394
423
|
end
|
395
|
-
|
424
|
+
|
396
425
|
@remote_title = @title
|
397
426
|
|
398
427
|
unless @modified.empty?
|
@@ -406,7 +435,7 @@ module GoogleDrive
|
|
406
435
|
min_modified_col = c if c < min_modified_col
|
407
436
|
max_modified_col = c if c > max_modified_col
|
408
437
|
end
|
409
|
-
|
438
|
+
|
410
439
|
# Uses update_spreadsheet_value instead batch_update_spreadsheet with
|
411
440
|
# update_cells. batch_update_spreadsheet has benefit that the request
|
412
441
|
# can be batched with other requests. But it has drawback that the
|
@@ -570,8 +599,8 @@ module GoogleDrive
|
|
570
599
|
# A1 to have red text that is bold and italic:
|
571
600
|
# worksheet.set_text_format(
|
572
601
|
# 1, 1, 1, 1,
|
573
|
-
# bold: true,
|
574
|
-
# italic: true,
|
602
|
+
# bold: true,
|
603
|
+
# italic: true,
|
575
604
|
# foreground_color: GoogleDrive::Worksheet::Colors::RED_BERRY)
|
576
605
|
#
|
577
606
|
# foreground_color is an instance of Google::Apis::SheetsV4::Color.
|
@@ -638,6 +667,7 @@ module GoogleDrive
|
|
638
667
|
def set_properties(properties)
|
639
668
|
@properties = properties
|
640
669
|
@title = @remote_title = properties.title
|
670
|
+
@index = properties.index
|
641
671
|
if properties.grid_properties.nil?
|
642
672
|
@max_rows = @max_cols = 0
|
643
673
|
else
|
@@ -673,7 +703,7 @@ module GoogleDrive
|
|
673
703
|
k = [r + 1, c + 1]
|
674
704
|
@cells[k] = cell_data.formatted_value || ''
|
675
705
|
@input_values[k] = extended_value_to_str(cell_data.user_entered_value)
|
676
|
-
@numeric_values[k] =
|
706
|
+
@numeric_values[k] =
|
677
707
|
cell_data.effective_value && cell_data.effective_value.number_value ?
|
678
708
|
cell_data.effective_value.number_value.to_f : nil
|
679
709
|
end
|
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: 3.0.
|
4
|
+
version: 3.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroshi Ichikawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-29 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.
|
42
|
+
version: 0.37.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.
|
52
|
+
version: 0.37.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: googleauth
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,8 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: '0'
|
170
170
|
requirements: []
|
171
|
-
|
172
|
-
rubygems_version: 2.7.7
|
171
|
+
rubygems_version: 3.0.6
|
173
172
|
signing_key:
|
174
173
|
specification_version: 4
|
175
174
|
summary: A library to read/write files/spreadsheets in Google Drive/Docs.
|