Module: ActionPushWeb
- Defined in:
- lib/action_push_web.rb,
lib/action_push_web/pool.rb,
lib/action_push_web/engine.rb,
lib/action_push_web/errors.rb,
lib/action_push_web/pusher.rb,
lib/action_push_web/version.rb,
lib/action_push_web/vapid_key.rb,
lib/action_push_web/notification.rb,
lib/action_push_web/payload_encryption.rb,
app/models/action_push_web/subscription.rb,
lib/action_push_web/vapid_key_generator.rb,
app/jobs/action_push_web/notification_job.rb,
app/models/action_push_web/ssrf_protection.rb,
lib/action_push_web/subscription_notification.rb,
app/helpers/action_push_web/application_helper.rb,
app/controllers/action_push_web/subscriptions_controller.rb
Defined Under Namespace
Modules: ApplicationHelper, SsrfProtection
Classes: Engine, InstallGenerator, Notification, NotificationJob, PayloadEncryption, PayloadTooLargeError, Pool, PushServiceError, Pusher, ResponseError, Subscription, SubscriptionNotification, SubscriptionsController, TokenError, TooManyRequestsError, UnauthorizedError, VapidKey, VapidKeyGenerator
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Method Summary
collapse
Class Method Details
.config_for(application) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/action_push_web.rb', line 22
def self.config_for(application)
platform_config = Rails.application.config_for(:push)[:web]
raise "ActionPushWeb: 'web' platform is not configured" unless platform_config.present?
if application.present?
notification_config = platform_config.fetch(application.to_sym, {})
platform_config.fetch(:application, {}).merge(notification_config)
else
platform_config
end
end
|
.pool ⇒ Object
14
15
16
|
# File 'lib/action_push_web.rb', line 14
def self.pool
@pool ||= Pool.new
end
|
.pool=(pool) ⇒ Object
18
19
20
|
# File 'lib/action_push_web.rb', line 18
def self.pool=(pool)
@pool = pool
end
|
.push(notification) ⇒ Object
34
35
36
|
# File 'lib/action_push_web.rb', line 34
def self.push(notification)
pool.enqueue(notification, config: self.config_for(notification.application))
end
|