Every Ruby book I've seen follows the convention of aligning the rescue and/or ensure keywords with the begin and end block (see, for example, https://github.com/bbatsov/ruby-style-guide#exceptions), and all of the Ruby-aware editors I've used (Emacs in Ruby-mode, RubyMine, and Eclipse with the Ruby plug-in) enforce this convention.  Of course, it's fair to ask if this convention makes sense.  I happen to think that it does, and here's why:

Compare the case of an if/else/end block:

if <some condition>
____[statement 1]
____[statement 2]
    ....
else
____[statement A]
____[statement B]
    ....
end

[I'm using "_" characters for leading spaces since apparently Markdown strips them out.]

Here, either the statements after the "if" get executed, or the statements after the "else", but not both.

The case of begin/rescue/end is rather different but structurally very similar:

begin
____[statement 1]
____[statement 2]
    ....
rescue
____[statement A]
____[statement B]
    ....
end

Here, the statements after the "begin" always get executed up until the point that an exception occurs.  The "rescue" and ensuing statements get executed if (but _only_ if) an exception occurs somewhere in the begin block.  To me, indenting the blocks like this:

begin
____[statement 1]
____[statement 2]
    ....
____rescue
________[statement A]
________[statement B]
        ....
end

suggests that control goes to the "rescue" as soon as statement 1, statement 2, etc. have been executed.  Also, having "begin", "rescue" and "end" at the same indentation level makes clear that they are all part of the same control structure.  You can't have a "rescue" without a preceding "begin" and a following "end".

I don't want to dwell on this--it's a rather minor issue in the larger scheme of things--but I want to make sure you understand my point of view and that I'm not just laying down some arbitrary convention based on my own personal preference.