zoom_rb 1.1.8 → 1.1.9

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: 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