def _parse_hours_minutes_seconds( str )
      m = %r/^\s*(\d{2,}):(\d{2}):(\d{2}(?:\.\d+)?)\s*$/.match(str)
      return if m.nil?

      (3600 * m[1].to_i) + (60 * m[2].to_i) + (m[3].to_f)
    end
def _parse_hours_minutes_seconds( str )
      m = %r/^\s*(\d{2,}):(\d{2}):(\d{2}(?:\.\d+)?)\s*$/.match(str)
      return if m.nil?

      (3600 * m[1].to_i) + (60 * m[2].to_i) + (m[3].to_f)
    end
Attempt to parse an hours/minutes/seconds value from the string and return
 an integer number of seconds.

 str - The input String to parse for time values.

 Examples

   _parse_hours_minutes_seconds("14:12:42")  #=> 51162
   _parse_hours_minutes_seconds("foo")       #=> nil

 Returns a Numeric or `nil`