Time.now - 1.hour.ago => 3599.999604?
<pre><code>irb(main):012:0&gt; Time.now - 1.hour.ago
=&gt; 3599.999604
</code></pre>

<p>What's the code evaluation that causes this?</p>

<p>I understand the 2 code paths are evaluated here, I assume that ruby at first calculated the expression, then evaluates the <code>1.hour.ago</code> expression and only then the <code>Time.now</code> expression. The time difference between the 2 is the time it takes for the ruby interpreter to run the evaluations.</p>