No need for a tmp variable. Using the \* on arguments coming in means they'll be passed as an array. If it's just a single array (because a list of integers were passed originally), calling .flatten on it won't do any harm. So the whole body of this method could be:
  values.flatten.reduce(0, :+)