Module: Pageflow::Roles
- Defined in:
- app/models/pageflow/roles.rb
Overview
rubocop:todo Style/Documentation
Class Method Summary collapse
Class Method Details
.at_least(role_uncasted) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'app/models/pageflow/roles.rb', line 5 def at_least(role_uncasted) role = role_uncasted.to_sym { member: %w[member previewer editor publisher manager], previewer: %w[previewer editor publisher manager], editor: %w[editor publisher manager], publisher: %w[publisher manager], manager: %w[manager] }[role] end |
.high(user, entry) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/models/pageflow/roles.rb', line 16 def high(user, entry) roles = [:none, :member, :previewer, :editor, :publisher, :manager] account_membership = Membership.where(user:, entity: entry.account).first account_role = account_membership ? account_membership.role : :none entry_role = if user.entries.include?(entry) Membership.where(user:, entity: entry).first.role else :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 |