@zyd I guess I would prefer B (with if and else aligned) but I don't usually write complicated loop logic so the bigger deal for me is the indentation of lines which don't start with a loop keyword; any rule which has those indented is good in my eyes.
Yes, if you had an :else' followed by a :do' followed by some form, that form would be indented twice (with two spaces per indent).
The code in the image isn't indented properly though: :else' should be aligned with :if', the form after :do' should be indented by two spaces, and the second form after :do' is an error, though even if it wasn't it still wouldn't be a part of `:do' so it would be dedented.
@screwtape@zyd It's broken on 30.0.50 as well, both the :else not being indented with :collect on its own line and it being too indented when :collect is immediately following the :if.