module Rpush::Client::ActiveModel::Pushy::Notification

Public Class Methods

included(base) click to toggle source
# File lib/rpush/client/active_model/pushy/notification.rb, line 6
def self.included(base)
  base.instance_eval do
    alias_attribute :time_to_live, :expiry

    validates :time_to_live, numericality: { only_integer: true, greater_than: 0 }, allow_nil: true
    validates :registration_ids, presence: true
    validates :data, presence: true

    validates_with Rpush::Client::ActiveModel::Pushy::TimeToLiveValidator
    validates_with Rpush::Client::ActiveModel::PayloadDataSizeValidator, limit: 4096
    validates_with Rpush::Client::ActiveModel::RegistrationIdsCountValidator, limit: 1000
  end
end

Public Instance Methods

as_json(_options = nil) click to toggle source
# File lib/rpush/client/active_model/pushy/notification.rb, line 20
def as_json(_options = nil)
  {
    'data'             => data,
    'time_to_live'     => time_to_live,
    'registration_ids' => registration_ids
  }
end