bps-google-api 0.6.2.pre.1 → 0.7.0
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 +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +8 -5
- data/Gemfile.lock +5 -3
- data/bps-google-api.gemspec +3 -2
- data/lib/google_api/base.rb +3 -3
- data/lib/google_api/calendar.rb +16 -16
- data/spec/.rubocop.yml +4 -0
- data/spec/lib/google_api/calendar_spec.rb +14 -14
- data/spec/lib/google_api/event_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -0
- metadata +26 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d03de79db68f08c0dd05c7e91955c855f8c3ece70d22a7c8002a6a82c6ecc14
|
|
4
|
+
data.tar.gz: 54d786a5e83008507af3a6aaed1cc9e5a8583e4c7b56f7fab51a3ca547c3f6ce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a85417faada4b864ca801a2176f2fdcdd9e73eeb23f01309cc2baf636958556d751ff3303707273740b5e451f1b42b6224600e84973399282e809b327f02f803
|
|
7
|
+
data.tar.gz: 011633b06862cf729406cb513ec8eedb24c70b012d31de15178774c6d6619933a9a7f4cb5f9d9020fa8e5fdb8441bd661b14c4d8b6dc291c875086c79a8bcd5b
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
AllCops:
|
|
2
|
-
TargetRubyVersion:
|
|
2
|
+
TargetRubyVersion: 3.0
|
|
3
3
|
Exclude:
|
|
4
4
|
- bin/**/*
|
|
5
5
|
- config/**/*
|
|
6
6
|
- db/**/*
|
|
7
7
|
- vendor/**/*
|
|
8
8
|
- tmp/**/*
|
|
9
|
+
NewCops: enable
|
|
9
10
|
|
|
10
|
-
Layout/
|
|
11
|
+
Layout/FirstHashElementIndentation:
|
|
11
12
|
EnforcedStyle: consistent
|
|
12
13
|
Layout/AccessModifierIndentation:
|
|
13
14
|
EnforcedStyle: outdent
|
|
14
15
|
Layout/EmptyLinesAroundAccessModifier:
|
|
15
16
|
Enabled: true
|
|
16
|
-
Layout/
|
|
17
|
+
Layout/ArrayAlignment:
|
|
17
18
|
Enabled: true
|
|
18
|
-
Layout/
|
|
19
|
+
Layout/HashAlignment:
|
|
19
20
|
Enabled: true
|
|
20
21
|
Layout/EmptyLineAfterGuardClause:
|
|
21
22
|
Enabled: true
|
|
@@ -52,7 +53,7 @@ Metrics/AbcSize:
|
|
|
52
53
|
|
|
53
54
|
Naming/MemoizedInstanceVariableName:
|
|
54
55
|
Enabled: false
|
|
55
|
-
Naming/
|
|
56
|
+
Naming/MethodParameterName:
|
|
56
57
|
Enabled: false
|
|
57
58
|
|
|
58
59
|
Style/Documentation:
|
|
@@ -69,6 +70,8 @@ Style/ClassCheck:
|
|
|
69
70
|
Enabled: true
|
|
70
71
|
Style/GuardClause:
|
|
71
72
|
Enabled: true
|
|
73
|
+
Style/OptionalBooleanParameter:
|
|
74
|
+
Enabled: false
|
|
72
75
|
|
|
73
76
|
Security/Eval:
|
|
74
77
|
Enabled: true
|
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.7.0)
|
|
5
5
|
exp_retry (~> 0.0.13)
|
|
6
6
|
fileutils (~> 1.4, >= 1.4.1)
|
|
7
7
|
google-apis-admin_directory_v1 (~> 0.40)
|
|
@@ -19,6 +19,7 @@ GEM
|
|
|
19
19
|
declarative (0.0.20)
|
|
20
20
|
diff-lcs (1.5.1)
|
|
21
21
|
docile (1.4.0)
|
|
22
|
+
dotenv (2.8.1)
|
|
22
23
|
exp_retry (0.0.14)
|
|
23
24
|
faraday (2.9.0)
|
|
24
25
|
faraday-net_http (>= 2.0, < 3.2)
|
|
@@ -27,8 +28,8 @@ GEM
|
|
|
27
28
|
fileutils (1.7.2)
|
|
28
29
|
google-apis-admin_directory_v1 (0.54.0)
|
|
29
30
|
google-apis-core (>= 0.14.0, < 2.a)
|
|
30
|
-
google-apis-calendar_v3 (0.
|
|
31
|
-
google-apis-core (>= 0.
|
|
31
|
+
google-apis-calendar_v3 (0.27.0)
|
|
32
|
+
google-apis-core (>= 0.11.0, < 2.a)
|
|
32
33
|
google-apis-core (0.15.0)
|
|
33
34
|
addressable (~> 2.5, >= 2.5.1)
|
|
34
35
|
googleauth (~> 1.9)
|
|
@@ -119,6 +120,7 @@ PLATFORMS
|
|
|
119
120
|
|
|
120
121
|
DEPENDENCIES
|
|
121
122
|
bps-google-api!
|
|
123
|
+
dotenv
|
|
122
124
|
rspec (~> 3.8, >= 3.8.0)
|
|
123
125
|
rubocop (~> 0.71, >= 0.71.0)
|
|
124
126
|
simplecov (~> 0.16, >= 0.16.1)
|
data/bps-google-api.gemspec
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = 'bps-google-api'
|
|
5
|
-
s.version = '0.
|
|
5
|
+
s.version = '0.7.0'
|
|
6
6
|
s.date = '2024-05-17'
|
|
7
7
|
s.summary = 'Configured Google API'
|
|
8
8
|
s.description = 'A configured Google API wrapper.'
|
|
@@ -17,11 +17,12 @@ Gem::Specification.new do |s|
|
|
|
17
17
|
|
|
18
18
|
s.add_runtime_dependency 'exp_retry', '~> 0.0.13'
|
|
19
19
|
s.add_runtime_dependency 'fileutils', '~> 1.4', '>= 1.4.1'
|
|
20
|
+
s.add_runtime_dependency 'google-apis-admin_directory_v1', '~> 0.40'
|
|
20
21
|
s.add_runtime_dependency 'google-apis-calendar_v3', '~> 0.27'
|
|
21
22
|
s.add_runtime_dependency 'google-apis-groupssettings_v1', '~> 0.13'
|
|
22
|
-
s.add_runtime_dependency 'google-apis-admin_directory_v1', '~> 0.40'
|
|
23
23
|
s.add_runtime_dependency 'ruby-progressbar', '~> 1.10'
|
|
24
24
|
|
|
25
|
+
s.add_development_dependency 'dotenv'
|
|
25
26
|
s.add_development_dependency 'rspec', '~> 3.8', '>= 3.8.0'
|
|
26
27
|
s.add_development_dependency 'rubocop', '~> 0.71', '>= 0.71.0'
|
|
27
28
|
s.add_development_dependency 'simplecov', '~> 0.16', '>= 0.16.1'
|
data/lib/google_api/base.rb
CHANGED
|
@@ -27,11 +27,11 @@ class GoogleAPI
|
|
|
27
27
|
@service ||= service_class.new
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
def call(
|
|
30
|
+
def call(...)
|
|
31
31
|
if GoogleAPI.mock
|
|
32
|
-
|
|
32
|
+
mock(...)
|
|
33
33
|
else
|
|
34
|
-
ExpRetry.for(exception: RETRIES) { service.send(
|
|
34
|
+
ExpRetry.for(exception: RETRIES) { service.send(...) }
|
|
35
35
|
end
|
|
36
36
|
end
|
|
37
37
|
|
data/lib/google_api/calendar.rb
CHANGED
|
@@ -22,7 +22,7 @@ class GoogleAPI
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def create(calendar_id, **event_options)
|
|
25
|
-
call(:insert_event, calendar_id, event(**event_options), conference_data_version: 1)
|
|
25
|
+
call(:insert_event, calendar_id, event(false, **event_options), conference_data_version: 1)
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
def list(calendar_id, max_results: 2500, page_token: nil)
|
|
@@ -32,13 +32,13 @@ class GoogleAPI
|
|
|
32
32
|
def list_all(calendar_id, verbose: false)
|
|
33
33
|
events = []
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
events +=
|
|
35
|
+
l = call(:list_events, calendar_id)
|
|
36
|
+
events += l.items
|
|
37
37
|
|
|
38
|
-
while (page_token =
|
|
39
|
-
|
|
40
|
-
page_token =
|
|
41
|
-
events +=
|
|
38
|
+
while (page_token = l.next_page_token)
|
|
39
|
+
l = call(:list_events, calendar_id, page_token: page_token)
|
|
40
|
+
page_token = l.next_page_token
|
|
41
|
+
events += l.items
|
|
42
42
|
print('.') if verbose
|
|
43
43
|
end
|
|
44
44
|
|
|
@@ -50,7 +50,7 @@ class GoogleAPI
|
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
def patch(calendar_id, event_id, **patch_options)
|
|
53
|
-
call(:patch_event, calendar_id, event_id,
|
|
53
|
+
call(:patch_event, calendar_id, event_id, patch_options, conference_data_version: 1)
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
def update(calendar_id, event_id, **event_options)
|
|
@@ -85,21 +85,21 @@ class GoogleAPI
|
|
|
85
85
|
|
|
86
86
|
private
|
|
87
87
|
|
|
88
|
-
def event(
|
|
89
|
-
validate_keys(
|
|
88
|
+
def event(patch = false, **event_options)
|
|
89
|
+
validate_keys(patch, **event_options)
|
|
90
90
|
|
|
91
|
-
event_options = format_dates(event_options)
|
|
92
|
-
event_options = format_conference_data(event_options)
|
|
91
|
+
event_options = format_dates(**event_options)
|
|
92
|
+
event_options = format_conference_data(**event_options)
|
|
93
93
|
|
|
94
|
-
Google::Apis::CalendarV3::Event.new(event_options.reject { |_, v| v.nil? })
|
|
94
|
+
Google::Apis::CalendarV3::Event.new(**event_options.reject { |_, v| v.nil? })
|
|
95
95
|
end
|
|
96
96
|
|
|
97
|
-
def validate_keys(
|
|
97
|
+
def validate_keys(patch = false, **event_options)
|
|
98
98
|
event_options.assert_valid_keys(VALID_EVENT_KEYS) unless patch
|
|
99
99
|
event_options.assert_valid_keys(VALID_PATCH_KEYS) if patch
|
|
100
100
|
end
|
|
101
101
|
|
|
102
|
-
def format_dates(event_options)
|
|
102
|
+
def format_dates(**event_options)
|
|
103
103
|
event_options[:start] = format_date(event_options[:start])
|
|
104
104
|
event_options[:end] = format_date(event_options[:end])
|
|
105
105
|
event_options
|
|
@@ -108,7 +108,7 @@ class GoogleAPI
|
|
|
108
108
|
def format_date(date)
|
|
109
109
|
return date if date.is_a?(Google::Apis::CalendarV3::EventDateTime)
|
|
110
110
|
|
|
111
|
-
key = date
|
|
111
|
+
key = date.is_a?(String) ? :date : :date_time
|
|
112
112
|
Google::Apis::CalendarV3::EventDateTime.new(key => date, time_zone: ENV['TZ'])
|
|
113
113
|
end
|
|
114
114
|
|
data/spec/.rubocop.yml
CHANGED
|
@@ -78,7 +78,7 @@ RSpec.describe GoogleAPI::Calendar do
|
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
it 'returns the array of all events from list_all' do
|
|
81
|
-
subject.create(test_event) # Ensure at least one event exists
|
|
81
|
+
subject.create(**test_event) # Ensure at least one event exists
|
|
82
82
|
|
|
83
83
|
expect(subject.list_all.map(&:class).uniq).to eql([Google::Apis::CalendarV3::Event])
|
|
84
84
|
end
|
|
@@ -97,7 +97,7 @@ RSpec.describe GoogleAPI::Calendar do
|
|
|
97
97
|
]
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
-
before { allow(calendar).to receive(:call).and_return(events) }
|
|
100
|
+
before { allow(calendar).to receive(:call).and_return(*events) }
|
|
101
101
|
|
|
102
102
|
it 'returns the array of all events from list_all when paginated' do
|
|
103
103
|
expect(calendar).to receive(:call).twice
|
|
@@ -107,18 +107,18 @@ RSpec.describe GoogleAPI::Calendar do
|
|
|
107
107
|
end
|
|
108
108
|
|
|
109
109
|
it 'creates an event' do
|
|
110
|
-
expect(subject.create(test_event)).to be_a(Google::Apis::CalendarV3::Event)
|
|
110
|
+
expect(subject.create(**test_event)).to be_a(Google::Apis::CalendarV3::Event)
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
describe 'conference data' do
|
|
114
114
|
it 'creates an event with a new conference' do
|
|
115
115
|
event = test_event.merge(conference: { id: :new })
|
|
116
116
|
|
|
117
|
-
expect(subject.create(event)).to be_a(Google::Apis::CalendarV3::Event)
|
|
117
|
+
expect(subject.create(**event)).to be_a(Google::Apis::CalendarV3::Event)
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
it 'creates an event with conference data', :aggregate_failures do
|
|
121
|
-
event = subject.create(test_event)
|
|
121
|
+
event = subject.create(**test_event)
|
|
122
122
|
event = subject.add_conference(event.id)
|
|
123
123
|
event_options = test_event.merge(
|
|
124
124
|
conference: {
|
|
@@ -127,13 +127,13 @@ RSpec.describe GoogleAPI::Calendar do
|
|
|
127
127
|
}
|
|
128
128
|
)
|
|
129
129
|
|
|
130
|
-
event = subject.create(event_options)
|
|
130
|
+
event = subject.create(**event_options)
|
|
131
131
|
expect(event).to be_a(Google::Apis::CalendarV3::Event)
|
|
132
132
|
expect(event.conference_data).not_to be_nil
|
|
133
133
|
end
|
|
134
134
|
|
|
135
135
|
it 'returns valid conference information' do
|
|
136
|
-
event = subject.create(test_event)
|
|
136
|
+
event = subject.create(**test_event)
|
|
137
137
|
event = subject.add_conference(event.id)
|
|
138
138
|
|
|
139
139
|
expect(subject.conference_info(event.id)).to eql(
|
|
@@ -144,27 +144,27 @@ RSpec.describe GoogleAPI::Calendar do
|
|
|
144
144
|
end
|
|
145
145
|
|
|
146
146
|
it 'gets an event ' do
|
|
147
|
-
event = subject.create(test_event)
|
|
147
|
+
event = subject.create(**test_event)
|
|
148
148
|
expect(subject.get(event.id)).to be_a(Google::Apis::CalendarV3::Event)
|
|
149
149
|
end
|
|
150
150
|
|
|
151
151
|
it 'patches an event' do
|
|
152
|
-
event = subject.create(test_event)
|
|
152
|
+
event = subject.create(**test_event)
|
|
153
153
|
subject.patch(event.id, description: 'Patched.')
|
|
154
154
|
|
|
155
155
|
expect(subject.get(event.id).description).to eql('Patched.')
|
|
156
156
|
end
|
|
157
157
|
|
|
158
158
|
it 'updates an event' do
|
|
159
|
-
event = subject.create(test_event)
|
|
159
|
+
event = subject.create(**test_event)
|
|
160
160
|
updated_test_event = test_event.merge(description: 'Updated.')
|
|
161
|
-
subject.update(event.id, updated_test_event)
|
|
161
|
+
subject.update(event.id, **updated_test_event)
|
|
162
162
|
|
|
163
163
|
expect(subject.get(event.id).description).to eql('Updated.')
|
|
164
164
|
end
|
|
165
165
|
|
|
166
166
|
it 'deletes an event' do
|
|
167
|
-
event = subject.create(test_event)
|
|
167
|
+
event = subject.create(**test_event)
|
|
168
168
|
|
|
169
169
|
expect(subject.delete(event.id)).to eql('')
|
|
170
170
|
end
|
|
@@ -187,7 +187,7 @@ RSpec.describe GoogleAPI::Calendar do
|
|
|
187
187
|
end
|
|
188
188
|
|
|
189
189
|
it 'does not raise any errors with verbose' do
|
|
190
|
-
subject.create(test_event)
|
|
190
|
+
subject.create(**test_event)
|
|
191
191
|
|
|
192
192
|
silently do
|
|
193
193
|
expect do
|
|
@@ -198,7 +198,7 @@ RSpec.describe GoogleAPI::Calendar do
|
|
|
198
198
|
end
|
|
199
199
|
|
|
200
200
|
it 'adds conference data' do
|
|
201
|
-
event = subject.create(test_event)
|
|
201
|
+
event = subject.create(**test_event)
|
|
202
202
|
|
|
203
203
|
expect(subject.add_conference(event.id)).to be_a(Google::Apis::CalendarV3::Event)
|
|
204
204
|
end
|
|
@@ -15,7 +15,7 @@ RSpec.describe GoogleAPI::Configured::Calendar::Event do
|
|
|
15
15
|
let(:test_cal_id) { ENV['GOOGLE_CALENDAR_ID_TEST'] }
|
|
16
16
|
|
|
17
17
|
subject do
|
|
18
|
-
event = GoogleAPI::Configured::Calendar.new(test_cal_id).create(test_event)
|
|
18
|
+
event = GoogleAPI::Configured::Calendar.new(test_cal_id).create(**test_event)
|
|
19
19
|
GoogleAPI::Configured::Calendar::Event.new(test_cal_id, event.id)
|
|
20
20
|
end
|
|
21
21
|
|
|
@@ -31,7 +31,7 @@ RSpec.describe GoogleAPI::Configured::Calendar::Event do
|
|
|
31
31
|
|
|
32
32
|
it 'updates the event' do
|
|
33
33
|
updated_test_event = test_event.merge(description: 'Updated.')
|
|
34
|
-
subject.update(updated_test_event)
|
|
34
|
+
subject.update(**updated_test_event)
|
|
35
35
|
|
|
36
36
|
expect(subject.get.description).to eql('Updated.')
|
|
37
37
|
end
|
data/spec/spec_helper.rb
CHANGED
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.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Julian Fiander
|
|
@@ -45,47 +45,47 @@ dependencies:
|
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
46
|
version: 1.4.1
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: google-apis-
|
|
48
|
+
name: google-apis-admin_directory_v1
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - "~>"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0.
|
|
53
|
+
version: '0.40'
|
|
54
54
|
type: :runtime
|
|
55
55
|
prerelease: false
|
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0.
|
|
60
|
+
version: '0.40'
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
|
-
name: google-apis-
|
|
62
|
+
name: google-apis-calendar_v3
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0.
|
|
67
|
+
version: '0.27'
|
|
68
68
|
type: :runtime
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '0.
|
|
74
|
+
version: '0.27'
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
|
-
name: google-apis-
|
|
76
|
+
name: google-apis-groupssettings_v1
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '0.
|
|
81
|
+
version: '0.13'
|
|
82
82
|
type: :runtime
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
86
|
- - "~>"
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '0.
|
|
88
|
+
version: '0.13'
|
|
89
89
|
- !ruby/object:Gem::Dependency
|
|
90
90
|
name: ruby-progressbar
|
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,6 +100,20 @@ dependencies:
|
|
|
100
100
|
- - "~>"
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
102
|
version: '1.10'
|
|
103
|
+
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: dotenv
|
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
type: :development
|
|
111
|
+
prerelease: false
|
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
103
117
|
- !ruby/object:Gem::Dependency
|
|
104
118
|
name: rspec
|
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -210,9 +224,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
210
224
|
version: '3.0'
|
|
211
225
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
226
|
requirements:
|
|
213
|
-
- - "
|
|
227
|
+
- - ">="
|
|
214
228
|
- !ruby/object:Gem::Version
|
|
215
|
-
version:
|
|
229
|
+
version: '0'
|
|
216
230
|
requirements: []
|
|
217
231
|
rubygems_version: 3.2.33
|
|
218
232
|
signing_key:
|