kinescope-rb 0.2.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kinescope/client.rb +2 -1
- data/lib/kinescope/error_handler.rb +30 -0
- data/lib/kinescope/mappings/project_mapping.rb +24 -0
- data/lib/kinescope/models/project.rb +17 -0
- data/lib/kinescope/resources/drm_resource.rb +5 -3
- data/lib/kinescope/resources/project_resource.rb +13 -0
- data/lib/kinescope/resources/video_resource.rb +1 -1
- data/lib/kinescope/version.rb +1 -1
- data/lib/kinescope.rb +12 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ca2200dd8e0c8e7b7d716091e3002b817c4cf22f8d67d807bb84a476d0eaec7
|
4
|
+
data.tar.gz: a0962262b7774b9636ddf34861e216e279bfb2a48986d2ffd0a5bd7fe17b4ce1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e38f2a47ff521f17daf1f6cc3e24a901c2cd33a50ad7f1d217bfceb514a003140e5e770f59fb2719de7d5fbb291d085126c7b17c0dd2eef68c7c08d515e4c0b
|
7
|
+
data.tar.gz: d5b285b0faa5826669710f4c6a1086f2a66e37c0d1930842b748edf23f1960cf8f14c6fc2e9be32ab37efab0b6921b2c3e973aa1f30f0faae7e6a0ff0ae32cd5
|
data/lib/kinescope/client.rb
CHANGED
@@ -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
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Kinescope
|
4
|
+
class ProjectMapping
|
5
|
+
include Kartograph::DSL
|
6
|
+
|
7
|
+
kartograph do
|
8
|
+
mapping Project
|
9
|
+
root_key plural: 'data', singular: 'data', scopes: [:read]
|
10
|
+
|
11
|
+
property :id, scopes: [:read]
|
12
|
+
property :name, scopes: [:read]
|
13
|
+
property :privacy_type, scopes: [:read]
|
14
|
+
property :privacy_domains, scopes: [:read]
|
15
|
+
property :player_id, scopes: [:read]
|
16
|
+
property :favorite, scopes: [:read]
|
17
|
+
property :size, scopes: [:read]
|
18
|
+
property :items_count, scopes: [:read]
|
19
|
+
property :created_at, scopes: [:read]
|
20
|
+
property :updated_at, scopes: [:read]
|
21
|
+
property :encrypted, scopes: [:read]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Kinescope
|
4
|
+
class Project < BaseModel
|
5
|
+
attribute :id
|
6
|
+
attribute :name
|
7
|
+
attribute :privacy_type
|
8
|
+
attribute :privacy_domains
|
9
|
+
attribute :player_id
|
10
|
+
attribute :favorite
|
11
|
+
attribute :size
|
12
|
+
attribute :items_count
|
13
|
+
attribute :created_at
|
14
|
+
attribute :updated_at
|
15
|
+
attribute :encrypted
|
16
|
+
end
|
17
|
+
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 :
|
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
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Kinescope
|
4
|
+
class ProjectResource < ResourceKit::Resource
|
5
|
+
include ErrorHandler
|
6
|
+
|
7
|
+
resources do
|
8
|
+
action :find, 'GET /v1/projects/:project_id' do
|
9
|
+
handler(200) { |response| ProjectMapping.extract_single(response.body, :read) }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/kinescope/version.rb
CHANGED
data/lib/kinescope.rb
CHANGED
@@ -10,14 +10,17 @@ module Kinescope
|
|
10
10
|
# Models
|
11
11
|
autoload :BaseModel, 'kinescope/models/base_model'
|
12
12
|
autoload :DRM, 'kinescope/models/drm'
|
13
|
+
autoload :Project, 'kinescope/models/project'
|
13
14
|
autoload :Video, 'kinescope/models/video'
|
14
15
|
|
15
16
|
# Mappings
|
16
17
|
autoload :DRMMapping, 'kinescope/mappings/drm_mapping'
|
18
|
+
autoload :ProjectMapping, 'kinescope/mappings/project_mapping'
|
17
19
|
autoload :VideoMapping, 'kinescope/mappings/video_mapping'
|
18
20
|
|
19
21
|
# Resources
|
20
22
|
autoload :DRMResource, 'kinescope/resources/drm_resource'
|
23
|
+
autoload :ProjectResource, 'kinescope/resources/project_resource'
|
21
24
|
autoload :VideoResource, 'kinescope/resources/video_resource'
|
22
25
|
|
23
26
|
# Meta
|
@@ -26,4 +29,13 @@ module Kinescope
|
|
26
29
|
autoload :Pagination, 'kinescope/models/meta'
|
27
30
|
autoload :MetaMapping, 'kinescope/mappings/meta_mapping'
|
28
31
|
autoload :PaginationResource, 'kinescope/pagination_resource'
|
32
|
+
|
33
|
+
# Errors
|
34
|
+
autoload :ErrorHandler, 'kinescope/error_handler'
|
35
|
+
Error = Class.new(StandardError)
|
36
|
+
AccessDeniedError = Class.new(Kinescope::Error)
|
37
|
+
BadRequestError = Class.new(Kinescope::Error)
|
38
|
+
NotFoundError = Class.new(Kinescope::Error)
|
39
|
+
PaymentRequired = Class.new(Kinescope::Error)
|
40
|
+
UnauthorizedError = Class.new(Kinescope::Error)
|
29
41
|
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.
|
4
|
+
version: 0.4.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-
|
11
|
+
date: 2023-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -155,15 +155,19 @@ 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
|
161
|
+
- lib/kinescope/mappings/project_mapping.rb
|
160
162
|
- lib/kinescope/mappings/video_mapping.rb
|
161
163
|
- lib/kinescope/models/base_model.rb
|
162
164
|
- lib/kinescope/models/drm.rb
|
163
165
|
- lib/kinescope/models/meta.rb
|
166
|
+
- lib/kinescope/models/project.rb
|
164
167
|
- lib/kinescope/models/video.rb
|
165
168
|
- lib/kinescope/pagination_resource.rb
|
166
169
|
- lib/kinescope/resources/drm_resource.rb
|
170
|
+
- lib/kinescope/resources/project_resource.rb
|
167
171
|
- lib/kinescope/resources/video_resource.rb
|
168
172
|
- lib/kinescope/version.rb
|
169
173
|
homepage: https://github.com/droff/kinescope-rb
|