Fix a bug, and adding tests

With only one source or one destination (like the default args), the rule.erb template did not parse correctly (*undefined method `each' for "0/0":String*)