bps-google-api 0.1.1 → 0.1.2
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 +5 -5
- data/.rubocop.yml +0 -3
- data/Gemfile.lock +7 -7
- data/bps-google-api.gemspec +1 -1
- data/lib/google_api.rb +2 -2
- data/lib/google_api/base.rb +9 -0
- data/lib/google_api/base/authorization.rb +3 -2
- data/lib/google_api/calendar.rb +5 -1
- data/lib/google_api/calendar/clear_test_calendar.rb +4 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4c9bdd0dbd8450f6fc8ccca6dfc573c0162a675b
|
4
|
+
data.tar.gz: ea97614006f842d3cbd6a1781110f83514bd7110
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52d33984ef3ef387e3a35120325e2227d16aed10593537c5d6ef50640157d12f10b95d689f451279138fb7c7ef728f0fdc8e9651dcfac4cb9ad700a309094b0e
|
7
|
+
data.tar.gz: 408fbf62a6f872d2471e70fb5de9f2a772fe2e92ea9d05be2aa496e3eda0974f1b50c19e3e7b11faacb53ae95d19180b9ec643a4651bbb2d4f00ae38dedfbcac
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bps-google-api (0.
|
4
|
+
bps-google-api (0.1.2)
|
5
5
|
exp_retry (~> 0.0.8)
|
6
6
|
fileutils (~> 1.2)
|
7
7
|
google-api-client (~> 0.23.4)
|
@@ -34,21 +34,21 @@ GEM
|
|
34
34
|
os (>= 0.9, < 2.0)
|
35
35
|
signet (~> 0.7)
|
36
36
|
httpclient (2.8.3)
|
37
|
-
jwt (2.1
|
37
|
+
jwt (2.2.1)
|
38
38
|
memoist (0.16.0)
|
39
39
|
mime-types (3.2.2)
|
40
40
|
mime-types-data (~> 3.2015)
|
41
41
|
mime-types-data (3.2019.0331)
|
42
42
|
multi_json (1.13.1)
|
43
|
-
multipart-post (2.
|
44
|
-
os (1.0.
|
45
|
-
public_suffix (3.0
|
43
|
+
multipart-post (2.1.1)
|
44
|
+
os (1.0.1)
|
45
|
+
public_suffix (3.1.0)
|
46
46
|
representable (3.0.4)
|
47
47
|
declarative (< 0.1.0)
|
48
48
|
declarative-option (< 0.2.0)
|
49
49
|
uber (< 0.2.0)
|
50
50
|
retriable (3.1.2)
|
51
|
-
ruby-progressbar (1.10.
|
51
|
+
ruby-progressbar (1.10.1)
|
52
52
|
signet (0.11.0)
|
53
53
|
addressable (~> 2.3)
|
54
54
|
faraday (~> 0.9)
|
@@ -63,4 +63,4 @@ DEPENDENCIES
|
|
63
63
|
bps-google-api!
|
64
64
|
|
65
65
|
BUNDLED WITH
|
66
|
-
|
66
|
+
1.17.3
|
data/bps-google-api.gemspec
CHANGED
data/lib/google_api.rb
CHANGED
@@ -7,9 +7,9 @@ module GoogleAPI
|
|
7
7
|
require 'googleauth'
|
8
8
|
require 'googleauth/stores/file_token_store'
|
9
9
|
|
10
|
-
require 'google_api/base'
|
11
10
|
require 'google_api/base/authorization'
|
12
|
-
require 'google_api/
|
11
|
+
require 'google_api/base'
|
13
12
|
require 'google_api/calendar/clear_test_calendar'
|
13
|
+
require 'google_api/calendar'
|
14
14
|
require 'google_api/group'
|
15
15
|
end
|
data/lib/google_api/base.rb
CHANGED
@@ -28,5 +28,14 @@ module GoogleAPI
|
|
28
28
|
def call(method, *args)
|
29
29
|
ExpRetry.for(exception: RETRIES) { service.send(method, *args) }
|
30
30
|
end
|
31
|
+
|
32
|
+
def root_path
|
33
|
+
defined?(Rails) ? Rails.root : '.'
|
34
|
+
end
|
35
|
+
|
36
|
+
def last_token_path
|
37
|
+
path = %w[tmp run last_page_token]
|
38
|
+
File.join(root_path, *path)
|
39
|
+
end
|
31
40
|
end
|
32
41
|
end
|
@@ -72,6 +72,7 @@ module GoogleAPI
|
|
72
72
|
def store_key(path, key)
|
73
73
|
return if File.exist?(path)
|
74
74
|
|
75
|
+
FileUtils::mkdir_p('config/keys')
|
75
76
|
File.open(path, 'w+') do |f|
|
76
77
|
File.chmod(0o600, f)
|
77
78
|
block_given? ? yield(f) : f.write(key)
|
@@ -80,7 +81,7 @@ module GoogleAPI
|
|
80
81
|
|
81
82
|
def client_id_file
|
82
83
|
store_key(
|
83
|
-
File.join(
|
84
|
+
File.join(root_path, 'config/keys/google_api_client.json'),
|
84
85
|
<<~KEY
|
85
86
|
{"installed":{"client_id":"#{ENV['GOOGLE_CLIENT_ID']}","project_id":"charming-scarab-208718",
|
86
87
|
"auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://accounts.google.com/o/oauth2/token",
|
@@ -92,7 +93,7 @@ module GoogleAPI
|
|
92
93
|
|
93
94
|
def token_file
|
94
95
|
store_key(
|
95
|
-
File.join(
|
96
|
+
File.join(root_path, 'config/keys/google_token.yaml'),
|
96
97
|
<<~KEY
|
97
98
|
---
|
98
99
|
default: '{"client_id":"#{ENV['GOOGLE_CLIENT_ID']}","access_token":"#{ENV['GOOGLE_ACCESS_TOKEN']}",
|
data/lib/google_api/calendar.rb
CHANGED
@@ -5,7 +5,6 @@ module GoogleAPI
|
|
5
5
|
include GoogleAPI::Calendar::ClearTestCalendar
|
6
6
|
|
7
7
|
SERVICE_CLASS = Google::Apis::CalendarV3::CalendarService
|
8
|
-
LAST_TOKEN_PATH ||= Rails.root.join('tmp', 'run', 'last_page_token')
|
9
8
|
VALID_EVENT_KEYS ||= %i[
|
10
9
|
summary start end description location recurrence conference_data conference_data_version
|
11
10
|
].freeze
|
@@ -63,5 +62,10 @@ module GoogleAPI
|
|
63
62
|
key = date&.is_a?(String) ? :date : :date_time
|
64
63
|
Google::Apis::CalendarV3::EventDateTime.new(key => date, time_zone: ENV['TZ'])
|
65
64
|
end
|
65
|
+
|
66
|
+
def last_token_path
|
67
|
+
path = %w[tmp run last_page_token]
|
68
|
+
defined?(Rails) ? Rails.root.join(*path) : File.join(*path)
|
69
|
+
end
|
66
70
|
end
|
67
71
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module GoogleAPI
|
4
|
-
class Calendar
|
4
|
+
class Calendar < GoogleAPI::Base
|
5
5
|
module ClearTestCalendar
|
6
6
|
def clear_test_calendar(page_token: nil, page_limit: 50)
|
7
7
|
Google::Apis.logger.level = Logger::WARN
|
@@ -17,7 +17,7 @@ module GoogleAPI
|
|
17
17
|
private
|
18
18
|
|
19
19
|
def choose_page_token(page_token)
|
20
|
-
last_token =
|
20
|
+
last_token = last_token_path
|
21
21
|
@page_token ||= File.read(last_token) if File.exist?(last_token)
|
22
22
|
@page_token = page_token if page_token.present?
|
23
23
|
end
|
@@ -47,10 +47,8 @@ module GoogleAPI
|
|
47
47
|
|
48
48
|
def log_last_page_token
|
49
49
|
puts "\n\n*** Last page token cleared: #{@page_token}"
|
50
|
-
File.open(
|
51
|
-
|
52
|
-
end
|
53
|
-
puts "\n*** Token stored in #{GoogleAPI::Calendar::LAST_TOKEN_PATH}"
|
50
|
+
File.open(last_token_path, 'w+') { |f| f.write(@page_token) }
|
51
|
+
puts "\n*** Token stored in #{last_token_path}"
|
54
52
|
end
|
55
53
|
|
56
54
|
def progress_bar(total)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bps-google-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Fiander
|
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
106
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.
|
107
|
+
rubygems_version: 2.6.14.1
|
108
108
|
signing_key:
|
109
109
|
specification_version: 4
|
110
110
|
summary: Configured Google API
|