36 lines
592 B
Ruby
36 lines
592 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
# Gestiona la relación entre sitios y usuaries
|
||
|
class SiteUsuariePolicy
|
||
|
attr_reader :usuarie, :site_usuarie
|
||
|
|
||
|
def initialize(usuarie, site_usuarie)
|
||
|
@usuarie = usuarie
|
||
|
@site_usuarie = site_usuarie
|
||
|
end
|
||
|
|
||
|
def index?
|
||
|
usuarie?
|
||
|
end
|
||
|
|
||
|
# Les usuaries pueden remover a otres usuaries e invitades del sitio
|
||
|
def destroy?
|
||
|
usuarie?
|
||
|
end
|
||
|
|
||
|
# Les usuaries pueden convertir a otres usuaries en invitades
|
||
|
def demote?
|
||
|
usuarie?
|
||
|
end
|
||
|
|
||
|
def promote?
|
||
|
usuarie?
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def usuarie?
|
||
|
site_usuarie.site.usuarie? usuarie
|
||
|
end
|
||
|
end
|