tenjin 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.txt +54 -0
  3. data/benchmark/bench.rb +502 -0
  4. data/benchmark/bench_context.rb +17 -0
  5. data/benchmark/bench_context.yaml +141 -0
  6. data/benchmark/templates/_footer.html +4 -0
  7. data/benchmark/templates/_header.html +52 -0
  8. data/benchmark/templates/bench_eruby.rhtml +29 -0
  9. data/benchmark/templates/bench_tenjin.rbhtml +29 -0
  10. data/bin/rbtenjin +449 -0
  11. data/doc-api/classes/Tenjin.html +141 -0
  12. data/doc-api/classes/Tenjin/ArrayBufferTemplate.html +270 -0
  13. data/doc-api/classes/Tenjin/BaseContext.html +312 -0
  14. data/doc-api/classes/Tenjin/Context.html +126 -0
  15. data/doc-api/classes/Tenjin/ContextHelper.html +433 -0
  16. data/doc-api/classes/Tenjin/Engine.html +616 -0
  17. data/doc-api/classes/Tenjin/ErubisTemplate.html +166 -0
  18. data/doc-api/classes/Tenjin/HtmlHelper.html +359 -0
  19. data/doc-api/classes/Tenjin/Preprocessor.html +242 -0
  20. data/doc-api/classes/Tenjin/Template.html +916 -0
  21. data/doc-api/created.rid +1 -0
  22. data/doc-api/files/README_txt.html +185 -0
  23. data/doc-api/files/lib/tenjin_rb.html +136 -0
  24. data/doc-api/fr_class_index.html +36 -0
  25. data/doc-api/fr_file_index.html +28 -0
  26. data/doc-api/fr_method_index.html +89 -0
  27. data/doc-api/index.html +24 -0
  28. data/doc-api/rdoc-style.css +208 -0
  29. data/doc/docstyle.css +188 -0
  30. data/doc/examples.html +312 -0
  31. data/doc/faq.html +909 -0
  32. data/doc/users-guide.html +1691 -0
  33. data/lib/tenjin.rb +959 -0
  34. data/setup.rb +1331 -0
  35. data/tenjin.gemspec +58 -0
  36. data/test/assert-text-equal.rb +45 -0
  37. data/test/data/examples/form/create.rbhtml +4 -0
  38. data/test/data/examples/form/form.rbhtml +14 -0
  39. data/test/data/examples/form/layout.rbhtml +8 -0
  40. data/test/data/examples/form/main.rb +9 -0
  41. data/test/data/examples/form/main.result +21 -0
  42. data/test/data/examples/form/update.rbhtml +4 -0
  43. data/test/data/examples/preprocessing/helper.rb +16 -0
  44. data/test/data/examples/preprocessing/main.rb +11 -0
  45. data/test/data/examples/preprocessing/main.result +17 -0
  46. data/test/data/examples/preprocessing/select.rbhtml +15 -0
  47. data/test/data/examples/preprocessing/select_P.result +18 -0
  48. data/test/data/examples/table/table.rb +9 -0
  49. data/test/data/examples/table/table.rbhtml +16 -0
  50. data/test/data/examples/table/table.result +20 -0
  51. data/test/data/examples/table/table_s.result +18 -0
  52. data/test/data/faq/ex1.rbhtml +5 -0
  53. data/test/data/faq/ex10-baselayout.rbhtml +27 -0
  54. data/test/data/faq/ex10-content.rbhtml +12 -0
  55. data/test/data/faq/ex10-customlayout.rbhtml +11 -0
  56. data/test/data/faq/ex10_inherit.result +25 -0
  57. data/test/data/faq/ex11-bench.rb +28 -0
  58. data/test/data/faq/ex11-content.rbhtml +9 -0
  59. data/test/data/faq/ex11-layout1.rbhtml +5 -0
  60. data/test/data/faq/ex11-layout2.rbhtml +6 -0
  61. data/test/data/faq/ex11.rb +5 -0
  62. data/test/data/faq/ex11.rbhtml +8 -0
  63. data/test/data/faq/ex11.source +11 -0
  64. data/test/data/faq/ex11_arraybuffer.result +15 -0
  65. data/test/data/faq/ex1_chksyntax.result +3 -0
  66. data/test/data/faq/ex2-content.rbhtml +3 -0
  67. data/test/data/faq/ex2-layout.rbhtml +11 -0
  68. data/test/data/faq/ex2_removenl.result +19 -0
  69. data/test/data/faq/ex3.rb +4 -0
  70. data/test/data/faq/ex3.rbhtml +1 -0
  71. data/test/data/faq/ex3_escapefunc1.result +2 -0
  72. data/test/data/faq/ex3_escapefunc2.result +2 -0
  73. data/test/data/faq/ex5.rbhtml +7 -0
  74. data/test/data/faq/ex5_template_args.source +9 -0
  75. data/test/data/faq/ex6-content.rhtml +6 -0
  76. data/test/data/faq/ex6-layout.rhtml +6 -0
  77. data/test/data/faq/ex6.rb +10 -0
  78. data/test/data/faq/ex6_eruby.result +12 -0
  79. data/test/data/faq/ex7-expr-pattern.rb +34 -0
  80. data/test/data/faq/ex7-expr-pattern.rbhtml +3 -0
  81. data/test/data/faq/ex7_expr_pattern.result +4 -0
  82. data/test/data/faq/ex8-m18n.rb +77 -0
  83. data/test/data/faq/ex8-m18n.rbhtml +4 -0
  84. data/test/data/faq/ex8_m18n.result +10 -0
  85. data/test/data/faq/ex9-baselayout.rbhtml +8 -0
  86. data/test/data/faq/ex9-content.rbhtml +6 -0
  87. data/test/data/faq/ex9-mylayout.rbhtml +5 -0
  88. data/test/data/faq/ex9_changelayout.result +11 -0
  89. data/test/data/users_guide/content6.rbhtml +3 -0
  90. data/test/data/users_guide/content7.rbhtml +5 -0
  91. data/test/data/users_guide/content8.rbhtml +2 -0
  92. data/test/data/users_guide/contextdata.rb +7 -0
  93. data/test/data/users_guide/datafile.rb +5 -0
  94. data/test/data/users_guide/datafile.yaml +10 -0
  95. data/test/data/users_guide/ex.rbhtml +6 -0
  96. data/test/data/users_guide/ex.result +7 -0
  97. data/test/data/users_guide/ex.script +5 -0
  98. data/test/data/users_guide/ex_script.result +7 -0
  99. data/test/data/users_guide/ex_source.result +8 -0
  100. data/test/data/users_guide/example1.rbhtml +12 -0
  101. data/test/data/users_guide/example1.result +17 -0
  102. data/test/data/users_guide/example10.rbhtml +4 -0
  103. data/test/data/users_guide/example10_template_args.result +6 -0
  104. data/test/data/users_guide/example11.rbhtml +5 -0
  105. data/test/data/users_guide/example11_template_args_result +2 -0
  106. data/test/data/users_guide/example12.rbhtml +12 -0
  107. data/test/data/users_guide/example12_preprocessed.result +10 -0
  108. data/test/data/users_guide/example12_preprocessed_source.result +10 -0
  109. data/test/data/users_guide/example13.rbhtml +6 -0
  110. data/test/data/users_guide/example13_preprocessed.result +2 -0
  111. data/test/data/users_guide/example13_preprocessed_source.result +2 -0
  112. data/test/data/users_guide/example14.rb +32 -0
  113. data/test/data/users_guide/example14.rbhtml +6 -0
  114. data/test/data/users_guide/example14_tmplclass.result +15 -0
  115. data/test/data/users_guide/example15.rb +10 -0
  116. data/test/data/users_guide/example15_escapefunc.result +14 -0
  117. data/test/data/users_guide/example16.rbhtml +4 -0
  118. data/test/data/users_guide/example16a.rb +10 -0
  119. data/test/data/users_guide/example16a.result +4 -0
  120. data/test/data/users_guide/example16b.rb +13 -0
  121. data/test/data/users_guide/example16b.result +4 -0
  122. data/test/data/users_guide/example16c.rb +12 -0
  123. data/test/data/users_guide/example16c.result +4 -0
  124. data/test/data/users_guide/example1_S.result +14 -0
  125. data/test/data/users_guide/example1_SXNC.result +10 -0
  126. data/test/data/users_guide/example1_source.result +14 -0
  127. data/test/data/users_guide/example2.rbhtml +3 -0
  128. data/test/data/users_guide/example2_sb.result2 +9 -0
  129. data/test/data/users_guide/example3.rbhtml +5 -0
  130. data/test/data/users_guide/example3_syntaxcheck.result +2 -0
  131. data/test/data/users_guide/example4.rbhtml +13 -0
  132. data/test/data/users_guide/example4_datafile_rb.result +13 -0
  133. data/test/data/users_guide/example4_yaml.result +13 -0
  134. data/test/data/users_guide/example5.rbhtml +9 -0
  135. data/test/data/users_guide/example5_datastr_rb.result +9 -0
  136. data/test/data/users_guide/example5_datastr_yaml.result +9 -0
  137. data/test/data/users_guide/example6.rbhtml +19 -0
  138. data/test/data/users_guide/example6_layout.result +29 -0
  139. data/test/data/users_guide/example6_nested.result +28 -0
  140. data/test/data/users_guide/example7_layout2.result +13 -0
  141. data/test/data/users_guide/example8_layout3.result +8 -0
  142. data/test/data/users_guide/example9.rbhtml +18 -0
  143. data/test/data/users_guide/example9_capture.result +26 -0
  144. data/test/data/users_guide/footer.html +5 -0
  145. data/test/data/users_guide/footer.rbhtml +4 -0
  146. data/test/data/users_guide/layout6.rbhtml +17 -0
  147. data/test/data/users_guide/layout7.rbhtml +9 -0
  148. data/test/data/users_guide/layout8_html.rbhtml +5 -0
  149. data/test/data/users_guide/layout8_xhtml.rbhtml +6 -0
  150. data/test/data/users_guide/layout9.rbhtml +25 -0
  151. data/test/data/users_guide/sidemenu.rbhtml +5 -0
  152. data/test/data/users_guide/user_app.cgi +39 -0
  153. data/test/data/users_guide/user_app.result +30 -0
  154. data/test/data/users_guide/user_create.rbhtml +6 -0
  155. data/test/data/users_guide/user_edit.rbhtml +7 -0
  156. data/test/data/users_guide/user_form.rbhtml +10 -0
  157. data/test/data/users_guide/user_layout.rbhtml +16 -0
  158. data/test/test_all.rb +23 -0
  159. data/test/test_engine.rb +526 -0
  160. data/test/test_engine.yaml +2039 -0
  161. data/test/test_examples.rb +81 -0
  162. data/test/test_faq.rb +60 -0
  163. data/test/test_htmlhelper.rb +78 -0
  164. data/test/test_main.rb +564 -0
  165. data/test/test_main.yaml +174 -0
  166. data/test/test_template.rb +113 -0
  167. data/test/test_template.yaml +1244 -0
  168. data/test/test_users_guide.rb +75 -0
  169. data/test/testcase-helper.rb +166 -0
  170. metadata +226 -0
@@ -0,0 +1,75 @@
1
+ ###
2
+ ### $Rev: 48 $
3
+ ### $Release: 0.6.0 $
4
+ ### copyright(c) 2007 kuwata-lab all rights reserved.
5
+ ###
6
+
7
+ require 'test/unit'
8
+ #require 'testutil'
9
+ #require 'testcase-helper'
10
+ require 'assert-text-equal'
11
+
12
+ #class Symbol
13
+ # def <=>(other)
14
+ # return self.to_s <=> other.to_s
15
+ # end
16
+ #end
17
+ #
18
+ #class Hash
19
+ # def each
20
+ # self.keys.sort.each do |key|
21
+ # val = self[key]
22
+ # yield key, val
23
+ # end
24
+ # end
25
+ #end
26
+
27
+ require 'tenjin'
28
+
29
+ class TenjinUsersGuideTest < Test::Unit::TestCase
30
+
31
+ DIR = File.expand_path(File.dirname(__FILE__) + '/data/users_guide')
32
+ CWD = Dir.pwd()
33
+
34
+
35
+ def setup
36
+ Dir.chdir DIR
37
+ end
38
+
39
+
40
+ def teardown
41
+ Dir.chdir CWD
42
+ end
43
+
44
+
45
+ def _test
46
+ @name = (caller()[0] =~ /`(.*?)'/) && $1
47
+ s = File.read(@filename)
48
+ s =~ /\A\$ (.*?)\n/
49
+ command = $1
50
+ expected = $'
51
+ result = `#{command}`
52
+ assert_text_equal(expected, result)
53
+ end
54
+
55
+
56
+ Dir.chdir DIR do
57
+ filenames = []
58
+ filenames += Dir.glob('*.result')
59
+ filenames += Dir.glob('*.source')
60
+ filenames.each do |filename|
61
+ name = filename.gsub(/[^\w]/, '_')
62
+ s = <<-END
63
+ def test_#{name}
64
+ # $stderr.puts "*** debug: test_#{name}"
65
+ @name = '#{name}'
66
+ @filename = '#{filename}'
67
+ _test()
68
+ end
69
+ END
70
+ eval s
71
+ end
72
+ end
73
+
74
+
75
+ end
@@ -0,0 +1,166 @@
1
+ ###
2
+ ### $Rev: 42 $
3
+ ### $Release: 0.6.0 $
4
+ ### copyright(c) 2007 kuwata-lab all rights reserved.
5
+ ###
6
+
7
+ require 'yaml'
8
+ require 'test/unit/testcase'
9
+
10
+
11
+ def File.write(filename, content)
12
+ File.open(filename, 'w') { |f| f.write(content) }
13
+ end
14
+
15
+
16
+ def _data_convert(data, lang='ruby')
17
+ if data.is_a?(Hash)
18
+ data.keys.each do |k|
19
+ v = data[k]
20
+ if k[-1,1] == '*'
21
+ v.is_a?(Hash) or raise "** assertion error"
22
+ data[k[0..-2]] = data.delete(k)[lang]
23
+ elsif v.is_a?(Hash) && v.key?(lang)
24
+ data[k] = v[lang]
25
+ else
26
+ _data_convert(v)
27
+ end
28
+ end
29
+ elsif data.is_a?(Array)
30
+ for v in data
31
+ _data_convert(v)
32
+ end
33
+ end
34
+ return data
35
+ end
36
+
37
+
38
+
39
+ class Test::Unit::TestCase # :nodoc:
40
+
41
+
42
+ def self._untabify(str, width=8) # :nodoc:
43
+ list = str.split(/\t/, -1)
44
+ return list.first if list.length == 1
45
+ last = list.pop
46
+ buf = []
47
+ list.each do |s|
48
+ column = (pos = s.rindex(?\n)) ? s.length - pos - 1 : s.length
49
+ n = width - (column % width)
50
+ buf << s << (" " * n)
51
+ end
52
+ buf << last
53
+ return buf.join
54
+ #sb = []
55
+ #str.scan(/(.*?)\t/m) do |s, |
56
+ # len = (n = s.rindex(?\n)) ? s.length - n - 1 : s.length
57
+ # sb << s << (" " * (width - len % width))
58
+ #end
59
+ #str = (sb << $').join if $'
60
+ #return str
61
+ end
62
+
63
+
64
+ def self.load_yaml_documents(filename, options={}) # :nodoc:
65
+ str = File.read(filename)
66
+ if filename =~ /\.rb$/
67
+ str =~ /^__END__$/ or raise "*** error: __END__ is not found in '#{filename}'."
68
+ str = $'
69
+ end
70
+ str = _untabify(str) unless options[:tabify] == false
71
+ #
72
+ identkey = options[:identkey] || 'name'
73
+ list = []
74
+ table = {}
75
+ YAML.load_documents(str) do |ydoc|
76
+ if ydoc.is_a?(Hash)
77
+ list << ydoc
78
+ elsif ydoc.is_a?(Array)
79
+ list += ydoc
80
+ else
81
+ raise "*** invalid ydoc: #{ydoc.inspect}"
82
+ end
83
+ end
84
+ #
85
+ list.each do |ydoc|
86
+ ident = ydoc[identkey]
87
+ ident or raise "*** #{identkey} is not found."
88
+ table[ident] and raise "*** #{identkey} '#{ident}' is duplicated."
89
+ table[ident] = ydoc
90
+ end
91
+ #
92
+ target = $target || ENV['TEST']
93
+ if target
94
+ table[target] or raise "*** target '#{target}' not found."
95
+ list = [ table[target] ]
96
+ end
97
+ #
98
+ list.each do |ydoc| yield(ydoc) end if block_given?
99
+ #
100
+ return list
101
+ end
102
+
103
+
104
+ SPECIAL_KEYS = %[exception errormsg]
105
+
106
+ def self.load_yaml_testdata(filename, options={}) # :nodoc:
107
+ identkey = options[:identkey] || 'name'
108
+ testmethod = options[:testmethod] || '_test'
109
+ lang = options[:lang]
110
+ special_keys = options[:special_keys] || SPECIAL_KEYS
111
+ s = ''
112
+ load_yaml_documents(filename, options) do |ydoc|
113
+ ident = ydoc[identkey]
114
+ s << "def test_#{ident}\n"
115
+ ydoc.each do |key, val|
116
+ if key[-1] == ?*
117
+ key = key[0, key.length-1]
118
+ k = special_keys.include?(key) ? 'ruby' : lang
119
+ val = val[k]
120
+ end
121
+ s << " @#{key} = #{val.inspect}\n"
122
+ end
123
+ s << " #{testmethod}\n"
124
+ s << "end\n"
125
+ $stderr.puts "*** #{method_name()}(): eval_str=<<'END'\n#{s}END" if $DEBUG
126
+ end
127
+ #module_eval s # not eval!
128
+ return s
129
+ end
130
+
131
+
132
+ def self.method_name # :nodoc:
133
+ return (caller[0] =~ /in `(.*?)'/) && $1
134
+ end
135
+
136
+
137
+ def self.load_yaml_testdata_with_each_lang(filename, options={}) # :nodoc:
138
+ identkey = options[:identkey] || 'name'
139
+ testmethod = options[:testmethod] || '_test'
140
+ special_keys = options[:special_keys] || SPECIAL_KEYS
141
+ langs = defined?($lang) && $lang ? [ $lang ] : options[:langs]
142
+ langs or raise "*** #{method_name()}(): option ':langs' is required."
143
+
144
+ load_yaml_documents(filename, options) do |ydoc|
145
+ ident = ydoc[identkey]
146
+ langs.each do |lang|
147
+ s = "def test_#{ident}_#{lang}\n"
148
+ s << " @lang = #{lang.inspect}\n"
149
+ ydoc.each do |key, val|
150
+ if key[-1] == ?*
151
+ key = key[0, key.length-1]
152
+ k = special_keys.include?(key) ? 'ruby' : lang
153
+ val = val[k]
154
+ end
155
+ s << " @#{key} = #{val.inspect}\n"
156
+ end
157
+ s << " #{testmethod}\n"
158
+ s << "end\n"
159
+ #$stderr.puts "*** #{method_name()}(): eval_str=<<'END'\n#{s}END" if $DEBUG
160
+ module_eval s # not eval!
161
+ end
162
+ end
163
+ end
164
+
165
+
166
+ end
metadata ADDED
@@ -0,0 +1,226 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.2
3
+ specification_version: 1
4
+ name: tenjin
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.6.0
7
+ date: 2007-08-04 00:00:00 +09:00
8
+ summary: eRuby-like template engine
9
+ require_paths:
10
+ - lib
11
+ email:
12
+ homepage: http://www.kuwata-lab.com/tenjin
13
+ rubyforge_project:
14
+ description: Tenjin is a template engine which is similar to eRuby. Tenjin has the following features. * Very fast and lightweight * Auto escaping support * Auto trimming spaces around embedded statements * Context object available and easy to combine eRuby template with YAML datafile
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: false
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - kwatch
31
+ files:
32
+ - lib/tenjin.rb
33
+ - bin/rbtenjin
34
+ - test/assert-text-equal.rb
35
+ - test/data
36
+ - test/data/examples
37
+ - test/data/examples/form
38
+ - test/data/examples/form/create.rbhtml
39
+ - test/data/examples/form/form.rbhtml
40
+ - test/data/examples/form/layout.rbhtml
41
+ - test/data/examples/form/main.rb
42
+ - test/data/examples/form/main.result
43
+ - test/data/examples/form/update.rbhtml
44
+ - test/data/examples/preprocessing
45
+ - test/data/examples/preprocessing/helper.rb
46
+ - test/data/examples/preprocessing/main.rb
47
+ - test/data/examples/preprocessing/main.result
48
+ - test/data/examples/preprocessing/select.rbhtml
49
+ - test/data/examples/preprocessing/select_P.result
50
+ - test/data/examples/table
51
+ - test/data/examples/table/table.rb
52
+ - test/data/examples/table/table.rbhtml
53
+ - test/data/examples/table/table.result
54
+ - test/data/examples/table/table_s.result
55
+ - test/data/faq
56
+ - test/data/faq/ex1.rbhtml
57
+ - test/data/faq/ex10-baselayout.rbhtml
58
+ - test/data/faq/ex10-content.rbhtml
59
+ - test/data/faq/ex10-customlayout.rbhtml
60
+ - test/data/faq/ex10_inherit.result
61
+ - test/data/faq/ex11-bench.rb
62
+ - test/data/faq/ex11-content.rbhtml
63
+ - test/data/faq/ex11-layout1.rbhtml
64
+ - test/data/faq/ex11-layout2.rbhtml
65
+ - test/data/faq/ex11.rb
66
+ - test/data/faq/ex11.rbhtml
67
+ - test/data/faq/ex11.source
68
+ - test/data/faq/ex11_arraybuffer.result
69
+ - test/data/faq/ex1_chksyntax.result
70
+ - test/data/faq/ex2-content.rbhtml
71
+ - test/data/faq/ex2-layout.rbhtml
72
+ - test/data/faq/ex2_removenl.result
73
+ - test/data/faq/ex3.rb
74
+ - test/data/faq/ex3.rbhtml
75
+ - test/data/faq/ex3_escapefunc1.result
76
+ - test/data/faq/ex3_escapefunc2.result
77
+ - test/data/faq/ex5.rbhtml
78
+ - test/data/faq/ex5_template_args.source
79
+ - test/data/faq/ex6-content.rhtml
80
+ - test/data/faq/ex6-layout.rhtml
81
+ - test/data/faq/ex6.rb
82
+ - test/data/faq/ex6_eruby.result
83
+ - test/data/faq/ex7-expr-pattern.rb
84
+ - test/data/faq/ex7-expr-pattern.rbhtml
85
+ - test/data/faq/ex7_expr_pattern.result
86
+ - test/data/faq/ex8-m18n.rb
87
+ - test/data/faq/ex8-m18n.rbhtml
88
+ - test/data/faq/ex8_m18n.result
89
+ - test/data/faq/ex9-baselayout.rbhtml
90
+ - test/data/faq/ex9-content.rbhtml
91
+ - test/data/faq/ex9-mylayout.rbhtml
92
+ - test/data/faq/ex9_changelayout.result
93
+ - test/data/users_guide
94
+ - test/data/users_guide/content6.rbhtml
95
+ - test/data/users_guide/content7.rbhtml
96
+ - test/data/users_guide/content8.rbhtml
97
+ - test/data/users_guide/contextdata.rb
98
+ - test/data/users_guide/datafile.rb
99
+ - test/data/users_guide/datafile.yaml
100
+ - test/data/users_guide/ex.rbhtml
101
+ - test/data/users_guide/ex.result
102
+ - test/data/users_guide/ex.script
103
+ - test/data/users_guide/ex_script.result
104
+ - test/data/users_guide/ex_source.result
105
+ - test/data/users_guide/example1.rbhtml
106
+ - test/data/users_guide/example1.result
107
+ - test/data/users_guide/example10.rbhtml
108
+ - test/data/users_guide/example10_template_args.result
109
+ - test/data/users_guide/example11.rbhtml
110
+ - test/data/users_guide/example11_template_args_result
111
+ - test/data/users_guide/example12.rbhtml
112
+ - test/data/users_guide/example12_preprocessed.result
113
+ - test/data/users_guide/example12_preprocessed_source.result
114
+ - test/data/users_guide/example13.rbhtml
115
+ - test/data/users_guide/example13_preprocessed.result
116
+ - test/data/users_guide/example13_preprocessed_source.result
117
+ - test/data/users_guide/example14.rb
118
+ - test/data/users_guide/example14.rbhtml
119
+ - test/data/users_guide/example14_tmplclass.result
120
+ - test/data/users_guide/example15.rb
121
+ - test/data/users_guide/example15_escapefunc.result
122
+ - test/data/users_guide/example16.rbhtml
123
+ - test/data/users_guide/example16a.rb
124
+ - test/data/users_guide/example16a.result
125
+ - test/data/users_guide/example16b.rb
126
+ - test/data/users_guide/example16b.result
127
+ - test/data/users_guide/example16c.rb
128
+ - test/data/users_guide/example16c.result
129
+ - test/data/users_guide/example1_S.result
130
+ - test/data/users_guide/example1_source.result
131
+ - test/data/users_guide/example1_SXNC.result
132
+ - test/data/users_guide/example2.rbhtml
133
+ - test/data/users_guide/example2_sb.result2
134
+ - test/data/users_guide/example3.rbhtml
135
+ - test/data/users_guide/example3_syntaxcheck.result
136
+ - test/data/users_guide/example4.rbhtml
137
+ - test/data/users_guide/example4_datafile_rb.result
138
+ - test/data/users_guide/example4_yaml.result
139
+ - test/data/users_guide/example5.rbhtml
140
+ - test/data/users_guide/example5_datastr_rb.result
141
+ - test/data/users_guide/example5_datastr_yaml.result
142
+ - test/data/users_guide/example6.rbhtml
143
+ - test/data/users_guide/example6_layout.result
144
+ - test/data/users_guide/example6_nested.result
145
+ - test/data/users_guide/example7_layout2.result
146
+ - test/data/users_guide/example8_layout3.result
147
+ - test/data/users_guide/example9.rbhtml
148
+ - test/data/users_guide/example9_capture.result
149
+ - test/data/users_guide/footer.html
150
+ - test/data/users_guide/footer.rbhtml
151
+ - test/data/users_guide/layout6.rbhtml
152
+ - test/data/users_guide/layout7.rbhtml
153
+ - test/data/users_guide/layout8_html.rbhtml
154
+ - test/data/users_guide/layout8_xhtml.rbhtml
155
+ - test/data/users_guide/layout9.rbhtml
156
+ - test/data/users_guide/sidemenu.rbhtml
157
+ - test/data/users_guide/user_app.cgi
158
+ - test/data/users_guide/user_app.result
159
+ - test/data/users_guide/user_create.rbhtml
160
+ - test/data/users_guide/user_edit.rbhtml
161
+ - test/data/users_guide/user_form.rbhtml
162
+ - test/data/users_guide/user_layout.rbhtml
163
+ - test/test_all.rb
164
+ - test/test_engine.rb
165
+ - test/test_engine.yaml
166
+ - test/test_examples.rb
167
+ - test/test_faq.rb
168
+ - test/test_htmlhelper.rb
169
+ - test/test_main.rb
170
+ - test/test_main.yaml
171
+ - test/test_template.rb
172
+ - test/test_template.yaml
173
+ - test/test_users_guide.rb
174
+ - test/testcase-helper.rb
175
+ - doc/docstyle.css
176
+ - doc/examples.html
177
+ - doc/faq.html
178
+ - doc/users-guide.html
179
+ - README.txt
180
+ - MIT-LICENSE
181
+ - setup.rb
182
+ - tenjin.gemspec
183
+ - benchmark/bench.rb
184
+ - benchmark/bench_context.rb
185
+ - benchmark/bench_context.yaml
186
+ - benchmark/templates
187
+ - benchmark/templates/_footer.html
188
+ - benchmark/templates/_header.html
189
+ - benchmark/templates/bench_eruby.rhtml
190
+ - benchmark/templates/bench_tenjin.rbhtml
191
+ - doc-api/classes
192
+ - doc-api/classes/Tenjin
193
+ - doc-api/classes/Tenjin/ArrayBufferTemplate.html
194
+ - doc-api/classes/Tenjin/BaseContext.html
195
+ - doc-api/classes/Tenjin/Context.html
196
+ - doc-api/classes/Tenjin/ContextHelper.html
197
+ - doc-api/classes/Tenjin/Engine.html
198
+ - doc-api/classes/Tenjin/ErubisTemplate.html
199
+ - doc-api/classes/Tenjin/HtmlHelper.html
200
+ - doc-api/classes/Tenjin/Preprocessor.html
201
+ - doc-api/classes/Tenjin/Template.html
202
+ - doc-api/classes/Tenjin.html
203
+ - doc-api/created.rid
204
+ - doc-api/files
205
+ - doc-api/files/lib
206
+ - doc-api/files/lib/tenjin_rb.html
207
+ - doc-api/files/README_txt.html
208
+ - doc-api/fr_class_index.html
209
+ - doc-api/fr_file_index.html
210
+ - doc-api/fr_method_index.html
211
+ - doc-api/index.html
212
+ - doc-api/rdoc-style.css
213
+ test_files:
214
+ - test/test_all.rb
215
+ rdoc_options: []
216
+
217
+ extra_rdoc_files: []
218
+
219
+ executables:
220
+ - rbtenjin
221
+ extensions: []
222
+
223
+ requirements: []
224
+
225
+ dependencies: []
226
+