tenjin 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.txt +15 -1
- data/README.txt +4 -4
- data/bin/rbtenjin +1 -1
- data/doc/users-guide.html +1 -1
- data/lib/tenjin.rb +14 -3
- data/public_html/hello.rbhtml +1 -1
- data/public_html/rbtenjin.cgi +1 -1
- data/tenjin.gemspec +2 -2
- data/test/oktest.rb +1 -1
- data/test/test_all.rb +1 -1
- data/test/test_engine.rb +1 -1
- data/test/test_examples.rb +1 -1
- data/test/test_faq.rb +1 -1
- data/test/test_htmlhelper.rb +1 -1
- data/test/test_main.rb +1 -1
- data/test/test_safe.rb +1 -1
- data/test/test_store.rb +1 -1
- data/test/test_tcache.rb +1 -1
- data/test/test_template.rb +16 -1
- data/test/test_users_guide.rb +1 -1
- data/test/testcase-helper.rb +1 -1
- data/test/testunit-assertions.rb +1 -1
- metadata +17 -7
data/CHANGES.txt
CHANGED
@@ -2,7 +2,21 @@
|
|
2
2
|
= CHANGES
|
3
3
|
|
4
4
|
|
5
|
-
== Release 0.7.
|
5
|
+
== Release 0.7.1 (2011-11-27)
|
6
|
+
|
7
|
+
* [bugfix] Tenjin::Template class now considers magic comment in template file.
|
8
|
+
For example:
|
9
|
+
|
10
|
+
<?rb # -*- coding: utf-8 -*- ?>
|
11
|
+
<p>This template file is treated as utf-8 string</p>
|
12
|
+
|
13
|
+
* [bugfix] Add 'FollowSymLinks' option to 'public_html/.htaccess'.
|
14
|
+
That option is necessary to enable mod_rewrite.
|
15
|
+
|
16
|
+
* [bugfix] Fix 'public_html/hello.rbhtml' to set empty string when request parameter is not set.
|
17
|
+
|
18
|
+
|
19
|
+
== Release 0.7.0 (2011-11-24)
|
6
20
|
|
7
21
|
* [enhance] Support Ruby 1.9.
|
8
22
|
|
data/README.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= README
|
2
2
|
|
3
|
-
release:: 0.7.
|
3
|
+
release:: 0.7.1
|
4
4
|
copyright:: copyright(c) 2007-2011 kuwata-lab.com all rights reserved
|
5
5
|
|
6
6
|
|
@@ -34,11 +34,11 @@ See doc/*.html for details.
|
|
34
34
|
|
35
35
|
$ sudo gem install tenjin
|
36
36
|
|
37
|
-
* Else download rbtenjin-0.7.
|
37
|
+
* Else download rbtenjin-0.7.1.tar.bz2 and just copy 'lib/tenjin.rb' and
|
38
38
|
'bin/rbtenjin' into proper directory.
|
39
39
|
|
40
|
-
$ tar xjf rbtenjin-0.7.
|
41
|
-
$ cd rbtenjin-0.7.
|
40
|
+
$ tar xjf rbtenjin-0.7.1.tar.bz2
|
41
|
+
$ cd rbtenjin-0.7.1/
|
42
42
|
$ sudo copy lib/tenjin.rb /usr/local/lib/ruby/1.8/site_ruby/1.8/
|
43
43
|
$ sudo copy bin/rbtenjin /usr/local/bin/
|
44
44
|
|
data/bin/rbtenjin
CHANGED
data/doc/users-guide.html
CHANGED
data/lib/tenjin.rb
CHANGED
@@ -24,14 +24,14 @@
|
|
24
24
|
##
|
25
25
|
## Tenjin -- a very fast and full-featured template engine
|
26
26
|
##
|
27
|
-
## $Release: 0.7.
|
27
|
+
## $Release: 0.7.1 $
|
28
28
|
## copyright(c) 2007-2011 kuwata-lab.com all rights reserved
|
29
29
|
## $License: MIT License $
|
30
30
|
##
|
31
31
|
|
32
32
|
module Tenjin
|
33
33
|
|
34
|
-
RELEASE = ('$Release: 0.7.
|
34
|
+
RELEASE = ('$Release: 0.7.1 $' =~ /[\d.]+/) && $&
|
35
35
|
|
36
36
|
|
37
37
|
##
|
@@ -760,7 +760,18 @@ module Tenjin
|
|
760
760
|
|
761
761
|
## create proc object
|
762
762
|
def _render() # :nodoc:
|
763
|
-
return eval(
|
763
|
+
return eval(_to_proc_code(@script).untaint, nil, @filename || '(tenjin)')
|
764
|
+
end
|
765
|
+
|
766
|
+
def _to_proc_code(script)
|
767
|
+
## take care of magic comment when compiling script into proc object
|
768
|
+
m = /\A[ \t]*\#.*coding[:=][ \t]*[-.\w]+.*\n/.match(script)
|
769
|
+
if m
|
770
|
+
pos = m.end(0)
|
771
|
+
"#{script[0...pos]}proc do |_context| self._buf = _buf = #{init_buf_expr()}; #{@script[pos..-1]}; #{finish_buf_expr()} end"
|
772
|
+
else
|
773
|
+
"proc do |_context| self._buf = _buf = #{init_buf_expr()}; #{@script}; #{finish_buf_expr()} end"
|
774
|
+
end
|
764
775
|
end
|
765
776
|
|
766
777
|
public
|
data/public_html/hello.rbhtml
CHANGED
data/public_html/rbtenjin.cgi
CHANGED
data/tenjin.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
###
|
4
4
|
### $Rev$
|
5
|
-
### $Release: 0.7.
|
5
|
+
### $Release: 0.7.1 $
|
6
6
|
### copyright(c) 2007-2011 kuwata-lab.com all rights reserved
|
7
7
|
###
|
8
8
|
|
@@ -14,7 +14,7 @@ spec = Gem::Specification.new do |s|
|
|
14
14
|
s.author = "makoto kuwata"
|
15
15
|
s.email = "kwa(at)kuwata-lab.com"
|
16
16
|
s.rubyforge_project = 'tenjin'
|
17
|
-
s.version = "0.7.
|
17
|
+
s.version = "0.7.1"
|
18
18
|
s.platform = Gem::Platform::RUBY
|
19
19
|
s.homepage = "http://www.kuwata-lab.com/tenjin/"
|
20
20
|
s.summary = "very fast and full-featured template engine"
|
data/test/oktest.rb
CHANGED
data/test/test_all.rb
CHANGED
data/test/test_engine.rb
CHANGED
data/test/test_examples.rb
CHANGED
data/test/test_faq.rb
CHANGED
data/test/test_htmlhelper.rb
CHANGED
data/test/test_main.rb
CHANGED
data/test/test_safe.rb
CHANGED
data/test/test_store.rb
CHANGED
data/test/test_tcache.rb
CHANGED
data/test/test_template.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
###
|
2
2
|
### $Rev$
|
3
|
-
### $Release: 0.7.
|
3
|
+
### $Release: 0.7.1 $
|
4
4
|
### copyright(c) 2007-2011 kuwata-lab.com all rights reserved
|
5
5
|
###
|
6
6
|
|
@@ -161,6 +161,21 @@ END
|
|
161
161
|
Tenjin::Template.TRACE = false
|
162
162
|
end
|
163
163
|
|
164
|
+
def test_magic_comment
|
165
|
+
input = <<'END'
|
166
|
+
<?rb # -*- coding: euc-jp -*- ?>
|
167
|
+
<p>hello ${@name}!</p>
|
168
|
+
END
|
169
|
+
t = Tenjin::Template.new
|
170
|
+
t.convert(input)
|
171
|
+
s = t.__send__(:_to_proc_code, t.script)
|
172
|
+
ok_(s) =~ /\A # -\*- coding: euc-jp -\*-\nproc do/
|
173
|
+
output = t.render({:name=>"Haruhi"})
|
174
|
+
if "".respond_to?(:encoding)
|
175
|
+
ok_(output.encoding.to_s) == 'EUC-JP'
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
164
179
|
|
165
180
|
end
|
166
181
|
|
data/test/test_users_guide.rb
CHANGED
data/test/testcase-helper.rb
CHANGED
data/test/testunit-assertions.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tenjin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 1
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 7
|
9
|
+
- 1
|
10
|
+
version: 0.7.1
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- makoto kuwata
|
@@ -9,8 +15,7 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2011-11-
|
13
|
-
default_executable:
|
18
|
+
date: 2011-11-27 00:00:00 Z
|
14
19
|
dependencies: []
|
15
20
|
|
16
21
|
description: " Tenjin is a template engine and has the following features.\n * Very fast and lightweight\n * Small and only a file\n * Auto escaping support\n * Auto trimming spaces around embedded statements\n * Context object available\n * Able to load YAML data file\n * Preprocessing support\n"
|
@@ -251,7 +256,6 @@ files:
|
|
251
256
|
- public_html/hello.rbhtml
|
252
257
|
- public_html/index.rbhtml
|
253
258
|
- public_html/rbtenjin.cgi
|
254
|
-
has_rdoc: true
|
255
259
|
homepage: http://www.kuwata-lab.com/tenjin/
|
256
260
|
licenses: []
|
257
261
|
|
@@ -261,21 +265,27 @@ rdoc_options: []
|
|
261
265
|
require_paths:
|
262
266
|
- lib
|
263
267
|
required_ruby_version: !ruby/object:Gem::Requirement
|
268
|
+
none: false
|
264
269
|
requirements:
|
265
270
|
- - ">="
|
266
271
|
- !ruby/object:Gem::Version
|
272
|
+
hash: 3
|
273
|
+
segments:
|
274
|
+
- 0
|
267
275
|
version: "0"
|
268
|
-
version:
|
269
276
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
277
|
+
none: false
|
270
278
|
requirements:
|
271
279
|
- - ">="
|
272
280
|
- !ruby/object:Gem::Version
|
281
|
+
hash: 3
|
282
|
+
segments:
|
283
|
+
- 0
|
273
284
|
version: "0"
|
274
|
-
version:
|
275
285
|
requirements: []
|
276
286
|
|
277
287
|
rubyforge_project: tenjin
|
278
|
-
rubygems_version: 1.
|
288
|
+
rubygems_version: 1.7.2
|
279
289
|
signing_key:
|
280
290
|
specification_version: 3
|
281
291
|
summary: very fast and full-featured template engine
|