Just for fun, I want to try to write this Ruby function more succinctly. I imagine it can be done, I'm just not knowledgeable enough with Ruby yet to know how. Any suggestions?  def tags    return ['Cancelled'] if cancelled?    tags = []    tags << 'Filled' if filled?    tags << 'In Progress' if in_progress?    tags  end 
Is there a more succinct way to write this Ruby function?
ruby
def tags  if cancelled? then [Cancelled]  else [*(Filled if filled?), *(In Progress if in_progress?)]  endendIf you design your code so that filled? and in_progress? be false whenever cancelled? is true, then the logic will be much prettier:def tags  [    *(Cancelled if cancelled?),    *(Filled if filled?),    *(In Progress if in_progress?),  ]end