zoom_rb 1.1.8 → 1.1.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87a9e2f7848d2e669f3e022e99e0efeaba1610e3021c904b7266a0bf4269d1c8
4
- data.tar.gz: 891a47c991116c9df57217bcafc443e4f077709ed87499ee270a4c365526cbd3
3
+ metadata.gz: 0a720d6f32016994f2e4c5246bfd2b460dd9ae6e8c5580682bce9a33c7f758fd
4
+ data.tar.gz: 5d63cee99f19064e6a2887ab691d9c611aa460aefdd3b6db6dd1c2bed071ae78
5
5
  SHA512:
6
- metadata.gz: cdd836e38abf1363e152c21c2698b0575e2ce869fd473293affd8baa3a6b16c6d4c451f442f8b37a5dfe67ce8aa1c696d022b65afd21e9ec962c2984b1c66a40
7
- data.tar.gz: '0677805581c425cf3ebd7e8a30bed630b626c16c54046977168761cf6abb1a6afab86e1ca04e875845fa4f62f0110c993535f0c026139dfad885f7396a508cec'
6
+ metadata.gz: a4b6ebc0a0a1f7cc247392ea64a1765db4d6c311470a23d28b839c7f2a78b49413188f485f1f7653412cac153add76f230161a1b12e8026bed915f03a2463030
7
+ data.tar.gz: 828410a4b13b845ca46de5d44d4d28b4600abeafaf9c94c6d6bc83bfd9c40362c8b14e582ebda2638a74222c27d806c3649a42abc0988dbd636f1ab16a4f4cc4
@@ -10,7 +10,7 @@ jobs:
10
10
  test:
11
11
  strategy:
12
12
  matrix:
13
- ruby: ['3.0', '3.1', '3.2']
13
+ ruby: ['3.0', '3.1', '3.2', '3.3']
14
14
  runs-on: ubuntu-latest
15
15
 
16
16
  steps:
@@ -37,4 +37,4 @@ jobs:
37
37
  uses: coverallsapp/github-action@v2
38
38
  with:
39
39
  parallel-finished: true
40
- carryforward: "ruby-3.0,ruby-3.1,ruby-3.2"
40
+ carryforward: "ruby-3.0,ruby-3.1,ruby-3.2,ruby-3.3"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zoom_rb (1.1.8)
4
+ zoom_rb (1.1.9)
5
5
  httparty (>= 0.13)
6
6
  json (>= 1.8)
7
7
  jwt
@@ -36,9 +36,9 @@ GEM
36
36
  i18n (1.12.0)
37
37
  concurrent-ruby (~> 1.0)
38
38
  json (2.6.3)
39
- jwt (2.7.0)
39
+ jwt (2.7.1)
40
40
  method_source (1.0.0)
41
- mini_mime (1.1.2)
41
+ mini_mime (1.1.5)
42
42
  minitest (5.18.0)
43
43
  multi_xml (0.6.0)
44
44
  parallel (1.22.1)
@@ -13,7 +13,7 @@ module Zoom
13
13
  post 'meeting_create', '/users/:user_id/meetings',
14
14
  permit: %i[
15
15
  topic type start_time duration schedule_for timezone password default_password agenda tracking_fields
16
- recurrence settings template_id
16
+ recurrence settings template_id pre_schedule
17
17
  ]
18
18
 
19
19
  # Get a meeting on Zoom via meeting ID, return the meeting info.
@@ -75,6 +75,12 @@ module Zoom
75
75
 
76
76
  # Get a meeting on Zoom via meeting ID, return the meeting info.
77
77
  get 'meeting_invitation', '/meetings/:meeting_id/invitation'
78
+
79
+ # Support for meeting surveys
80
+ # https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/meetingSurveyGet
81
+ get "meeting_survey", "/meetings/:meeting_id/survey"
82
+ delete "meeting_delete_survey", "/meetings/:meeting_id/survey"
83
+ patch "meeting_update_survey", "/meetings/:meeting_id/survey"
78
84
  end
79
85
  end
80
86
  end
@@ -15,6 +15,11 @@ module Zoom
15
15
 
16
16
  get 'meeting_recording_settings_get', '/meetings/:meeting_id/recordings/settings'
17
17
 
18
+ get 'meeting_recording_analytics_summary', '/meetings/:meeting_id/recordings/analytics_summary'
19
+
20
+ get 'meeting_recording_analytics_details', '/meetings/:meeting_id/recordings/analytics_details',
21
+ permit: %i[page_size next_page_token from to type]
22
+
18
23
  patch 'meeting_recording_settings_update', '/meetings/:meeting_id/recordings/settings',
19
24
  permit: RECORDING_SETTINGS_KEYS
20
25
 
@@ -11,10 +11,10 @@ module Zoom
11
11
  get 'meeting_details_report', '/report/meetings/:id'
12
12
 
13
13
  get 'meeting_participants_report', '/report/meetings/:id/participants',
14
- permit: %i[page_size next_page_token]
14
+ permit: %i[page_size next_page_token include_fields]
15
15
 
16
16
  get 'webinar_participants_report', '/report/webinars/:id/participants',
17
- permit: %i[page_size next_page_token]
17
+ permit: %i[page_size next_page_token include_fields]
18
18
 
19
19
  get 'webinar_details_report', '/report/webinars/:webinar_id'
20
20
  end
@@ -21,7 +21,7 @@ module Zoom
21
21
  permit: :login_type
22
22
 
23
23
  patch 'user_update', '/users/:id',
24
- permit: %i[first_name last_name type pmi timezone dept vanity_name host_key cms_user_id]
24
+ permit: %i[first_name last_name type pmi timezone dept vanity_name host_key cms_user_id custom_attributes]
25
25
 
26
26
  delete 'user_delete', '/users/:id',
27
27
  permit: %i[action transfer_email transfer_meeting transfer_webinar transfer_recording]
data/lib/zoom/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zoom
4
- VERSION = '1.1.8'
4
+ VERSION = '1.1.9'
5
5
  end
@@ -0,0 +1,21 @@
1
+ {
2
+ "custom_survey": {
3
+ "title": "Feedback on your live lecture",
4
+ "anonymous": false,
5
+ "feedback": "Thank you so much for taking the time to complete the survey. Your feedback really makes a difference.",
6
+ "questions": [
7
+ {
8
+ "name": "How useful was this lecture?",
9
+ "type": "rating_scale",
10
+ "answer_required": true,
11
+ "rating_min_value": 1,
12
+ "rating_max_value": 5,
13
+ "rating_min_label": "There is room for improvement",
14
+ "rating_max_label": "Very useful, I feel I learned a lot"
15
+ }
16
+ ],
17
+ "numbered_questions": false,
18
+ "show_question_type": false
19
+ },
20
+ "show_in_the_browser": true
21
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "from":"2023-01-01",
3
+ "to":"2023-01-02",
4
+ "next_page_token":"",
5
+ "page_size":30,
6
+ "total_records":1,
7
+ "analytics_details": [
8
+ {
9
+ "name":"John Doe",
10
+ "email":"john.doe@example.com",
11
+ "duration":1234,
12
+ "date_time":"2023-01-01T11:25:01Z"
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "from":"2023-01-01",
3
+ "to":"2023-01-02",
4
+ "analytics_summary": [
5
+ {
6
+ "date":"2023-01-01",
7
+ "views_total_count":8,
8
+ "downloads_total_count":0
9
+ },
10
+ {
11
+ "date":"2023-01-02",
12
+ "views_total_count": 13,
13
+ "downloads_total_count": 1
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Meeting do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 1 } }
8
+
9
+ describe '#meeting_survey action' do
10
+ before :each do
11
+ stub_request(
12
+ :get,
13
+ zoom_url("/meetings/#{args[:meeting_id]}/survey")
14
+ ).to_return(body: json_response('meeting', 'get_survey'), headers: { 'Content-Type' => 'application/json' })
15
+ end
16
+
17
+ it 'returns a hash' do
18
+ expect(zc.meeting_survey(args)).to be_kind_of(Hash)
19
+ end
20
+
21
+ it "returns survey properties" do
22
+ expect(zc.meeting_survey(args)['show_in_the_browser']).to eql(true)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Recording do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 91538056781 } }
8
+
9
+ describe '#meeting_recording_analytics_details action' do
10
+ before :each do
11
+ stub_request(
12
+ :get,
13
+ zoom_url("/meetings/#{args[:meeting_id]}/recordings/analytics_details")
14
+ ).to_return(
15
+ status: 200,
16
+ body: json_response('recording', 'analytics_details'),
17
+ headers: { 'Content-Type' => 'application/json' }
18
+ )
19
+ end
20
+
21
+ it "requires a 'meeting_id' argument" do
22
+ expect {
23
+ zc.meeting_recording_analytics_details(filter_key(args, :meeting_id))
24
+ }.to raise_error(Zoom::ParameterMissing)
25
+ end
26
+
27
+ it 'returns a hash' do
28
+ expect(zc.meeting_recording_analytics_details(args)).to be_kind_of(Hash)
29
+ end
30
+
31
+ it "returns 'from'" do
32
+ expect(zc.meeting_recording_analytics_details(args)['from']).to eq('2023-01-01')
33
+ end
34
+
35
+ it "returns 'to'" do
36
+ expect(zc.meeting_recording_analytics_details(args)['to']).to eq('2023-01-02')
37
+ end
38
+
39
+ it "returns 'next_page_token'" do
40
+ expect(zc.meeting_recording_analytics_details(args)['next_page_token']).to eq('')
41
+ end
42
+
43
+ it "returns 'page_size'" do
44
+ expect(zc.meeting_recording_analytics_details(args)['page_size']).to eq(30)
45
+ end
46
+
47
+ it "returns 'total_records'" do
48
+ expect(zc.meeting_recording_analytics_details(args)['total_records']).to eq(1)
49
+ end
50
+
51
+ it "returns 'analytics_details' Array" do
52
+ expect(zc.meeting_recording_analytics_details(args)['analytics_details']).to be_kind_of(Array)
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Zoom::Actions::Recording do
6
+ let(:zc) { zoom_client }
7
+ let(:args) { { meeting_id: 91538056781 } }
8
+
9
+ describe '#meeting_recording_analytics_summary action' do
10
+ before :each do
11
+ stub_request(
12
+ :get,
13
+ zoom_url("/meetings/#{args[:meeting_id]}/recordings/analytics_summary")
14
+ ).to_return(
15
+ status: 200,
16
+ body: json_response('recording', 'analytics_summary'),
17
+ headers: { 'Content-Type' => 'application/json' }
18
+ )
19
+ end
20
+
21
+ it "requires a 'meeting_id' argument" do
22
+ expect {
23
+ zc.meeting_recording_analytics_summary(filter_key(args, :meeting_id))
24
+ }.to raise_error(Zoom::ParameterMissing)
25
+ end
26
+
27
+ it 'returns a hash' do
28
+ expect(zc.meeting_recording_analytics_summary(args)).to be_kind_of(Hash)
29
+ end
30
+
31
+ it "returns 'from'" do
32
+ expect(zc.meeting_recording_analytics_summary(args)['from']).to eq('2023-01-01')
33
+ end
34
+
35
+ it "returns 'to'" do
36
+ expect(zc.meeting_recording_analytics_summary(args)['to']).to eq('2023-01-02')
37
+ end
38
+
39
+ it "returns 'analytics_summary' Array" do
40
+ expect(zc.meeting_recording_analytics_summary(args)['analytics_summary']).to be_kind_of(Array)
41
+ end
42
+
43
+ end
44
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zoom_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Boe
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-10 00:00:00.000000000 Z
11
+ date: 2024-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -254,11 +254,14 @@ files:
254
254
  - spec/fixtures/meeting/add_registrant.json
255
255
  - spec/fixtures/meeting/create.json
256
256
  - spec/fixtures/meeting/get.json
257
+ - spec/fixtures/meeting/get_survey.json
257
258
  - spec/fixtures/meeting/instances.json
258
259
  - spec/fixtures/meeting/invitation.json
259
260
  - spec/fixtures/meeting/list.json
260
261
  - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
261
262
  - spec/fixtures/meeting/live_stream/errors/missing_field.json
263
+ - spec/fixtures/recording/analytics_details.json
264
+ - spec/fixtures/recording/analytics_summary.json
262
265
  - spec/fixtures/recording/get.json
263
266
  - spec/fixtures/recording/list.json
264
267
  - spec/fixtures/recording/settings/get.json
@@ -384,11 +387,14 @@ files:
384
387
  - spec/lib/zoom/actions/meeting/create_spec.rb
385
388
  - spec/lib/zoom/actions/meeting/delete_spec.rb
386
389
  - spec/lib/zoom/actions/meeting/get_spec.rb
390
+ - spec/lib/zoom/actions/meeting/get_survey_spec.rb
387
391
  - spec/lib/zoom/actions/meeting/invitation_spec.rb
388
392
  - spec/lib/zoom/actions/meeting/list_spec.rb
389
393
  - spec/lib/zoom/actions/meeting/livestream_spec.rb
390
394
  - spec/lib/zoom/actions/meeting/registrants/update_status_spec.rb
391
395
  - spec/lib/zoom/actions/meeting/update_spec.rb
396
+ - spec/lib/zoom/actions/recording/analytics_details_spec.rb
397
+ - spec/lib/zoom/actions/recording/analytics_summary_spec.rb
392
398
  - spec/lib/zoom/actions/recording/file_delete_spec.rb
393
399
  - spec/lib/zoom/actions/recording/get_spec.rb
394
400
  - spec/lib/zoom/actions/recording/list_spec.rb
@@ -482,7 +488,7 @@ homepage: https://github.com/hintmedia/zoom_rb
482
488
  licenses:
483
489
  - MIT
484
490
  metadata: {}
485
- post_install_message:
491
+ post_install_message:
486
492
  rdoc_options: []
487
493
  require_paths:
488
494
  - lib
@@ -497,8 +503,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
497
503
  - !ruby/object:Gem::Version
498
504
  version: '0'
499
505
  requirements: []
500
- rubygems_version: 3.4.10
501
- signing_key:
506
+ rubygems_version: 3.5.4
507
+ signing_key:
502
508
  specification_version: 4
503
509
  summary: zoom.us API wrapper
504
510
  test_files:
@@ -545,11 +551,14 @@ test_files:
545
551
  - spec/fixtures/meeting/add_registrant.json
546
552
  - spec/fixtures/meeting/create.json
547
553
  - spec/fixtures/meeting/get.json
554
+ - spec/fixtures/meeting/get_survey.json
548
555
  - spec/fixtures/meeting/instances.json
549
556
  - spec/fixtures/meeting/invitation.json
550
557
  - spec/fixtures/meeting/list.json
551
558
  - spec/fixtures/meeting/live_stream/errors/meeting_not_found.json
552
559
  - spec/fixtures/meeting/live_stream/errors/missing_field.json
560
+ - spec/fixtures/recording/analytics_details.json
561
+ - spec/fixtures/recording/analytics_summary.json
553
562
  - spec/fixtures/recording/get.json
554
563
  - spec/fixtures/recording/list.json
555
564
  - spec/fixtures/recording/settings/get.json
@@ -675,11 +684,14 @@ test_files:
675
684
  - spec/lib/zoom/actions/meeting/create_spec.rb
676
685
  - spec/lib/zoom/actions/meeting/delete_spec.rb
677
686
  - spec/lib/zoom/actions/meeting/get_spec.rb
687
+ - spec/lib/zoom/actions/meeting/get_survey_spec.rb
678
688
  - spec/lib/zoom/actions/meeting/invitation_spec.rb
679
689
  - spec/lib/zoom/actions/meeting/list_spec.rb
680
690
  - spec/lib/zoom/actions/meeting/livestream_spec.rb
681
691
  - spec/lib/zoom/actions/meeting/registrants/update_status_spec.rb
682
692
  - spec/lib/zoom/actions/meeting/update_spec.rb
693
+ - spec/lib/zoom/actions/recording/analytics_details_spec.rb
694
+ - spec/lib/zoom/actions/recording/analytics_summary_spec.rb
683
695
  - spec/lib/zoom/actions/recording/file_delete_spec.rb
684
696
  - spec/lib/zoom/actions/recording/get_spec.rb
685
697
  - spec/lib/zoom/actions/recording/list_spec.rb