Sha256: 58db39dd0228ef8abe906c0cebd1a3f8d558f02805fea1cbc671d8993a90713a

Contents?: true

Size: 765 Bytes

Versions: 7

Compression:

Stored size: 765 Bytes

Contents

module Storytime
  class SnippetPolicy
    attr_reader :user, :record

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

    def index?
      manage?
    end

    def create?
      manage?
    end

    def new?
      manage?
    end

    def update?
      manage?
    end

    def edit?
      manage?
    end

    def destroy?
      manage?
    end

    def manage?
      action = Storytime::Action.find_by(guid: "5qg25i")
      role = @user.storytime_role_in_site(current_site)
      role.present? && role.allowed_actions.include?(action)
    end

    def current_site
      Storytime::Site.current_id.nil? ? @snippet.site : Storytime::Site.current
    end

    def permitted_attributes
      [:name, :content]
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

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