Sha256: 3459243eb2dd4a4d31f83b71f6ebe8b52a3d7997bd6de87289ba4b03a177df64

Contents?: true

Size: 605 Bytes

Versions: 1

Compression:

Stored size: 605 Bytes

Contents

module Storytime
  class MembershipPolicy
    attr_reader :user, :record

    def initialize(current_user, record)
      @current_user = current_user
      @membership = record
    end

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

    def index?
      manage?
    end

    def create?
      manage?
    end

    def destroy?
      manage?
    end

    def permitted_attributes
      [:user_id, :storytime_role_id]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
storytime-2.0.0 app/policies/storytime/membership_policy.rb