# 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
