From 3f375ee2529a082e68d138d28bdd7e458ccda070 Mon Sep 17 00:00:00 2001 From: Andreas Reischuck Date: Mon, 28 Aug 2017 21:04:22 +0200 Subject: [PATCH 1/2] prevent duplicating newlines in ERB outupt. * it destroys preformatted text --- lib/temple/generators/erb.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/temple/generators/erb.rb b/lib/temple/generators/erb.rb index d304807..e56a183 100644 --- a/lib/temple/generators/erb.rb +++ b/lib/temple/generators/erb.rb @@ -27,6 +27,10 @@ def on_dynamic(code) def on_code(code) "<% #{code} %>" end + + def on_newline + '' # prevent duplicating newlines! + end end end end From 8858095e260966986a950543fd4db37497e39a62 Mon Sep 17 00:00:00 2001 From: Andreas Reischuck Date: Sun, 9 Sep 2018 14:40:48 +0200 Subject: [PATCH 2/2] added test for the new erb newline behavior --- test/test_generator.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_generator.rb b/test/test_generator.rb index fd7f78f..48ff950 100644 --- a/test/test_generator.rb +++ b/test/test_generator.rb @@ -134,6 +134,7 @@ def on_code(s) gen.call([:static, 'test']).should.equal 'test' gen.call([:dynamic, 'test']).should.equal '<%= test %>' gen.call([:code, 'test']).should.equal '<% test %>' + gen.call([:newline]).should.equal '' # erb is a template language (Avoid adding newlines) gen.call([:multi, [:static, 'a'], [:static, 'b']]).should.equal 'ab' gen.call([:multi, [:static, 'a'], [:dynamic, 'b']]).should.equal 'a<%= b %>'