Sha256: c2d33dd803785ea488d5b89abb545070ca7252a4faffd2f8a28fd184f5d5727e

Contents?: true

Size: 654 Bytes

Versions: 2

Compression:

Stored size: 654 Bytes

Contents

module NotificationSettings
    module Subscriber

        has_many :notification_subscriptions, as: :subscriber, class_name: 'NotificationSettings::Subscription', dependent: :destroy
        has_many :notification_subscribables, through: :notification_subscriptions, source: :subscribable

        def subscribe options = {}
            self.notification_subscriptions.create options
        end

        def unsubscribe subscribable
            subscription = self.notification_subscriptions.find_by subscribable_id: subscribable.id, subscribable_type: subscribable.class.to_s
            subscription.destroy
        end

    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
notification-settings-1.0.0.beta10 lib/notification_settings/subscriber.rb
notification-settings-1.0.0.beta9 lib/notification_settings/subscriber.rb