peoplegroup-connectors 0.1.37 → 0.1.38

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
  SHA256:
3
- metadata.gz: 5ee402cbc096def361f487eda8ef9992ff459ab63a606f0ad94d4735d41bc365
4
- data.tar.gz: a79c17d291849c27a2996da26c814dbf70e7ad1c27a2782ba502492407010c1a
3
+ metadata.gz: ce7bbe7a63bb597ed928d7333a33c15a9250bb7a78275a5d3221570b6a0d33af
4
+ data.tar.gz: 8654607403148b2398969daa729051617d4272df8c427ecf7db65e5ecc86b811
5
5
  SHA512:
6
- metadata.gz: 18b42324f2bb9db2c8e158df26d8ca5b35efa869fc3358afd4c94a44dd810487cb0138a80b7c977b274c43e4a3e86c9a15301528b2b465c8a1fd9e245fdde53a
7
- data.tar.gz: 68c8545dbb12e870978a589872fdabcd2ff5fa9ea93e1dcd7c3fe90a3f758bd5cdf7b78edfee2ab9d57292a8a903eea6495974d5559e7c4b59e56cdc70d31778
6
+ metadata.gz: 04be80f29f17161b84fe5c101e73d856e513afdea5306546bafbc3e2c4f809cdaf4495210cb0f5b31c549c8eeb291d15690c7d4534a4f3639fe28244b1a1ff0e
7
+ data.tar.gz: 0fd7ae60b6b1064b8d0780e642a1971148f019ca1910dc93be7615bdcea624782ce3945e374210f6220c25d7ee8fa7f76b133cf1288c402ad105036e63e183dd
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'connectors/version'
4
4
  require_relative 'connectors/gitlab'
5
+ require_relative 'connectors/google_sheets'
5
6
  require_relative 'connectors/slack'
6
7
  require_relative 'connectors/pto_roots'
7
8
  require_relative 'connectors/bamboo'
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'google_drive'
4
+
5
+ module PeopleGroup
6
+ module Connectors
7
+ class GoogleSheets
8
+ def spreadsheet(title)
9
+ retry_on_error { session.spreadsheet_by_title(title) }
10
+ end
11
+
12
+ def worksheet(spreadsheet_title, worksheet_title)
13
+ worksheets = retry_on_error { spreadsheet(spreadsheet_title).worksheets }
14
+ worksheets.find { |worksheet| worksheet.title == worksheet_title }
15
+ end
16
+
17
+ private
18
+
19
+ def service_account_key
20
+ StringIO.new(Base64.strict_decode64(ENV['GOOGLE_DRIVE_SERVICE_ACCOUNT_KEY']))
21
+ end
22
+
23
+ def session
24
+ @session ||= retry_on_error { GoogleDrive::Session.from_service_account_key(service_account_key) }
25
+ end
26
+
27
+ def retry_on_error(&block)
28
+ Utils.retry_on_error(errors: [Google::Apis::ServerError], delay: 1, &block)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.37'
5
+ VERSION = '0.1.38'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peoplegroup-connectors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.37
4
+ version: 0.1.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - lien van den steen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-21 00:00:00.000000000 Z
11
+ date: 2021-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: google_drive
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: slack-ruby-client
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -163,6 +177,7 @@ files:
163
177
  - lib/peoplegroup/connectors.rb
164
178
  - lib/peoplegroup/connectors/bamboo.rb
165
179
  - lib/peoplegroup/connectors/gitlab.rb
180
+ - lib/peoplegroup/connectors/google_sheets.rb
166
181
  - lib/peoplegroup/connectors/greenhouse.rb
167
182
  - lib/peoplegroup/connectors/pto_roots.rb
168
183
  - lib/peoplegroup/connectors/slack.rb