Sha256: caf0d650c828a086a800c017e41147de9f92b86b33b5702f50ac9804bacbf543

Contents?: true

Size: 811 Bytes

Versions: 37

Compression:

Stored size: 811 Bytes

Contents

module Jobshop
  class ApplicationPolicy
    attr_reader :user, :record

    def initialize(user, record)
      raise Jobshop::NotAuthenticatedError unless user
      @user, @record = user, record
    end

    def index?
      false
    end

    def show?
      scope.where(:id => record.id).exists?
    end

    def create?
      false
    end

    def new?
      create?
    end

    def update?
      false
    end

    def edit?
      update?
    end

    def destroy?
      false
    end

    def scope
      Pundit.policy_scope!(user, record.class)
    end

    class Scope
      attr_reader :user, :scope

      def initialize(user, scope)
        raise Jobshop::NotAuthenticatedError unless user
        @user, @scope = user, scope
      end

      def resolve
        scope
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
jobshop-0.0.131 app/policies/jobshop/application_policy.rb
jobshop-0.0.127 app/policies/jobshop/application_policy.rb
jobshop-0.0.113 app/policies/jobshop/application_policy.rb
jobshop-0.0.109 app/policies/jobshop/application_policy.rb
jobshop-0.0.107 app/policies/jobshop/application_policy.rb
jobshop-0.0.101 app/policies/jobshop/application_policy.rb
jobshop-0.0.67 app/policies/jobshop/application_policy.rb
jobshop-0.0.61 app/policies/jobshop/application_policy.rb
jobshop-0.0.59 app/policies/jobshop/application_policy.rb
jobshop-0.0.53 app/policies/jobshop/application_policy.rb
jobshop-0.0.41 app/policies/jobshop/application_policy.rb
jobshop-0.0.37 app/policies/jobshop/application_policy.rb
jobshop-0.0.29 app/policies/jobshop/application_policy.rb
jobshop-0.0.23 app/policies/jobshop/application_policy.rb
jobshop-0.0.16 app/policies/jobshop/application_policy.rb
jobshop-0.0.15 app/policies/jobshop/application_policy.rb
jobshop-0.0.14 app/policies/jobshop/application_policy.rb
jobshop-0.0.13 app/policies/jobshop/application_policy.rb
jobshop-0.0.12 app/policies/jobshop/application_policy.rb
jobshop-0.0.11 app/policies/jobshop/application_policy.rb