quiz_api_client 4.21.0 → 4.22.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1163e85cb5fd4c258330d4d8a6fdd298e6a252bc453b28ca7f3a02cbfb06b968
4
- data.tar.gz: 230852d9477251d2b97a49a3ab5b7f84bdc96505e9636d01f1257859c3641d80
3
+ metadata.gz: 0326a0567d52565a328e8baeef1121dd071fd3a6cc33d4f36a472d394c353382
4
+ data.tar.gz: d93ac7d560e617f2156ce313701826640791b78d5581f9c6a0298978d3281e67
5
5
  SHA512:
6
- metadata.gz: 4d550ce6a725dc72a605a4ef037662143d553cc6ac2ea47411e1739abdf32f3e3e1a61f24e80c00755aafaad0c410df753f26cd83e90b4efca241ed5a9a91812
7
- data.tar.gz: ca76400aee18a66010e821cb3b4a3e8b720f69106031445da5dbdb1851f9bf7d2976683c4a711d3ae762e288576d5ae06fbfd643393f41afc8070b330dd0bbf4
6
+ metadata.gz: 48d7c949f232d01e3cc6cd9a5408fd2ac921893154af5ea4ad244d0783d8950f966c0faab371a1d17f7a2265d64590b4061b18a33eaf3e3d4c2e98c8639e907a
7
+ data.tar.gz: 7aa68e7db93d0943492d7851b73a1f2b99c16d8cb7b7275bcbbc0001a956410bb45dc83a0e5e60c75c448169d57c9a186875e5044b7bde9ffaa13d18e2f04eec
@@ -0,0 +1,14 @@
1
+ module QuizApiClient::Services
2
+ class YoutubeService < BaseApiService
3
+ def start_scan(params:, token: nil)
4
+ post_to_quiz_api(params: params, token: token)
5
+ end
6
+
7
+ def post_to_quiz_api(params:, token:)
8
+ client(token: token).post(
9
+ '/api/youtube/start_youtube_migration_scan',
10
+ params
11
+ )
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,3 @@
1
1
  module QuizApiClient
2
- VERSION = '4.21.0'.freeze
2
+ VERSION = '4.22.0'.freeze
3
3
  end
@@ -125,6 +125,10 @@ module QuizApiClient
125
125
  def shared_banks
126
126
  @_shared_banks ||= QuizApiClient::Services::SharedBanks.new(config)
127
127
  end
128
+
129
+ def youtube_service
130
+ @_youtube_service ||= Services::YoutubeService.new(config)
131
+ end
128
132
  end
129
133
  end
130
134
 
@@ -163,3 +167,4 @@ require 'quiz_api_client/services/quiz_sync_jobs_service'
163
167
  require 'quiz_api_client/services/session_items_service'
164
168
  require 'quiz_api_client/services/session_item_results_service'
165
169
  require 'quiz_api_client/services/shared_banks'
170
+ require 'quiz_api_client/services/youtube_service'
@@ -0,0 +1,33 @@
1
+ describe QuizApiClient::Services::YoutubeService do
2
+ let(:host) { 'api.host' }
3
+ let(:config) { QuizApiClient::Config.new { |c| c.host = host } }
4
+ let(:subject) { described_class.new(config) }
5
+ let(:stubbed_response) do
6
+ {
7
+ 'id' => 1,
8
+ 'scan_id' => 'abc-123',
9
+ 'status' => 'in_progress'
10
+ }
11
+ end
12
+
13
+ describe '#start_scan' do
14
+ let(:params) { { course_id: 42, scan_id: 'abc-123', quiz_assignment_map: { 123 => 456 } } }
15
+ let(:expected_url) { "https://#{host}/api/youtube/start_youtube_migration_scan" }
16
+
17
+ before do
18
+ stub_request(:post, expected_url)
19
+ .with(body: params.to_json)
20
+ .to_return(
21
+ status: 202,
22
+ body: stubbed_response.to_json,
23
+ headers: { 'Content-Type' => 'application/json' }
24
+ )
25
+ end
26
+
27
+ it 'posts to the correct endpoint and returns the response' do
28
+ expect(
29
+ subject.start_scan(params: params, token: 'token').parsed_response
30
+ ).to eq(stubbed_response)
31
+ end
32
+ end
33
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quiz_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.21.0
4
+ version: 4.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Slaughter
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: exe
17
17
  cert_chain: []
18
- date: 2025-05-06 00:00:00.000000000 Z
18
+ date: 2025-09-12 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: httparty
@@ -207,6 +207,7 @@ files:
207
207
  - lib/quiz_api_client/services/session_item_results_service.rb
208
208
  - lib/quiz_api_client/services/session_items_service.rb
209
209
  - lib/quiz_api_client/services/shared_banks.rb
210
+ - lib/quiz_api_client/services/youtube_service.rb
210
211
  - lib/quiz_api_client/version.rb
211
212
  - spec/config_spec.rb
212
213
  - spec/http_client_spec.rb
@@ -240,6 +241,7 @@ files:
240
241
  - spec/services/quizzes_service_spec.rb
241
242
  - spec/services/session_item_results_service_spec.rb
242
243
  - spec/services/session_items_service_spec.rb
244
+ - spec/services/youtube_service_spec.rb
243
245
  - spec/spec_helper.rb
244
246
  homepage:
245
247
  licenses: []
@@ -259,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
259
261
  - !ruby/object:Gem::Version
260
262
  version: '0'
261
263
  requirements: []
262
- rubygems_version: 3.4.10
264
+ rubygems_version: 3.5.22
263
265
  signing_key:
264
266
  specification_version: 4
265
267
  summary: Ruby client for quiz_api
@@ -296,4 +298,5 @@ test_files:
296
298
  - spec/services/quizzes_service_spec.rb
297
299
  - spec/services/session_item_results_service_spec.rb
298
300
  - spec/services/session_items_service_spec.rb
301
+ - spec/services/youtube_service_spec.rb
299
302
  - spec/spec_helper.rb