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

.poolObject



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