kinescope-rb 0.2.0 → 0.3.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: '06856454a6b7a8536b3774baa2a116b153115e42121bb5f455dd5440b913b76d'
4
- data.tar.gz: a6abebe3a3b371727f0fe1a0426407eea20428ad32383fcf1848afac321f70c0
3
+ metadata.gz: c80542490674bdbed7565a4dc3c55df17afd5036ca49703c2343ade567b5e425
4
+ data.tar.gz: 8851aeb48c8b13e1ba4637def2c70a8697ccc64568fca2e2dbed3e65f91adb3d
5
5
  SHA512:
6
- metadata.gz: 3024a4b3a8f8ec109cb58b42fbed6a99931ad0585daf9c1d408cc9c6de1fae5bb3ff81e4aae0b0a051746d95cf5ebefee29f5a759ee8cb413c6cb2267d797adc
7
- data.tar.gz: 3c59d127f7fd3cd39261d71a764c936ac32148111f71f415624be13f5b1f02e8856e46ee6a451c002ff26ea184e114b2026d01afd4773c17ece631bf64d5e877
6
+ metadata.gz: bb6f8f6f0cf878ce3bd39a02a97a2b1680b712c9acef707dddaa24f2941c828a6a036cb64bd786a6e17a821881cf96935a1f3829f7d633ccda043b98ecae45c5
7
+ data.tar.gz: '09c874925c570fe6109b584813a940fbc00bffd54b32456290a0355270a0c1b493ef5b1296d5ced91cd7467ef1ad6981695ec2ceaec37669eace1a3df4359adc'
@@ -29,6 +29,7 @@ module Kinescope
29
29
  def self.resources
30
30
  {
31
31
  videos: VideoResource,
32
+ drm: DRMResource
32
33
  }
33
34
  end
34
35
 
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kinescope
4
+ module ErrorHandler
5
+
6
+ def self.included(base)
7
+ base.send(:resources) do
8
+ default_handler do |response|
9
+ case response.status
10
+ when 200..299
11
+ next
12
+ when 400
13
+ raise Kinescope::BadRequestError.new("#{response.status}: #{response.body}")
14
+ when 401
15
+ raise Kinescope::UnauthorizedError.new("#{response.status}: #{response.body}")
16
+ when 402
17
+ raise Kinescope::PaymentRequired.new("#{response.status}: #{response.body}")
18
+ when 403
19
+ raise Kinescope::AccessDeniedError.new("#{response.status}: #{response.body}")
20
+ when 404
21
+ raise Kinescope::NotFoundError.new("#{response.status}: #{response.body}")
22
+ else
23
+ raise Kinescope::Error.new("#{response.status}: #{response.body}")
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ end
30
+ end
@@ -2,17 +2,19 @@
2
2
 
3
3
  module Kinescope
4
4
  class DRMResource < ResourceKit::Resource
5
+ include ErrorHandler
6
+
5
7
  resources do
6
- action :show, 'GET /v1/drm/auth' do
8
+ action :find, 'GET /v1/drm/auth/:project_id' do
7
9
  handler(200) { |response| DRMMapping.extract_single(response.body, :read) }
8
10
  end
9
11
 
10
- action :update, 'PUT /v1/drm/auth' do
12
+ action :update, 'PUT /v1/drm/auth/:project_id' do
11
13
  body { |object| DRMMapping.representation_for(:update, object) }
12
14
  handler(200) { |response| DRMMapping.extract_single(response.body, :read) }
13
15
  end
14
16
 
15
- action :delete, 'DELETE /v1/drm/auth' do
17
+ action :delete, 'DELETE /v1/drm/auth/:project_id' do
16
18
  handler(200) { true }
17
19
  end
18
20
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Kinescope
4
4
  class VideoResource < ResourceKit::Resource
5
- # include ErrorHandler
5
+ include ErrorHandler
6
6
 
7
7
  resources do
8
8
  action :all, 'GET /v1/videos' do
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kinescope
4
- VERSION = '0.2.0'.freeze
4
+ VERSION = '0.3.0'.freeze
5
5
  end
data/lib/kinescope.rb CHANGED
@@ -26,4 +26,13 @@ module Kinescope
26
26
  autoload :Pagination, 'kinescope/models/meta'
27
27
  autoload :MetaMapping, 'kinescope/mappings/meta_mapping'
28
28
  autoload :PaginationResource, 'kinescope/pagination_resource'
29
+
30
+ # Errors
31
+ autoload :ErrorHandler, 'kinescope/error_handler'
32
+ Error = Class.new(StandardError)
33
+ AccessDeniedError = Class.new(Kinescope::Error)
34
+ BadRequestError = Class.new(Kinescope::Error)
35
+ NotFoundError = Class.new(Kinescope::Error)
36
+ PaymentRequired = Class.new(Kinescope::Error)
37
+ UnauthorizedError = Class.new(Kinescope::Error)
29
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kinescope-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - droff
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-23 00:00:00.000000000 Z
11
+ date: 2023-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -155,6 +155,7 @@ files:
155
155
  - kinescope-rb.gemspec
156
156
  - lib/kinescope.rb
157
157
  - lib/kinescope/client.rb
158
+ - lib/kinescope/error_handler.rb
158
159
  - lib/kinescope/mappings/drm_mapping.rb
159
160
  - lib/kinescope/mappings/meta_mapping.rb
160
161
  - lib/kinescope/mappings/video_mapping.rb