Sha256: c2c7964b55559beea2d4d6a386fc9455655c230afa5af6b2b69e5f3dc6276e3b

Contents?: true

Size: 671 Bytes

Versions: 8

Compression:

Stored size: 671 Bytes

Contents

module Storytime
  class SubscriptionPolicy
    attr_reader :user, :record

    def initialize(user, record)
      @user = user
      @post = record
    end

    def index?
      manage?
    end

    def new?
      manage?
    end

    def create?
      manage?
    end

    def edit?
      manage?
    end

    def update?
      manage?
    end

    def destroy?
      manage?
    end

    def manage?
      action = Storytime::Action.find_by(guid: "d29d76")
      role = @user.storytime_role_in_site(Storytime::Site.current)
      role.present? && role.allowed_actions.include?(action)
    end

    def permitted_attributes
      [:email, :subscribed]
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
storytime-2.1.6 app/policies/storytime/subscription_policy.rb
storytime-2.1.5 app/policies/storytime/subscription_policy.rb
storytime-2.1.4 app/policies/storytime/subscription_policy.rb
storytime-2.1.3 app/policies/storytime/subscription_policy.rb
storytime-2.1.2 app/policies/storytime/subscription_policy.rb
storytime-2.1.1 app/policies/storytime/subscription_policy.rb
storytime-2.1.0 app/policies/storytime/subscription_policy.rb
storytime-2.0.0 app/policies/storytime/subscription_policy.rb