32 lines
486 B
Ruby
32 lines
486 B
Ruby
# Used by Pundit to authorize actions based on a given user and account
|
|
class UserContext
|
|
attr_reader :user, :account
|
|
|
|
def initialize(user, account)
|
|
@user = user
|
|
@account = account
|
|
end
|
|
|
|
delegate_missing_to :user
|
|
|
|
def associate?
|
|
user.associate?(account)
|
|
end
|
|
|
|
def manager?
|
|
user.manager?(account)
|
|
end
|
|
|
|
def account_manager?
|
|
user.account_manager?(account)
|
|
end
|
|
|
|
def role
|
|
user.role_for(account)
|
|
end
|
|
|
|
def ==(other)
|
|
user == other
|
|
end
|
|
end
|