Nil is Unfriendly

Thanks for the insight @geoffharcourt. Really appreciated. I understand where I am wrong now.
The method leader in my model knows too much .

Hence,

def leader 
  top_group.leader
end 

def top_group
   # here top would be a scope that returns a specific group that is needed 
    self.groups.top
end

And instead of using the null object pattern . Perhaps I can handle it in the decorator. Like following.

 def president_name
   leader.nil? ?  "No leader assigned yet" : leader.username
 end

Although this solves the problem at hand. I would like to discuss more about the advantage of using the null object pattern might offer in my design.