embulk-output-google_sheets_ruby 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 500291acae92860089b343c2e66eb086486618f7
4
- data.tar.gz: 13410dd78807a8c274077e8bdb08993617d2c657
3
+ metadata.gz: b82829274f264b8fced2593de323c77cce0af988
4
+ data.tar.gz: 490ad389c0167776b07cc3f4dedb28b1ea31effe
5
5
  SHA512:
6
- metadata.gz: c19e4bc6ffcf5d5a9f0e7d2e36361eb94a207242bd54338c9508ab293160b4832f1453dd8a7f2fc68438e795789c469eed8e3aa5659ed49a66914bd30a2a2278
7
- data.tar.gz: 1b1944d8bec7627980219198bb36d8ceea9aabb96e32b6200edce8fb3d96017d2cb079711a77310c7580c6d1368583292b8fd7378a4ebf27abe66907cd0b0c15
6
+ metadata.gz: 6df2787529b3a7be6f40bedf024737c5d9f8d8a6a57ecbc55952ec9d16836ff8df1ad8f92714524f47a02249afc8ed3402fa81e224b98743e5718c94366cc41b
7
+ data.tar.gz: 8147c662357ed61a0238a1acf87acfd2ee66ac448361e1819dcd48caf90fe83b1020e24e54d83af4d0cf59f254706fcc2be09f58ee2ea88fefe9bb49a1a134c5
data/README.md CHANGED
@@ -17,6 +17,7 @@ Dumps records to Google Sheets.
17
17
  | credentials_path | string | optional | `"credentials.json"` | keyfile path |
18
18
  | range | string | optional | `"A1"` | |
19
19
  | auth_method | string | optional | `service_account` | `service_account` or `authorized_user` |
20
+ | mode | string | optional | `update` | `update` or `append` |
20
21
 
21
22
  ##### about credentials_path
22
23
 
@@ -68,6 +69,14 @@ bundle --path vendor/bundle
68
69
  bundle exec ruby example/setup_authorized_user_credentials.rb
69
70
  ```
70
71
 
72
+ ## mode
73
+
74
+ mode can be overwritten or added.
75
+ Please check the official API reference.
76
+
77
+ - `update` : https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update
78
+ - `append` : https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append
79
+
71
80
  ## Build
72
81
 
73
82
  ```
@@ -1,7 +1,7 @@
1
1
 
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = 'embulk-output-google_sheets_ruby'
4
- spec.version = '0.1.1'
4
+ spec.version = '0.1.2'
5
5
  spec.authors = ['ariarijp']
6
6
  spec.summary = 'Google Sheets Ruby output plugin for Embulk'
7
7
  spec.description = 'Dumps records to Google Sheets.'
@@ -18,7 +18,8 @@ module Embulk
18
18
  'credentials_path' => config.param('credentials_path',
19
19
  :string,
20
20
  default: 'credentials.json'),
21
- 'auth_method' => config.param('auth_method', :string, default: 'service_account')
21
+ 'auth_method' => config.param('auth_method', :string, default: 'service_account'),
22
+ 'mode' => config.param('mode', :string, default: 'update')
22
23
  }
23
24
 
24
25
  yield(task)
@@ -31,6 +32,7 @@ module Embulk
31
32
  @credentials_path = task['credentials_path']
32
33
  @range = task['range']
33
34
  @auth_method = task['auth_method']
35
+ @mode = task['mode']
34
36
  @rows = []
35
37
  @rows << schema.map(&:name)
36
38
 
@@ -51,7 +53,14 @@ module Embulk
51
53
  value_range.major_dimension = 'ROWS'
52
54
  value_range.values = @rows
53
55
 
54
- update_sheet(value_range)
56
+ case @mode
57
+ when 'update'
58
+ update_sheet(value_range)
59
+ when 'append'
60
+ append_sheet(value_range)
61
+ else
62
+ raise ConfigError.new("Unknown mode: #{@mode}")
63
+ end
55
64
 
56
65
  {}
57
66
  end
@@ -81,6 +90,16 @@ module Embulk
81
90
  value_input_option: 'USER_ENTERED'
82
91
  )
83
92
  end
93
+
94
+ def append_sheet(value_range)
95
+ @service.append_spreadsheet_value(
96
+ @spreadsheet_id,
97
+ value_range.range,
98
+ value_range,
99
+ value_input_option: 'USER_ENTERED',
100
+ insert_data_option: 'INSERT_ROWS'
101
+ )
102
+ end
84
103
  end
85
104
  end
86
105
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-output-google_sheets_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ariarijp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-01 00:00:00.000000000 Z
11
+ date: 2021-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement