You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asciinema.org/app/policies/asciicast_policy.rb

45 lines
656 B
Ruby

class AsciicastPolicy < ApplicationPolicy
class Scope < Struct.new(:user, :scope)
def resolve
scope
end
end
def permitted_attributes
if user.admin? || record.user == user
attrs = [:title, :description, :theme_name]
attrs << :featured if user.admin?
attrs
else
[]
end
end
def update?
return false unless user
user.admin? || record.user == user
end
def destroy?
return false unless user
user.admin? || record.user == user
end
def feature?
return false unless user
user.admin?
end
def unfeature?
return false unless user
user.admin?
end
end