class ActionPush::Base

Attributes

action_name[RW]

Public Class Methods

inherited(subclass) click to toggle source
Calls superclass method
# File lib/action_push/base.rb, line 14
def self.inherited(subclass)
  super

  subclass.register_interceptor(interceptor)

  defaults.each do |name, placeholder|
    subclass.register_default(name, placeholder.clone)
  end

  delivery_methods.each do |name, handler|
    subclass.register_delivery_method(name, handler)
  end
end
new(action_name: nil) click to toggle source
# File lib/action_push/base.rb, line 28
def initialize(action_name: nil)
  @action_name = action_name
end

Public Instance Methods

envelope() click to toggle source
# File lib/action_push/base.rb, line 32
def envelope
  @envelope ||= Envelope.new do |env|
    self.class.defaults.each do |name, placeholder|
      env.add(name, placeholder.dup)
    end
  end
end
i18n_scope() click to toggle source
# File lib/action_push/base.rb, line 61
def i18n_scope
  "#{Util.underscore(self.class.to_s)}.#{action_name}"
end
push(provider, attributes = {}) { |push| ... } click to toggle source

@return [Provider::Envelope]

# File lib/action_push/base.rb, line 41
def push(provider, attributes = {})
  push = envelope.for(provider)

  push.title = envelope.title if envelope.title
  push.body = envelope.body if envelope.body
  push.payload = envelope.payload if envelope.payload
  push.scheduled = true
  push.delivery_method = self.class.delivery_methods.fetch(provider, Delivery::Explosion)

  # after all
  push.assign(attributes)
  yield(push) if block_given?

  envelope
end
t(key, options = {})
Alias for: translate
translate(key, options = {}) click to toggle source
# File lib/action_push/base.rb, line 57
def translate(key, options = {})
  I18n.translate(key, { scope: i18n_scope }.merge(options))
end
Also aliased as: t