class ActiveSupport::Duration::Scalar

def +(other)

def +(other)
  if Duration === other
    seconds   = value + other.parts[:seconds]
    new_parts = other.parts.merge(seconds: seconds)
    new_value = value + other.value
    Duration.new(new_value, new_parts)
  else
    calculate(:+, other)
  end
end