I am not a Ruby coder, but it seems that if a do block has no args, you actually do not want the pipe symbols either. Is this correct? If so, I suggest making them conditional:

    do`!p snip.rv = " |" if t[1] else ""`${1:args}`!p snip.rv = "|" if t[1] else ""`

what do you think about this?