wcc-media-client 0.3.8 → 0.4.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 +4 -4
- data/config/routes.rb +6 -0
- data/lib/wcc/media/engine.rb +81 -0
- data/lib/wcc/media/rails.rb +5 -0
- data/lib/wcc/media/tag.rb +1 -0
- data/lib/wcc/media/version.rb +1 -1
- data/wcc-media-client.gemspec +9 -0
- metadata +131 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 360b25849df0cec25c561c8b221b18ecae44fde7
|
4
|
+
data.tar.gz: aa267536df96372a69036b5a7b070681412f7a9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 341cb15599bc49a57cec7487556334304abed2ca108777d7781f7259a193970ee38bde4e870d2c4c7338252e58825a3553e9b0b86f70b26803a42204de63a21d
|
7
|
+
data.tar.gz: 30e9f362bcd88803050fe6a59f1799973f7d77f33623bfe27b6207dda7356211b9fddcc146f4f75d9cfe846ce40a6391e6f79b5d7fa8c07e2fe710557ca10234
|
data/config/routes.rb
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'active_job'
|
4
|
+
require 'toot'
|
5
|
+
require 'wcc/auth'
|
6
|
+
require 'wcc/data'
|
7
|
+
|
8
|
+
class WCC::Media::Engine < ::Rails::Engine
|
9
|
+
isolate_namespace WCC::Media
|
10
|
+
|
11
|
+
class << self
|
12
|
+
def subscribe(channel, handler = nil, &block)
|
13
|
+
handler ||= Proc.new(&block)
|
14
|
+
with_toot_config do |c|
|
15
|
+
c.subscribe :media, channel, handler
|
16
|
+
end
|
17
|
+
register_subscriptions
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialized
|
21
|
+
# Don't register subscriptions unless
|
22
|
+
# 1. we mounted the engine and
|
23
|
+
# 2. something subscribed.
|
24
|
+
::Toot.config.callback_url &&
|
25
|
+
::Toot.config.subscriptions.any? { |s| s.source.name == :media }
|
26
|
+
end
|
27
|
+
|
28
|
+
def register_subscriptions
|
29
|
+
return unless initialized
|
30
|
+
|
31
|
+
raise StandardError, "WCC::Auth must be configured" unless WCC::Auth.config.app_name.present? && WCC::Auth.config.app_url.present?
|
32
|
+
|
33
|
+
RegistersSubscriptionsJob.perform_later
|
34
|
+
end
|
35
|
+
|
36
|
+
# Ensures toot is configured properly with the Media channel. Note this is
|
37
|
+
# not done until an actual subscription is requested.
|
38
|
+
def with_toot_config(&block)
|
39
|
+
return ::Toot.config(&block) if @configured
|
40
|
+
|
41
|
+
::Toot.config do |c|
|
42
|
+
media_api_url = WCC::Media::Client.default.api_url
|
43
|
+
|
44
|
+
c.source :media,
|
45
|
+
channel_prefix: "org.watermark.media.",
|
46
|
+
subscription_url: URI.join(media_api_url, '/toot/subscriptions')
|
47
|
+
|
48
|
+
# Note - use the [] method to override only if not set in client already
|
49
|
+
c[:http_connection] ||=
|
50
|
+
Faraday::Connection.new do |conn|
|
51
|
+
conn.use :client_app_token
|
52
|
+
conn.adapter :net_http
|
53
|
+
end
|
54
|
+
|
55
|
+
yield c
|
56
|
+
end
|
57
|
+
@configured = true
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
initializer 'configure WCC::Media Toots' do
|
62
|
+
ActiveSupport::Notifications.subscribe 'routes_loaded.engine.media.wcc' do
|
63
|
+
::Toot.config.callback_url ||= Rails.application.routes.url_helpers.wcc_media_url +
|
64
|
+
'/callbacks'
|
65
|
+
|
66
|
+
WCC::Media::Engine.register_subscriptions
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
config.generators do |g|
|
71
|
+
g.test_framework :rspec, fixture: false
|
72
|
+
end
|
73
|
+
|
74
|
+
class RegistersSubscriptionsJob < ::ActiveJob::Base
|
75
|
+
self.queue_adapter = :async
|
76
|
+
|
77
|
+
def perform
|
78
|
+
Toot::RegistersSubscriptions.call
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
data/lib/wcc/media/tag.rb
CHANGED
data/lib/wcc/media/version.rb
CHANGED
data/wcc-media-client.gemspec
CHANGED
@@ -25,6 +25,8 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.require_paths = ['lib']
|
26
26
|
|
27
27
|
spec.add_runtime_dependency 'wcc-api', '~> 0.3.1'
|
28
|
+
spec.add_runtime_dependency 'wcc-auth'
|
29
|
+
spec.add_runtime_dependency 'wcc-base', '~> 0.3.1'
|
28
30
|
spec.add_runtime_dependency 'wcc-data', '~> 0.3.0'
|
29
31
|
|
30
32
|
spec.add_development_dependency 'byebug'
|
@@ -33,9 +35,16 @@ Gem::Specification.new do |spec|
|
|
33
35
|
spec.add_development_dependency 'guard-rubocop', '~> 1.3'
|
34
36
|
spec.add_development_dependency 'http', '> 1.0', '< 3.0'
|
35
37
|
spec.add_development_dependency 'httplog', '~> 1.0'
|
38
|
+
spec.add_development_dependency 'rails', '~> 5.0'
|
36
39
|
spec.add_development_dependency 'rake', '~> 12.3'
|
40
|
+
spec.add_development_dependency 'responders', '< 3.0'
|
37
41
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
42
|
+
spec.add_development_dependency 'rspec-rails', '~> 3.7'
|
38
43
|
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.3.0'
|
44
|
+
spec.add_development_dependency 'sidekiq', '< 6.0'
|
45
|
+
spec.add_development_dependency 'sprockets', '< 4.0'
|
46
|
+
spec.add_development_dependency 'sqlite3', '~> 1.3.6'
|
47
|
+
spec.add_development_dependency 'toot', '~> 0.3.0'
|
39
48
|
spec.add_development_dependency 'typhoeus', '~> 1.3'
|
40
49
|
spec.add_development_dependency 'webmock', '~> 3.0'
|
41
50
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wcc-media-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Watermark Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: wcc-api
|
@@ -24,6 +24,34 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.3.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: wcc-auth
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: wcc-base
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.3.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.3.1
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: wcc-data
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,6 +156,20 @@ dependencies:
|
|
128
156
|
- - "~>"
|
129
157
|
- !ruby/object:Gem::Version
|
130
158
|
version: '1.0'
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: rails
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '5.0'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '5.0'
|
131
173
|
- !ruby/object:Gem::Dependency
|
132
174
|
name: rake
|
133
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,6 +184,20 @@ dependencies:
|
|
142
184
|
- - "~>"
|
143
185
|
- !ruby/object:Gem::Version
|
144
186
|
version: '12.3'
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: responders
|
189
|
+
requirement: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - "<"
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '3.0'
|
194
|
+
type: :development
|
195
|
+
prerelease: false
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - "<"
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '3.0'
|
145
201
|
- !ruby/object:Gem::Dependency
|
146
202
|
name: rspec
|
147
203
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,6 +212,20 @@ dependencies:
|
|
156
212
|
- - "~>"
|
157
213
|
- !ruby/object:Gem::Version
|
158
214
|
version: '3.0'
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: rspec-rails
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '3.7'
|
222
|
+
type: :development
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
requirements:
|
226
|
+
- - "~>"
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: '3.7'
|
159
229
|
- !ruby/object:Gem::Dependency
|
160
230
|
name: rspec_junit_formatter
|
161
231
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,6 +240,62 @@ dependencies:
|
|
170
240
|
- - "~>"
|
171
241
|
- !ruby/object:Gem::Version
|
172
242
|
version: 0.3.0
|
243
|
+
- !ruby/object:Gem::Dependency
|
244
|
+
name: sidekiq
|
245
|
+
requirement: !ruby/object:Gem::Requirement
|
246
|
+
requirements:
|
247
|
+
- - "<"
|
248
|
+
- !ruby/object:Gem::Version
|
249
|
+
version: '6.0'
|
250
|
+
type: :development
|
251
|
+
prerelease: false
|
252
|
+
version_requirements: !ruby/object:Gem::Requirement
|
253
|
+
requirements:
|
254
|
+
- - "<"
|
255
|
+
- !ruby/object:Gem::Version
|
256
|
+
version: '6.0'
|
257
|
+
- !ruby/object:Gem::Dependency
|
258
|
+
name: sprockets
|
259
|
+
requirement: !ruby/object:Gem::Requirement
|
260
|
+
requirements:
|
261
|
+
- - "<"
|
262
|
+
- !ruby/object:Gem::Version
|
263
|
+
version: '4.0'
|
264
|
+
type: :development
|
265
|
+
prerelease: false
|
266
|
+
version_requirements: !ruby/object:Gem::Requirement
|
267
|
+
requirements:
|
268
|
+
- - "<"
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
version: '4.0'
|
271
|
+
- !ruby/object:Gem::Dependency
|
272
|
+
name: sqlite3
|
273
|
+
requirement: !ruby/object:Gem::Requirement
|
274
|
+
requirements:
|
275
|
+
- - "~>"
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: 1.3.6
|
278
|
+
type: :development
|
279
|
+
prerelease: false
|
280
|
+
version_requirements: !ruby/object:Gem::Requirement
|
281
|
+
requirements:
|
282
|
+
- - "~>"
|
283
|
+
- !ruby/object:Gem::Version
|
284
|
+
version: 1.3.6
|
285
|
+
- !ruby/object:Gem::Dependency
|
286
|
+
name: toot
|
287
|
+
requirement: !ruby/object:Gem::Requirement
|
288
|
+
requirements:
|
289
|
+
- - "~>"
|
290
|
+
- !ruby/object:Gem::Version
|
291
|
+
version: 0.3.0
|
292
|
+
type: :development
|
293
|
+
prerelease: false
|
294
|
+
version_requirements: !ruby/object:Gem::Requirement
|
295
|
+
requirements:
|
296
|
+
- - "~>"
|
297
|
+
- !ruby/object:Gem::Version
|
298
|
+
version: 0.3.0
|
173
299
|
- !ruby/object:Gem::Dependency
|
174
300
|
name: typhoeus
|
175
301
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,13 +336,16 @@ files:
|
|
210
336
|
- Gemfile
|
211
337
|
- Guardfile
|
212
338
|
- README.md
|
339
|
+
- config/routes.rb
|
213
340
|
- lib/wcc/media/active_record_shim.rb
|
214
341
|
- lib/wcc/media/base.rb
|
215
342
|
- lib/wcc/media/cacheable.rb
|
216
343
|
- lib/wcc/media/client.rb
|
217
344
|
- lib/wcc/media/client/response.rb
|
345
|
+
- lib/wcc/media/engine.rb
|
218
346
|
- lib/wcc/media/message.rb
|
219
347
|
- lib/wcc/media/playlist.rb
|
348
|
+
- lib/wcc/media/rails.rb
|
220
349
|
- lib/wcc/media/series.rb
|
221
350
|
- lib/wcc/media/speaker.rb
|
222
351
|
- lib/wcc/media/tag.rb
|