Maybe just an `if self.source =~ %r(^#{self.dest}/)` resolves it...

If you think that your code is more legible, it looks good enough to me too, but please prefer use interpolation instead of concatanation. For example: `if "#{self.source}/".start_with?("#{self.dest}/")`