temple 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02ca8f3e947dac83c75a1a000ee6704e648b5b2b
4
- data.tar.gz: 61b7cc39adfe732535a96b6c3e7f9f8876233869
3
+ metadata.gz: f7c1968702feac9a8f7896e4e008493532566765
4
+ data.tar.gz: 630b90231c21489a501190a82814803d48fe5e48
5
5
  SHA512:
6
- metadata.gz: c2bdfd18f5484eb9af801a382d518d02a04bb7944171203ecafa358b81095c1ddbc17288ba1d2de0417159a56d90207584b5da8499e74dcce08924e1d53e885d
7
- data.tar.gz: 29159d5eab3f95322e5a8b6058ae095df229667c0e9fcdb769070eb6874713e32ad0cacf326be483503b864c3e7e27d12aa0601c4ea48a4d9be7cb04ffe9512a
6
+ metadata.gz: 4d9cce38ee024916f18e3ee79f1c4db8d99a52d03abbf51c01c60b91c13fb64259736484281470bf5244e12775083338797dc3c99f44908e05ce63ccc2a79356
7
+ data.tar.gz: e462b1b2b1acab154556ec0dc5edf3a57004fde0075ee1856e40a54e9e6446f7826a2bdf2c14dbb5d598ea66641e101c99035e5ce2be8185cdf50596d3a01ed7
data/CHANGES CHANGED
@@ -1,3 +1,7 @@
1
+ 0.7.2
2
+
3
+ * Remove Filters::StaticFreezer, the generator does the freezing
4
+
1
5
  0.7.1
2
6
 
3
7
  * Rename *Hash to *Map
data/lib/temple.rb CHANGED
@@ -44,7 +44,6 @@ module Temple
44
44
  autoload :ControlFlow, 'temple/filters/control_flow'
45
45
  autoload :MultiFlattener, 'temple/filters/multi_flattener'
46
46
  autoload :StaticMerger, 'temple/filters/static_merger'
47
- autoload :StaticFreezer, 'temple/filters/static_freezer'
48
47
  autoload :DynamicInliner, 'temple/filters/dynamic_inliner'
49
48
  autoload :Escapable, 'temple/filters/escapable'
50
49
  autoload :Eraser, 'temple/filters/eraser'
@@ -8,7 +8,7 @@ module Temple
8
8
  use Temple::ERB::Trimming
9
9
  filter :Escapable
10
10
  filter :MultiFlattener
11
- filter :DynamicInliner
11
+ filter :StaticMerger
12
12
  generator :ArrayBuffer
13
13
  end
14
14
  end
@@ -11,7 +11,8 @@ module Temple
11
11
 
12
12
  define_options :save_buffer,
13
13
  capture_generator: 'StringBuffer',
14
- buffer: '_buf'
14
+ buffer: '_buf',
15
+ freeze_static: RUBY_VERSION >= '2.1'
15
16
 
16
17
  def call(exp)
17
18
  [preamble, compile(exp), postamble].flatten.compact.join('; ')
@@ -57,7 +58,7 @@ module Temple
57
58
  end
58
59
 
59
60
  def on_static(text)
60
- concat(text.inspect)
61
+ concat(options[:freeze_static] ? "#{text.inspect}.freeze" : text.inspect)
61
62
  end
62
63
 
63
64
  def on_dynamic(code)
@@ -20,10 +20,6 @@ module Temple
20
20
  text
21
21
  end
22
22
 
23
- def on_newline
24
- "<%\n%>"
25
- end
26
-
27
23
  def on_dynamic(code)
28
24
  "<%= #{code} %>"
29
25
  end
@@ -1,3 +1,3 @@
1
1
  module Temple
2
- VERSION = '0.7.1'
2
+ VERSION = '0.7.2'
3
3
  end
@@ -77,7 +77,7 @@ end
77
77
 
78
78
  describe Temple::Generators::Array do
79
79
  it 'should compile simple expressions' do
80
- gen = Temple::Generators::Array.new
80
+ gen = Temple::Generators::Array.new(freeze_static: false)
81
81
  gen.call([:static, 'test']).should.equal '_buf = []; _buf << ("test"); _buf'
82
82
  gen.call([:dynamic, 'test']).should.equal '_buf = []; _buf << (test); _buf'
83
83
  gen.call([:code, 'test']).should.equal '_buf = []; test; _buf'
@@ -85,11 +85,16 @@ describe Temple::Generators::Array do
85
85
  gen.call([:multi, [:static, 'a'], [:static, 'b']]).should.equal '_buf = []; _buf << ("a"); _buf << ("b"); _buf'
86
86
  gen.call([:multi, [:static, 'a'], [:dynamic, 'b']]).should.equal '_buf = []; _buf << ("a"); _buf << (b); _buf'
87
87
  end
88
+
89
+ it 'should freeze static' do
90
+ gen = Temple::Generators::Array.new(freeze_static: true)
91
+ gen.call([:static, 'test']).should.equal '_buf = []; _buf << ("test".freeze); _buf'
92
+ end
88
93
  end
89
94
 
90
95
  describe Temple::Generators::ArrayBuffer do
91
96
  it 'should compile simple expressions' do
92
- gen = Temple::Generators::ArrayBuffer.new
97
+ gen = Temple::Generators::ArrayBuffer.new(freeze_static: false)
93
98
  gen.call([:static, 'test']).should.equal '_buf = "test"'
94
99
  gen.call([:dynamic, 'test']).should.equal '_buf = (test).to_s'
95
100
  gen.call([:code, 'test']).should.equal '_buf = []; test; _buf = _buf.join'
@@ -97,11 +102,17 @@ describe Temple::Generators::ArrayBuffer do
97
102
  gen.call([:multi, [:static, 'a'], [:static, 'b']]).should.equal '_buf = []; _buf << ("a"); _buf << ("b"); _buf = _buf.join'
98
103
  gen.call([:multi, [:static, 'a'], [:dynamic, 'b']]).should.equal '_buf = []; _buf << ("a"); _buf << (b); _buf = _buf.join'
99
104
  end
105
+
106
+ it 'should freeze static' do
107
+ gen = Temple::Generators::ArrayBuffer.new(freeze_static: true)
108
+ gen.call([:static, 'test']).should.equal '_buf = "test"'
109
+ gen.call([:multi, [:dynamic, '1'], [:static, 'test']]).should.equal '_buf = []; _buf << (1); _buf << ("test".freeze); _buf = _buf.join'
110
+ end
100
111
  end
101
112
 
102
113
  describe Temple::Generators::StringBuffer do
103
114
  it 'should compile simple expressions' do
104
- gen = Temple::Generators::StringBuffer.new
115
+ gen = Temple::Generators::StringBuffer.new(freeze_static: false)
105
116
  gen.call([:static, 'test']).should.equal '_buf = "test"'
106
117
  gen.call([:dynamic, 'test']).should.equal '_buf = (test).to_s'
107
118
  gen.call([:code, 'test']).should.equal '_buf = \'\'; test; _buf'
@@ -109,6 +120,12 @@ describe Temple::Generators::StringBuffer do
109
120
  gen.call([:multi, [:static, 'a'], [:static, 'b']]).should.equal '_buf = \'\'; _buf << ("a"); _buf << ("b"); _buf'
110
121
  gen.call([:multi, [:static, 'a'], [:dynamic, 'b']]).should.equal '_buf = \'\'; _buf << ("a"); _buf << ((b).to_s); _buf'
111
122
  end
123
+
124
+ it 'should freeze static' do
125
+ gen = Temple::Generators::StringBuffer.new(freeze_static: true)
126
+ gen.call([:static, 'test']).should.equal '_buf = "test"'
127
+ gen.call([:multi, [:dynamic, '1'], [:static, 'test']]).should.equal '_buf = \'\'; _buf << ((1).to_s); _buf << ("test".freeze); _buf'
128
+ end
112
129
  end
113
130
 
114
131
  describe Temple::Generators::ERB do
@@ -125,7 +142,7 @@ end
125
142
 
126
143
  describe Temple::Generators::RailsOutputBuffer do
127
144
  it 'should compile simple expressions' do
128
- gen = Temple::Generators::RailsOutputBuffer.new
145
+ gen = Temple::Generators::RailsOutputBuffer.new(freeze_static: false)
129
146
  gen.call([:static, 'test']).should.equal '@output_buffer = ActiveSupport::SafeBuffer.new; ' +
130
147
  '@output_buffer.safe_concat(("test")); @output_buffer'
131
148
  gen.call([:dynamic, 'test']).should.equal '@output_buffer = ActiveSupport::SafeBuffer.new; ' +
@@ -133,4 +150,9 @@ describe Temple::Generators::RailsOutputBuffer do
133
150
  gen.call([:code, 'test']).should.equal '@output_buffer = ActiveSupport::SafeBuffer.new; ' +
134
151
  'test; @output_buffer'
135
152
  end
153
+
154
+ it 'should freeze static' do
155
+ gen = Temple::Generators::RailsOutputBuffer.new(freeze_static: true)
156
+ gen.call([:static, 'test']).should.equal '@output_buffer = ActiveSupport::SafeBuffer.new; @output_buffer.safe_concat(("test".freeze)); @output_buffer'
157
+ end
136
158
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: temple
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Magnus Holm
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-04 00:00:00.000000000 Z
12
+ date: 2014-12-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tilt
@@ -86,7 +86,6 @@ files:
86
86
  - lib/temple/filters/escapable.rb
87
87
  - lib/temple/filters/multi_flattener.rb
88
88
  - lib/temple/filters/remove_bom.rb
89
- - lib/temple/filters/static_freezer.rb
90
89
  - lib/temple/filters/static_merger.rb
91
90
  - lib/temple/filters/validator.rb
92
91
  - lib/temple/generator.rb
@@ -123,7 +122,6 @@ files:
123
122
  - test/filters/test_eraser.rb
124
123
  - test/filters/test_escapable.rb
125
124
  - test/filters/test_multi_flattener.rb
126
- - test/filters/test_static_freezer.rb
127
125
  - test/filters/test_static_merger.rb
128
126
  - test/helper.rb
129
127
  - test/html/test_attribute_merger.rb
@@ -164,5 +162,26 @@ rubygems_version: 2.2.2
164
162
  signing_key:
165
163
  specification_version: 4
166
164
  summary: Template compilation framework in Ruby
167
- test_files: []
168
- has_rdoc:
165
+ test_files:
166
+ - test/filters/test_code_merger.rb
167
+ - test/filters/test_control_flow.rb
168
+ - test/filters/test_dynamic_inliner.rb
169
+ - test/filters/test_eraser.rb
170
+ - test/filters/test_escapable.rb
171
+ - test/filters/test_multi_flattener.rb
172
+ - test/filters/test_static_merger.rb
173
+ - test/helper.rb
174
+ - test/html/test_attribute_merger.rb
175
+ - test/html/test_attribute_remover.rb
176
+ - test/html/test_attribute_sorter.rb
177
+ - test/html/test_fast.rb
178
+ - test/html/test_pretty.rb
179
+ - test/mixins/test_dispatcher.rb
180
+ - test/mixins/test_grammar_dsl.rb
181
+ - test/test_engine.rb
182
+ - test/test_erb.rb
183
+ - test/test_filter.rb
184
+ - test/test_generator.rb
185
+ - test/test_grammar.rb
186
+ - test/test_map.rb
187
+ - test/test_utils.rb
@@ -1,11 +0,0 @@
1
- module Temple
2
- module Filters
3
- class StaticFreezer < Filter
4
- define_options freeze_static: RUBY_VERSION >= '2.1'
5
-
6
- def on_static(s)
7
- options[:freeze_static] ? [:dynamic, "#{s.inspect}.freeze"] : [:static, s]
8
- end
9
- end
10
- end
11
- end
@@ -1,25 +0,0 @@
1
- require 'helper'
2
-
3
- describe Temple::Filters::StaticFreezer do
4
- if RUBY_VERSION >= '2.1'
5
- it 'should freeze static on new ruby' do
6
- filter = Temple::Filters::StaticFreezer.new
7
- filter.call([:static, 'hi']).should.equal [:dynamic, '"hi".freeze']
8
- end
9
- else
10
- it 'should not freeze static on old ruby' do
11
- filter = Temple::Filters::StaticFreezer.new
12
- filter.call([:static, 'hi']).should.equal [:static, 'hi']
13
- end
14
- end
15
-
16
- it 'should freeze static if free_static==true' do
17
- filter = Temple::Filters::StaticFreezer.new(freeze_static: true)
18
- filter.call([:static, 'hi']).should.equal [:dynamic, '"hi".freeze']
19
- end
20
-
21
- it 'should not freeze static if free_static==false' do
22
- filter = Temple::Filters::StaticFreezer.new(freeze_static: false)
23
- filter.call([:static, 'hi']).should.equal [:static, 'hi']
24
- end
25
- end