Sha256: e8d8715be99fc4e62761221dfaa17e17b56a0e3e4f308c59437ea3ceb306ae46
Contents?: true
Size: 1003 Bytes
Versions: 3
Compression:
Stored size: 1003 Bytes
Contents
module Pageflow module Roles module_function def at_least(role_uncasted) role = role_uncasted.to_sym if role == :member %w(member previewer editor publisher manager) elsif role == :previewer %w(previewer editor publisher manager) elsif role == :editor %w(editor publisher manager) elsif role == :publisher %w(publisher manager) elsif role == :manager %w(manager) end end def high(user, entry) roles = [:none, :member, :previewer, :editor, :publisher, :manager] account_role = Membership.where(user: user, entity: entry.account).first.role || :none if user.entries.include?(entry) entry_role = Membership.where(user: user, entity: entry).first.role else entry_role = :none end if roles.find_index(account_role.to_sym) > roles.find_index(entry_role.to_sym) account_role.to_sym else entry_role.to_sym end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pageflow-12.0.0.rc3 | app/models/pageflow/roles.rb |
pageflow-12.0.0.rc2 | app/models/pageflow/roles.rb |
pageflow-12.0.0.rc1 | app/models/pageflow/roles.rb |