class ActiveSupport::Duration::Scalar
def *(other)
def *(other) if Duration === other new_parts = other.parts.map { |part, other_value| [part, value * other_value] }.to_h new_value = value * other.value Duration.new(new_value, new_parts) else calculate(:*, other) end end