5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-07-01 22:26:06 +00:00
panel/app/policies/post_policy.rb

49 lines
841 B
Ruby
Raw Normal View History

2018-09-28 17:15:09 +00:00
class PostPolicy < SuttyPolicy
attr_reader :post
def initialize(usuarix, post)
@usuarix = usuarix
@post = post
end
def index?
true
end
# Lxs invitadxs solo pueden ver sus propios posts
def show?
usuaria? || post.author == usuarix.email
end
def new?
create?
end
def create?
true
end
def edit?
update?
end
# Lxs invitadxs solo pueden modificar sus propios artículos
def update?
usuaria? || post.author == usuarix.email
end
class Scope < SuttyPolicy::Scope
# Las usuarias pueden ver todos los posts
#
# Lxs invitadxs solo pueden ver sus propios posts
def resolve
return scope if usuaria?
# Asegurarse que al menos devolvemos []
[scope.find do |post|
post.author == usuarix.email
end].flatten.compact
end
end
end