# frozen_string_literal: true 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 # Solo las usuarias pueden eliminar artículos. Lxs invitadxs pueden # borrar sus propios artículos def destroy? update? 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