rango 0.1.pre → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1958) hide show
  1. data/CHANGELOG +4 -1
  2. data/README.textile +12 -4
  3. data/examples/README.textile +7 -8
  4. data/{stubs/project/content → examples/blog}/Gemfile +27 -4
  5. data/examples/blog/Rakefile +12 -0
  6. data/{vendor/cli → examples/blog}/TODO.txt +0 -0
  7. data/examples/blog/bin/autospec +3 -0
  8. data/examples/blog/bin/css2sass +3 -0
  9. data/examples/blog/bin/cucumber +3 -0
  10. data/examples/blog/bin/haml +3 -0
  11. data/examples/blog/bin/html2haml +3 -0
  12. data/examples/blog/bin/htmldiff +3 -0
  13. data/examples/blog/bin/launchy +3 -0
  14. data/examples/blog/bin/ldiff +3 -0
  15. data/examples/blog/bin/nokogiri +3 -0
  16. data/examples/blog/bin/racksh +3 -0
  17. data/examples/blog/bin/rackup +3 -0
  18. data/examples/blog/bin/rake +3 -0
  19. data/examples/blog/bin/rango +3 -0
  20. data/examples/blog/bin/sass +3 -0
  21. data/examples/blog/bin/shotgun +3 -0
  22. data/examples/blog/bin/simple-templater +3 -0
  23. data/examples/blog/bin/spec +3 -0
  24. data/examples/blog/bin/tt +3 -0
  25. data/examples/blog/blog/init.rb +9 -0
  26. data/examples/blog/blog/models.rb +21 -0
  27. data/examples/blog/blog/views.rb +16 -0
  28. data/examples/blog/config.ru +19 -0
  29. data/examples/blog/gems/cache/addressable-2.1.1.gem +0 -0
  30. data/examples/blog/gems/cache/builder-2.1.2.gem +0 -0
  31. data/examples/blog/gems/cache/bundler-0.7.0.gem +0 -0
  32. data/examples/blog/gems/cache/cli-0.0.1.gem +0 -0
  33. data/examples/blog/gems/cache/configuration-1.1.0.gem +0 -0
  34. data/examples/blog/gems/cache/cucumber-0.4.4.gem +0 -0
  35. data/examples/blog/gems/cache/data_objects-0.10.0.gem +0 -0
  36. data/examples/blog/gems/cache/diff-lcs-1.1.2.gem +0 -0
  37. data/examples/blog/gems/cache/dm-core-0.10.1.gem +0 -0
  38. data/examples/blog/gems/cache/dm-timestamps-0.10.1.gem +0 -0
  39. data/examples/blog/gems/cache/do_mysql-0.10.0.gem +0 -0
  40. data/examples/blog/gems/cache/do_sqlite3-0.10.0.gem +0 -0
  41. data/examples/blog/gems/cache/extlib-0.9.13.gem +0 -0
  42. data/examples/blog/gems/cache/fuzzyhash-0.0.9.gem +0 -0
  43. data/examples/blog/gems/cache/haml-2.2.14.gem +0 -0
  44. data/examples/blog/gems/cache/launchy-0.3.3.gem +0 -0
  45. data/examples/blog/gems/cache/media-path-0.1.gem +0 -0
  46. data/examples/blog/gems/cache/nokogiri-1.4.0.gem +0 -0
  47. data/examples/blog/gems/cache/polyglot-0.2.9.gem +0 -0
  48. data/examples/blog/gems/cache/rack-1.0.1.gem +0 -0
  49. data/examples/blog/gems/cache/rack-test-0.5.2.gem +0 -0
  50. data/examples/blog/gems/cache/racksh-0.9.4.2.gem +0 -0
  51. data/examples/blog/gems/cache/rake-0.8.7.gem +0 -0
  52. data/examples/blog/gems/cache/rango-0.1.0.gem +0 -0
  53. data/examples/blog/gems/cache/rspec-1.2.9.gem +0 -0
  54. data/examples/blog/gems/cache/rubyexts-0.0.1.gem +0 -0
  55. data/examples/blog/gems/cache/shotgun-0.4.gem +0 -0
  56. data/examples/blog/gems/cache/simple-templater-0.0.1.gem +0 -0
  57. data/examples/blog/gems/cache/term-ansicolor-1.0.4.gem +0 -0
  58. data/examples/blog/gems/cache/treetop-1.4.2.gem +0 -0
  59. data/examples/blog/gems/cache/usher-0.5.11.gem +0 -0
  60. data/examples/blog/gems/cache/webrat-0.5.3.gem +0 -0
  61. data/examples/blog/init.rb +49 -0
  62. data/examples/blog/settings.rb +15 -0
  63. data/examples/{twitter → blog}/settings_local.rb +0 -0
  64. data/examples/blog/spec/blog/init_spec.rb +7 -0
  65. data/examples/blog/spec/blog/models_spec.rb +28 -0
  66. data/examples/blog/spec/blog/views_spec.rb +22 -0
  67. data/{vendor/cli → examples/blog}/spec/spec.opts +0 -0
  68. data/examples/blog/spec/spec_helper.rb +27 -0
  69. data/examples/blog/templates/base.html.haml +16 -0
  70. data/examples/blog/templates/index.html.haml +12 -0
  71. data/lib/rango.rb +1 -1
  72. data/lib/rango/contrib/pagination.rb +1 -2
  73. data/lib/rango/contrib/pagination/TODO +1 -2
  74. data/lib/rango/contrib/pagination/_pagination.html.haml +4 -4
  75. data/lib/rango/contrib/pagination/helpers.rb +10 -0
  76. data/lib/rango/exceptions.rb +1 -4
  77. data/lib/rango/gv.rb +8 -0
  78. data/lib/rango/helpers/merb-helpers/date_time_formatting.rb +2 -0
  79. data/lib/rango/helpers/merb-helpers/form/builder.rb +0 -1
  80. data/lib/rango/mixins/render.rb +3 -0
  81. data/lib/rango/orm/adapters/datamapper.rb +8 -0
  82. data/lib/rango/orm/support/datamapper/support.rb +2 -0
  83. data/lib/rango/orm/tasks/datamapper.rake +41 -0
  84. data/lib/rango/orm/tasks/sequel.rake +3 -0
  85. data/lib/rango/rack/request.rb +2 -0
  86. data/lib/rango/rango.rb +19 -5
  87. data/lib/rango/router.rb +9 -0
  88. data/lib/rango/router/adapters/rack_mount.rb +17 -0
  89. data/lib/rango/router/adapters/usher.rb +1 -1
  90. data/lib/rango/settings/erubis.rb +2 -0
  91. data/lib/rango/settings/framework.rb +1 -1
  92. data/lib/rango/settings/haml.rb +6 -0
  93. data/lib/rango/settings/template.rb +3 -1
  94. data/lib/rango/tasks/spec.rake +7 -0
  95. data/lib/rango/templates/adapter.rb +1 -1
  96. data/lib/rango/templates/erubis.rb +2 -2
  97. data/lib/rango/templates/template.rb +13 -1
  98. data/lib/rango/templates/templates.txt +1 -1
  99. data/lib/rango/{testing.rb → utils.rb} +1 -1
  100. data/spec/rango/helpers/merb-helpers/merb_helpers_text_spec.rb +1 -0
  101. data/spec/rango/helpers/merb-helpers/ordinalize_spec.rb +1 -0
  102. data/spec/rango/project_spec.rb +2 -2
  103. data/spec/rango_spec.rb +0 -4
  104. data/stubs/app/content/init.rb.rbt +4 -1
  105. data/stubs/app/content/models.rb.rbt +17 -6
  106. data/stubs/app/content/views.rb.rbt +17 -6
  107. data/stubs/app/setup.rb +4 -3
  108. data/stubs/project/content/Gemfile.rbt +106 -0
  109. data/stubs/project/content/Rakefile.rbt +12 -0
  110. data/stubs/project/content/config.ru.rbt +33 -5
  111. data/stubs/project/content/init.rb.rbt +34 -4
  112. data/stubs/project/content/spec/%name%/init_spec.rb.rbt +7 -0
  113. data/stubs/project/content/spec/%name%/models_spec.rb.rbt +23 -0
  114. data/stubs/project/content/spec/%name%/views_spec.rb.rbt +23 -0
  115. data/{vendor/media-path → stubs/project/content}/spec/spec.opts +0 -0
  116. data/stubs/project/content/spec/spec_helper.rb +24 -6
  117. data/stubs/project/content/templates/base.html.haml.rbt +9 -22
  118. data/stubs/project/content/templates/index.html.haml +37 -0
  119. data/stubs/project/postprocess.rb +7 -1
  120. data/stubs/project/setup.rb +6 -3
  121. metadata +92 -1857
  122. data/benchmarks/ab.rb +0 -6
  123. data/benchmarks/bm/boot.rb +0 -20
  124. data/benchmarks/bm/callbacks.rb +0 -0
  125. data/benchmarks/bm/request.rb +0 -4
  126. data/benchmarks/bm/routers.rb +0 -22
  127. data/benchmarks/bm/stack.rb +0 -19
  128. data/benchmarks/bm/templates.rb +0 -0
  129. data/benchmarks/helper.rb +0 -7
  130. data/benchmarks/stubs/merb-app/Rakefile +0 -35
  131. data/benchmarks/stubs/merb-app/app/controllers/application.rb +0 -4
  132. data/benchmarks/stubs/merb-app/app/controllers/exceptions.rb +0 -15
  133. data/benchmarks/stubs/merb-app/app/helpers/global_helpers.rb +0 -7
  134. data/benchmarks/stubs/merb-app/app/models/user.rb +0 -19
  135. data/benchmarks/stubs/merb-app/app/views/exceptions/not_acceptable.html.erb +0 -63
  136. data/benchmarks/stubs/merb-app/app/views/exceptions/not_found.html.erb +0 -47
  137. data/benchmarks/stubs/merb-app/app/views/layout/application.html.erb +0 -12
  138. data/benchmarks/stubs/merb-app/autotest/discover.rb +0 -4
  139. data/benchmarks/stubs/merb-app/autotest/merb.rb +0 -154
  140. data/benchmarks/stubs/merb-app/autotest/merb_rspec.rb +0 -167
  141. data/benchmarks/stubs/merb-app/config/database.yml +0 -33
  142. data/benchmarks/stubs/merb-app/config/dependencies.rb +0 -36
  143. data/benchmarks/stubs/merb-app/config/environments/development.rb +0 -17
  144. data/benchmarks/stubs/merb-app/config/environments/production.rb +0 -12
  145. data/benchmarks/stubs/merb-app/config/environments/rake.rb +0 -13
  146. data/benchmarks/stubs/merb-app/config/environments/staging.rb +0 -12
  147. data/benchmarks/stubs/merb-app/config/environments/test.rb +0 -14
  148. data/benchmarks/stubs/merb-app/config/init.rb +0 -26
  149. data/benchmarks/stubs/merb-app/config/rack.rb +0 -13
  150. data/benchmarks/stubs/merb-app/config/router.rb +0 -46
  151. data/benchmarks/stubs/merb-app/doc/rdoc/generators/merb_generator.rb +0 -1364
  152. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/api_grease.js +0 -640
  153. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/index.html.erb +0 -37
  154. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/merb.css +0 -252
  155. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/merb.rb +0 -353
  156. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/merb_doc_styles.css +0 -492
  157. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/prototype.js +0 -2515
  158. data/benchmarks/stubs/merb-app/merb/merb-auth/setup.rb +0 -46
  159. data/benchmarks/stubs/merb-app/merb/merb-auth/strategies.rb +0 -13
  160. data/benchmarks/stubs/merb-app/merb/session/session.rb +0 -11
  161. data/benchmarks/stubs/merb-app/public/favicon.ico +0 -0
  162. data/benchmarks/stubs/merb-app/public/images/merb.jpg +0 -0
  163. data/benchmarks/stubs/merb-app/public/javascripts/application.js +0 -1
  164. data/benchmarks/stubs/merb-app/public/javascripts/jquery.js +0 -19
  165. data/benchmarks/stubs/merb-app/public/merb.fcgi +0 -22
  166. data/benchmarks/stubs/merb-app/public/robots.txt +0 -5
  167. data/benchmarks/stubs/merb-app/public/stylesheets/master.css +0 -119
  168. data/benchmarks/stubs/merb-app/spec/spec.opts +0 -0
  169. data/benchmarks/stubs/merb-app/spec/spec_helper.rb +0 -27
  170. data/benchmarks/stubs/merb-app/tasks/doc.thor +0 -151
  171. data/benchmarks/stubs/merb-app/tasks/merb.thor/app_script.rb +0 -33
  172. data/benchmarks/stubs/merb-app/tasks/merb.thor/common.rb +0 -70
  173. data/benchmarks/stubs/merb-app/tasks/merb.thor/gem_ext.rb +0 -127
  174. data/benchmarks/stubs/merb-app/tasks/merb.thor/main.thor +0 -152
  175. data/benchmarks/stubs/merb-app/tasks/merb.thor/ops.rb +0 -95
  176. data/benchmarks/stubs/merb-app/tasks/merb.thor/utils.rb +0 -42
  177. data/benchmarks/stubs/merb-core/Rakefile +0 -35
  178. data/benchmarks/stubs/merb-core/app/controllers/application.rb +0 -4
  179. data/benchmarks/stubs/merb-core/app/controllers/exceptions.rb +0 -15
  180. data/benchmarks/stubs/merb-core/app/helpers/global_helpers.rb +0 -7
  181. data/benchmarks/stubs/merb-core/app/views/exceptions/not_acceptable.html.erb +0 -63
  182. data/benchmarks/stubs/merb-core/app/views/exceptions/not_found.html.erb +0 -47
  183. data/benchmarks/stubs/merb-core/app/views/layout/application.html.erb +0 -12
  184. data/benchmarks/stubs/merb-core/autotest/discover.rb +0 -1
  185. data/benchmarks/stubs/merb-core/autotest/merb.rb +0 -151
  186. data/benchmarks/stubs/merb-core/autotest/merb_rspec.rb +0 -167
  187. data/benchmarks/stubs/merb-core/config/environments/development.rb +0 -17
  188. data/benchmarks/stubs/merb-core/config/environments/production.rb +0 -12
  189. data/benchmarks/stubs/merb-core/config/environments/rake.rb +0 -13
  190. data/benchmarks/stubs/merb-core/config/environments/staging.rb +0 -12
  191. data/benchmarks/stubs/merb-core/config/environments/test.rb +0 -14
  192. data/benchmarks/stubs/merb-core/config/init.rb +0 -27
  193. data/benchmarks/stubs/merb-core/config/rack.rb +0 -13
  194. data/benchmarks/stubs/merb-core/config/router.rb +0 -43
  195. data/benchmarks/stubs/merb-core/doc/rdoc/generators/merb_generator.rb +0 -1364
  196. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/api_grease.js +0 -640
  197. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/index.html.erb +0 -37
  198. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/merb.css +0 -252
  199. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/merb.rb +0 -353
  200. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/merb_doc_styles.css +0 -492
  201. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/prototype.js +0 -2515
  202. data/benchmarks/stubs/merb-core/public/favicon.ico +0 -0
  203. data/benchmarks/stubs/merb-core/public/images/merb.jpg +0 -0
  204. data/benchmarks/stubs/merb-core/public/javascripts/application.js +0 -1
  205. data/benchmarks/stubs/merb-core/public/merb.fcgi +0 -22
  206. data/benchmarks/stubs/merb-core/public/robots.txt +0 -5
  207. data/benchmarks/stubs/merb-core/public/stylesheets/master.css +0 -119
  208. data/benchmarks/stubs/merb-core/spec/spec.opts +0 -0
  209. data/benchmarks/stubs/merb-core/spec/spec_helper.rb +0 -22
  210. data/benchmarks/stubs/merb-core/tasks/merb.thor/app_script.rb +0 -33
  211. data/benchmarks/stubs/merb-core/tasks/merb.thor/common.rb +0 -70
  212. data/benchmarks/stubs/merb-core/tasks/merb.thor/gem_ext.rb +0 -127
  213. data/benchmarks/stubs/merb-core/tasks/merb.thor/main.thor +0 -152
  214. data/benchmarks/stubs/merb-core/tasks/merb.thor/ops.rb +0 -95
  215. data/benchmarks/stubs/merb-core/tasks/merb.thor/utils.rb +0 -42
  216. data/benchmarks/stubs/merb-flat/README.txt +0 -10
  217. data/benchmarks/stubs/merb-flat/Rakefile +0 -35
  218. data/benchmarks/stubs/merb-flat/application.rb +0 -17
  219. data/benchmarks/stubs/merb-flat/config/framework.rb +0 -9
  220. data/benchmarks/stubs/merb-flat/config/init.rb +0 -42
  221. data/benchmarks/stubs/merb-flat/spec/spec_helper.rb +0 -26
  222. data/benchmarks/stubs/merb-flat/tasks/merb.thor/app_script.rb +0 -33
  223. data/benchmarks/stubs/merb-flat/tasks/merb.thor/common.rb +0 -70
  224. data/benchmarks/stubs/merb-flat/tasks/merb.thor/gem_ext.rb +0 -127
  225. data/benchmarks/stubs/merb-flat/tasks/merb.thor/main.thor +0 -152
  226. data/benchmarks/stubs/merb-flat/tasks/merb.thor/ops.rb +0 -95
  227. data/benchmarks/stubs/merb-flat/tasks/merb.thor/utils.rb +0 -42
  228. data/benchmarks/stubs/merb-flat/views/foo.html.erb +0 -3
  229. data/benchmarks/stubs/merb-very-flat/Rakefile +0 -35
  230. data/benchmarks/stubs/merb-very-flat/merb-very-flat.rb +0 -61
  231. data/benchmarks/stubs/merb-very-flat/spec/spec_helper.rb +0 -26
  232. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/app_script.rb +0 -33
  233. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/common.rb +0 -70
  234. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/gem_ext.rb +0 -127
  235. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/main.thor +0 -152
  236. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/ops.rb +0 -95
  237. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/utils.rb +0 -42
  238. data/benchmarks/stubs/rails/README +0 -243
  239. data/benchmarks/stubs/rails/Rakefile +0 -10
  240. data/benchmarks/stubs/rails/app/controllers/application_controller.rb +0 -12
  241. data/benchmarks/stubs/rails/app/helpers/application_helper.rb +0 -5
  242. data/benchmarks/stubs/rails/config/boot.rb +0 -112
  243. data/benchmarks/stubs/rails/config/database.yml +0 -22
  244. data/benchmarks/stubs/rails/config/environment.rb +0 -43
  245. data/benchmarks/stubs/rails/config/environments/development.rb +0 -19
  246. data/benchmarks/stubs/rails/config/environments/production.rb +0 -30
  247. data/benchmarks/stubs/rails/config/environments/test.rb +0 -30
  248. data/benchmarks/stubs/rails/config/initializers/backtrace_silencers.rb +0 -9
  249. data/benchmarks/stubs/rails/config/initializers/inflections.rb +0 -12
  250. data/benchmarks/stubs/rails/config/initializers/mime_types.rb +0 -7
  251. data/benchmarks/stubs/rails/config/initializers/new_rails_defaults.rb +0 -21
  252. data/benchmarks/stubs/rails/config/initializers/session_store.rb +0 -17
  253. data/benchmarks/stubs/rails/config/locales/en.yml +0 -5
  254. data/benchmarks/stubs/rails/config/routes.rb +0 -45
  255. data/benchmarks/stubs/rails/doc/README_FOR_APP +0 -2
  256. data/benchmarks/stubs/rails/log/development.log +0 -0
  257. data/benchmarks/stubs/rails/log/production.log +0 -0
  258. data/benchmarks/stubs/rails/log/server.log +0 -0
  259. data/benchmarks/stubs/rails/log/test.log +0 -0
  260. data/benchmarks/stubs/rails/public/404.html +0 -30
  261. data/benchmarks/stubs/rails/public/422.html +0 -30
  262. data/benchmarks/stubs/rails/public/500.html +0 -30
  263. data/benchmarks/stubs/rails/public/favicon.ico +0 -0
  264. data/benchmarks/stubs/rails/public/images/rails.png +0 -0
  265. data/benchmarks/stubs/rails/public/index.html +0 -275
  266. data/benchmarks/stubs/rails/public/javascripts/application.js +0 -2
  267. data/benchmarks/stubs/rails/public/javascripts/controls.js +0 -963
  268. data/benchmarks/stubs/rails/public/javascripts/dragdrop.js +0 -973
  269. data/benchmarks/stubs/rails/public/javascripts/effects.js +0 -1128
  270. data/benchmarks/stubs/rails/public/javascripts/prototype.js +0 -4320
  271. data/benchmarks/stubs/rails/public/robots.txt +0 -5
  272. data/benchmarks/stubs/rails/script/about +0 -4
  273. data/benchmarks/stubs/rails/script/console +0 -3
  274. data/benchmarks/stubs/rails/script/dbconsole +0 -3
  275. data/benchmarks/stubs/rails/script/destroy +0 -3
  276. data/benchmarks/stubs/rails/script/generate +0 -3
  277. data/benchmarks/stubs/rails/script/performance/benchmarker +0 -3
  278. data/benchmarks/stubs/rails/script/performance/profiler +0 -3
  279. data/benchmarks/stubs/rails/script/plugin +0 -3
  280. data/benchmarks/stubs/rails/script/runner +0 -3
  281. data/benchmarks/stubs/rails/script/server +0 -3
  282. data/benchmarks/stubs/rails/test/performance/browsing_test.rb +0 -11
  283. data/benchmarks/stubs/rails/test/test_helper.rb +0 -40
  284. data/benchmarks/stubs/ramaze.rb +0 -0
  285. data/benchmarks/stubs/sinatra.rb +0 -11
  286. data/deps.rip +0 -8
  287. data/doc/0.0.3/Array.html +0 -354
  288. data/doc/0.0.3/AttributeMixin.html +0 -697
  289. data/doc/0.0.3/Class.html +0 -102
  290. data/doc/0.0.3/ColoredString.html +0 -476
  291. data/doc/0.0.3/Enumerable.html +0 -256
  292. data/doc/0.0.3/File.html +0 -909
  293. data/doc/0.0.3/Hash.html +0 -1586
  294. data/doc/0.0.3/Kernel.html +0 -956
  295. data/doc/0.0.3/OS.html +0 -740
  296. data/doc/0.0.3/Object.html +0 -466
  297. data/doc/0.0.3/ObjectSpace.html +0 -184
  298. data/doc/0.0.3/Path.html +0 -2499
  299. data/doc/0.0.3/Range.html +0 -190
  300. data/doc/0.0.3/Rango.html +0 -379
  301. data/doc/0.0.3/Rango/ApplicationMixin.html +0 -396
  302. data/doc/0.0.3/Rango/Bundling.html +0 -23
  303. data/doc/0.0.3/Rango/Bundling/RequireStrategy.html +0 -283
  304. data/doc/0.0.3/Rango/Bundling/Strategy.html +0 -703
  305. data/doc/0.0.3/Rango/CLI.html +0 -23
  306. data/doc/0.0.3/Rango/CLI/Generator.html +0 -762
  307. data/doc/0.0.3/Rango/CLI/Templater.html +0 -258
  308. data/doc/0.0.3/Rango/CallableStrategy.html +0 -300
  309. data/doc/0.0.3/Rango/Chainable.html +0 -181
  310. data/doc/0.0.3/Rango/Configurable.html +0 -199
  311. data/doc/0.0.3/Rango/Controller.html +0 -962
  312. data/doc/0.0.3/Rango/ControllerMixin.html +0 -860
  313. data/doc/0.0.3/Rango/ControllerStrategy.html +0 -264
  314. data/doc/0.0.3/Rango/DependencyStrategy.html +0 -116
  315. data/doc/0.0.3/Rango/Dispatcher.html +0 -305
  316. data/doc/0.0.3/Rango/Form.html +0 -162
  317. data/doc/0.0.3/Rango/GemDependencyStrategy.html +0 -210
  318. data/doc/0.0.3/Rango/Generator.html +0 -93
  319. data/doc/0.0.3/Rango/GenericViews.html +0 -128
  320. data/doc/0.0.3/Rango/GitDependencyStrategy.html +0 -224
  321. data/doc/0.0.3/Rango/GithubDependencyStrategy.html +0 -118
  322. data/doc/0.0.3/Rango/Handler.html +0 -474
  323. data/doc/0.0.3/Rango/Helpers.html +0 -1335
  324. data/doc/0.0.3/Rango/Hookable.html +0 -202
  325. data/doc/0.0.3/Rango/ImportMixin.html +0 -755
  326. data/doc/0.0.3/Rango/Logger.html +0 -920
  327. data/doc/0.0.3/Rango/Mini.html +0 -117
  328. data/doc/0.0.3/Rango/ModelForm.html +0 -42
  329. data/doc/0.0.3/Rango/Project.html +0 -516
  330. data/doc/0.0.3/Rango/RenderMixin.html +0 -23
  331. data/doc/0.0.3/Rango/Request.html +0 -1177
  332. data/doc/0.0.3/Rango/Route.html +0 -751
  333. data/doc/0.0.3/Rango/Router.html +0 -42
  334. data/doc/0.0.3/Rango/Router/Dispatcher.html +0 -311
  335. data/doc/0.0.3/Rango/RouterStrategy.html +0 -258
  336. data/doc/0.0.3/Rango/Session.html +0 -23
  337. data/doc/0.0.3/Rango/Settings.html +0 -23
  338. data/doc/0.0.3/Rango/Settings/Erubis.html +0 -23
  339. data/doc/0.0.3/Rango/Settings/Framework.html +0 -254
  340. data/doc/0.0.3/Rango/Settings/Haml.html +0 -23
  341. data/doc/0.0.3/Rango/Settings/Template.html +0 -23
  342. data/doc/0.0.3/Rango/SimpleTemplate.html +0 -187
  343. data/doc/0.0.3/Rango/StrategyMixin.html +0 -261
  344. data/doc/0.0.3/Rango/Tasks.html +0 -219
  345. data/doc/0.0.3/Rango/Template.html +0 -95
  346. data/doc/0.0.3/Rango/Template/Adapter.html +0 -90
  347. data/doc/0.0.3/Rango/Templates.html +0 -116
  348. data/doc/0.0.3/Rango/Templates/Adapter.html +0 -128
  349. data/doc/0.0.3/Rango/Templates/Template.html +0 -636
  350. data/doc/0.0.3/Rango/Templates/TemplateHelpers.html +0 -328
  351. data/doc/0.0.3/RangoThor.html +0 -205
  352. data/doc/0.0.3/String.html +0 -307
  353. data/doc/0.0.3/Time.html +0 -193
  354. data/doc/0.0.3/TimeDSL.html +0 -601
  355. data/doc/0.0.3/all-methods.html +0 -1908
  356. data/doc/0.0.3/all-namespaces.html +0 -114
  357. data/doc/0.0.3/app.js +0 -18
  358. data/doc/0.0.3/head/Array.html +0 -354
  359. data/doc/0.0.3/head/AttributeMixin.html +0 -697
  360. data/doc/0.0.3/head/Class.html +0 -102
  361. data/doc/0.0.3/head/ColoredString.html +0 -476
  362. data/doc/0.0.3/head/Enumerable.html +0 -256
  363. data/doc/0.0.3/head/File.html +0 -909
  364. data/doc/0.0.3/head/Hash.html +0 -1586
  365. data/doc/0.0.3/head/Kernel.html +0 -956
  366. data/doc/0.0.3/head/OS.html +0 -740
  367. data/doc/0.0.3/head/Object.html +0 -466
  368. data/doc/0.0.3/head/ObjectSpace.html +0 -184
  369. data/doc/0.0.3/head/Path.html +0 -2499
  370. data/doc/0.0.3/head/Range.html +0 -190
  371. data/doc/0.0.3/head/Rango.html +0 -379
  372. data/doc/0.0.3/head/Rango/ApplicationMixin.html +0 -396
  373. data/doc/0.0.3/head/Rango/Bundling.html +0 -23
  374. data/doc/0.0.3/head/Rango/Bundling/RequireStrategy.html +0 -283
  375. data/doc/0.0.3/head/Rango/Bundling/Strategy.html +0 -703
  376. data/doc/0.0.3/head/Rango/CLI.html +0 -23
  377. data/doc/0.0.3/head/Rango/CLI/Generator.html +0 -762
  378. data/doc/0.0.3/head/Rango/CLI/Templater.html +0 -258
  379. data/doc/0.0.3/head/Rango/CallableStrategy.html +0 -300
  380. data/doc/0.0.3/head/Rango/Chainable.html +0 -181
  381. data/doc/0.0.3/head/Rango/Configurable.html +0 -199
  382. data/doc/0.0.3/head/Rango/Controller.html +0 -962
  383. data/doc/0.0.3/head/Rango/ControllerMixin.html +0 -860
  384. data/doc/0.0.3/head/Rango/ControllerStrategy.html +0 -264
  385. data/doc/0.0.3/head/Rango/DependencyStrategy.html +0 -116
  386. data/doc/0.0.3/head/Rango/Dispatcher.html +0 -305
  387. data/doc/0.0.3/head/Rango/Form.html +0 -162
  388. data/doc/0.0.3/head/Rango/GemDependencyStrategy.html +0 -210
  389. data/doc/0.0.3/head/Rango/Generator.html +0 -93
  390. data/doc/0.0.3/head/Rango/GenericViews.html +0 -128
  391. data/doc/0.0.3/head/Rango/GitDependencyStrategy.html +0 -224
  392. data/doc/0.0.3/head/Rango/GithubDependencyStrategy.html +0 -118
  393. data/doc/0.0.3/head/Rango/Handler.html +0 -474
  394. data/doc/0.0.3/head/Rango/Helpers.html +0 -1335
  395. data/doc/0.0.3/head/Rango/Hookable.html +0 -202
  396. data/doc/0.0.3/head/Rango/ImportMixin.html +0 -755
  397. data/doc/0.0.3/head/Rango/Logger.html +0 -920
  398. data/doc/0.0.3/head/Rango/Mini.html +0 -117
  399. data/doc/0.0.3/head/Rango/ModelForm.html +0 -42
  400. data/doc/0.0.3/head/Rango/Project.html +0 -516
  401. data/doc/0.0.3/head/Rango/RenderMixin.html +0 -23
  402. data/doc/0.0.3/head/Rango/Request.html +0 -1177
  403. data/doc/0.0.3/head/Rango/Route.html +0 -751
  404. data/doc/0.0.3/head/Rango/Router.html +0 -42
  405. data/doc/0.0.3/head/Rango/Router/Dispatcher.html +0 -311
  406. data/doc/0.0.3/head/Rango/RouterStrategy.html +0 -258
  407. data/doc/0.0.3/head/Rango/Session.html +0 -23
  408. data/doc/0.0.3/head/Rango/Settings.html +0 -23
  409. data/doc/0.0.3/head/Rango/Settings/Erubis.html +0 -23
  410. data/doc/0.0.3/head/Rango/Settings/Framework.html +0 -254
  411. data/doc/0.0.3/head/Rango/Settings/Haml.html +0 -23
  412. data/doc/0.0.3/head/Rango/Settings/Template.html +0 -23
  413. data/doc/0.0.3/head/Rango/SimpleTemplate.html +0 -187
  414. data/doc/0.0.3/head/Rango/StrategyMixin.html +0 -261
  415. data/doc/0.0.3/head/Rango/Tasks.html +0 -219
  416. data/doc/0.0.3/head/Rango/Template.html +0 -95
  417. data/doc/0.0.3/head/Rango/Template/Adapter.html +0 -90
  418. data/doc/0.0.3/head/Rango/Templates.html +0 -116
  419. data/doc/0.0.3/head/Rango/Templates/Adapter.html +0 -128
  420. data/doc/0.0.3/head/Rango/Templates/Template.html +0 -636
  421. data/doc/0.0.3/head/Rango/Templates/TemplateHelpers.html +0 -328
  422. data/doc/0.0.3/head/RangoThor.html +0 -205
  423. data/doc/0.0.3/head/String.html +0 -307
  424. data/doc/0.0.3/head/Time.html +0 -193
  425. data/doc/0.0.3/head/TimeDSL.html +0 -601
  426. data/doc/0.0.3/head/all-methods.html +0 -1908
  427. data/doc/0.0.3/head/all-namespaces.html +0 -114
  428. data/doc/0.0.3/head/app.js +0 -18
  429. data/doc/0.0.3/head/index.html +0 -18
  430. data/doc/0.0.3/head/jquery.js +0 -11
  431. data/doc/0.0.3/head/readme.html +0 -36
  432. data/doc/0.0.3/head/style.css +0 -68
  433. data/doc/0.0.3/head/syntax_highlight.css +0 -21
  434. data/doc/0.0.3/index.html +0 -18
  435. data/doc/0.0.3/jquery.js +0 -11
  436. data/doc/0.0.3/readme.html +0 -36
  437. data/doc/0.0.3/style.css +0 -68
  438. data/doc/0.0.3/syntax_highlight.css +0 -21
  439. data/doc/0.0.4/Array.html +0 -354
  440. data/doc/0.0.4/AttributeMixin.html +0 -697
  441. data/doc/0.0.4/Class.html +0 -102
  442. data/doc/0.0.4/ColoredString.html +0 -476
  443. data/doc/0.0.4/Enumerable.html +0 -256
  444. data/doc/0.0.4/File.html +0 -909
  445. data/doc/0.0.4/Hash.html +0 -1586
  446. data/doc/0.0.4/Kernel.html +0 -956
  447. data/doc/0.0.4/OS.html +0 -740
  448. data/doc/0.0.4/Object.html +0 -466
  449. data/doc/0.0.4/ObjectSpace.html +0 -184
  450. data/doc/0.0.4/Path.html +0 -2499
  451. data/doc/0.0.4/Range.html +0 -190
  452. data/doc/0.0.4/Rango.html +0 -379
  453. data/doc/0.0.4/Rango/ApplicationMixin.html +0 -396
  454. data/doc/0.0.4/Rango/Bundling.html +0 -23
  455. data/doc/0.0.4/Rango/Bundling/RequireStrategy.html +0 -283
  456. data/doc/0.0.4/Rango/Bundling/Strategy.html +0 -703
  457. data/doc/0.0.4/Rango/CLI.html +0 -23
  458. data/doc/0.0.4/Rango/CLI/Generator.html +0 -762
  459. data/doc/0.0.4/Rango/CLI/Templater.html +0 -258
  460. data/doc/0.0.4/Rango/CallableStrategy.html +0 -300
  461. data/doc/0.0.4/Rango/Chainable.html +0 -181
  462. data/doc/0.0.4/Rango/Configurable.html +0 -199
  463. data/doc/0.0.4/Rango/Controller.html +0 -962
  464. data/doc/0.0.4/Rango/ControllerMixin.html +0 -860
  465. data/doc/0.0.4/Rango/ControllerStrategy.html +0 -264
  466. data/doc/0.0.4/Rango/DependencyStrategy.html +0 -116
  467. data/doc/0.0.4/Rango/Dispatcher.html +0 -305
  468. data/doc/0.0.4/Rango/Form.html +0 -162
  469. data/doc/0.0.4/Rango/GemDependencyStrategy.html +0 -210
  470. data/doc/0.0.4/Rango/Generator.html +0 -93
  471. data/doc/0.0.4/Rango/GenericViews.html +0 -128
  472. data/doc/0.0.4/Rango/GitDependencyStrategy.html +0 -224
  473. data/doc/0.0.4/Rango/GithubDependencyStrategy.html +0 -118
  474. data/doc/0.0.4/Rango/Handler.html +0 -474
  475. data/doc/0.0.4/Rango/Helpers.html +0 -1335
  476. data/doc/0.0.4/Rango/Hookable.html +0 -202
  477. data/doc/0.0.4/Rango/ImportMixin.html +0 -755
  478. data/doc/0.0.4/Rango/Logger.html +0 -920
  479. data/doc/0.0.4/Rango/Mini.html +0 -117
  480. data/doc/0.0.4/Rango/ModelForm.html +0 -42
  481. data/doc/0.0.4/Rango/Project.html +0 -516
  482. data/doc/0.0.4/Rango/RenderMixin.html +0 -23
  483. data/doc/0.0.4/Rango/Request.html +0 -1177
  484. data/doc/0.0.4/Rango/Route.html +0 -751
  485. data/doc/0.0.4/Rango/Router.html +0 -42
  486. data/doc/0.0.4/Rango/Router/Dispatcher.html +0 -311
  487. data/doc/0.0.4/Rango/RouterStrategy.html +0 -258
  488. data/doc/0.0.4/Rango/Session.html +0 -23
  489. data/doc/0.0.4/Rango/Settings.html +0 -23
  490. data/doc/0.0.4/Rango/Settings/Erubis.html +0 -23
  491. data/doc/0.0.4/Rango/Settings/Framework.html +0 -254
  492. data/doc/0.0.4/Rango/Settings/Haml.html +0 -23
  493. data/doc/0.0.4/Rango/Settings/Template.html +0 -23
  494. data/doc/0.0.4/Rango/SimpleTemplate.html +0 -187
  495. data/doc/0.0.4/Rango/StrategyMixin.html +0 -261
  496. data/doc/0.0.4/Rango/Tasks.html +0 -219
  497. data/doc/0.0.4/Rango/Template.html +0 -95
  498. data/doc/0.0.4/Rango/Template/Adapter.html +0 -90
  499. data/doc/0.0.4/Rango/Templates.html +0 -116
  500. data/doc/0.0.4/Rango/Templates/Adapter.html +0 -128
  501. data/doc/0.0.4/Rango/Templates/Template.html +0 -636
  502. data/doc/0.0.4/Rango/Templates/TemplateHelpers.html +0 -328
  503. data/doc/0.0.4/RangoThor.html +0 -205
  504. data/doc/0.0.4/String.html +0 -307
  505. data/doc/0.0.4/Time.html +0 -193
  506. data/doc/0.0.4/TimeDSL.html +0 -601
  507. data/doc/0.0.4/all-methods.html +0 -1908
  508. data/doc/0.0.4/all-namespaces.html +0 -114
  509. data/doc/0.0.4/app.js +0 -18
  510. data/doc/0.0.4/head/Array.html +0 -354
  511. data/doc/0.0.4/head/AttributeMixin.html +0 -697
  512. data/doc/0.0.4/head/Class.html +0 -102
  513. data/doc/0.0.4/head/ColoredString.html +0 -476
  514. data/doc/0.0.4/head/Enumerable.html +0 -256
  515. data/doc/0.0.4/head/File.html +0 -909
  516. data/doc/0.0.4/head/Hash.html +0 -1586
  517. data/doc/0.0.4/head/Kernel.html +0 -956
  518. data/doc/0.0.4/head/OS.html +0 -740
  519. data/doc/0.0.4/head/Object.html +0 -466
  520. data/doc/0.0.4/head/ObjectSpace.html +0 -184
  521. data/doc/0.0.4/head/Path.html +0 -2499
  522. data/doc/0.0.4/head/Range.html +0 -190
  523. data/doc/0.0.4/head/Rango.html +0 -379
  524. data/doc/0.0.4/head/Rango/ApplicationMixin.html +0 -396
  525. data/doc/0.0.4/head/Rango/Bundling.html +0 -23
  526. data/doc/0.0.4/head/Rango/Bundling/RequireStrategy.html +0 -283
  527. data/doc/0.0.4/head/Rango/Bundling/Strategy.html +0 -703
  528. data/doc/0.0.4/head/Rango/CLI.html +0 -23
  529. data/doc/0.0.4/head/Rango/CLI/Generator.html +0 -762
  530. data/doc/0.0.4/head/Rango/CLI/Templater.html +0 -258
  531. data/doc/0.0.4/head/Rango/CallableStrategy.html +0 -300
  532. data/doc/0.0.4/head/Rango/Chainable.html +0 -181
  533. data/doc/0.0.4/head/Rango/Configurable.html +0 -199
  534. data/doc/0.0.4/head/Rango/Controller.html +0 -962
  535. data/doc/0.0.4/head/Rango/ControllerMixin.html +0 -860
  536. data/doc/0.0.4/head/Rango/ControllerStrategy.html +0 -264
  537. data/doc/0.0.4/head/Rango/DependencyStrategy.html +0 -116
  538. data/doc/0.0.4/head/Rango/Dispatcher.html +0 -305
  539. data/doc/0.0.4/head/Rango/Form.html +0 -162
  540. data/doc/0.0.4/head/Rango/GemDependencyStrategy.html +0 -210
  541. data/doc/0.0.4/head/Rango/Generator.html +0 -93
  542. data/doc/0.0.4/head/Rango/GenericViews.html +0 -128
  543. data/doc/0.0.4/head/Rango/GitDependencyStrategy.html +0 -224
  544. data/doc/0.0.4/head/Rango/GithubDependencyStrategy.html +0 -118
  545. data/doc/0.0.4/head/Rango/Handler.html +0 -474
  546. data/doc/0.0.4/head/Rango/Helpers.html +0 -1335
  547. data/doc/0.0.4/head/Rango/Hookable.html +0 -202
  548. data/doc/0.0.4/head/Rango/ImportMixin.html +0 -755
  549. data/doc/0.0.4/head/Rango/Logger.html +0 -920
  550. data/doc/0.0.4/head/Rango/Mini.html +0 -117
  551. data/doc/0.0.4/head/Rango/ModelForm.html +0 -42
  552. data/doc/0.0.4/head/Rango/Project.html +0 -516
  553. data/doc/0.0.4/head/Rango/RenderMixin.html +0 -23
  554. data/doc/0.0.4/head/Rango/Request.html +0 -1177
  555. data/doc/0.0.4/head/Rango/Route.html +0 -751
  556. data/doc/0.0.4/head/Rango/Router.html +0 -42
  557. data/doc/0.0.4/head/Rango/Router/Dispatcher.html +0 -311
  558. data/doc/0.0.4/head/Rango/RouterStrategy.html +0 -258
  559. data/doc/0.0.4/head/Rango/Session.html +0 -23
  560. data/doc/0.0.4/head/Rango/Settings.html +0 -23
  561. data/doc/0.0.4/head/Rango/Settings/Erubis.html +0 -23
  562. data/doc/0.0.4/head/Rango/Settings/Framework.html +0 -254
  563. data/doc/0.0.4/head/Rango/Settings/Haml.html +0 -23
  564. data/doc/0.0.4/head/Rango/Settings/Template.html +0 -23
  565. data/doc/0.0.4/head/Rango/SimpleTemplate.html +0 -187
  566. data/doc/0.0.4/head/Rango/StrategyMixin.html +0 -261
  567. data/doc/0.0.4/head/Rango/Tasks.html +0 -219
  568. data/doc/0.0.4/head/Rango/Template.html +0 -95
  569. data/doc/0.0.4/head/Rango/Template/Adapter.html +0 -90
  570. data/doc/0.0.4/head/Rango/Templates.html +0 -116
  571. data/doc/0.0.4/head/Rango/Templates/Adapter.html +0 -128
  572. data/doc/0.0.4/head/Rango/Templates/Template.html +0 -636
  573. data/doc/0.0.4/head/Rango/Templates/TemplateHelpers.html +0 -328
  574. data/doc/0.0.4/head/RangoThor.html +0 -205
  575. data/doc/0.0.4/head/String.html +0 -307
  576. data/doc/0.0.4/head/Time.html +0 -193
  577. data/doc/0.0.4/head/TimeDSL.html +0 -601
  578. data/doc/0.0.4/head/all-methods.html +0 -1908
  579. data/doc/0.0.4/head/all-namespaces.html +0 -114
  580. data/doc/0.0.4/head/app.js +0 -18
  581. data/doc/0.0.4/head/index.html +0 -18
  582. data/doc/0.0.4/head/jquery.js +0 -11
  583. data/doc/0.0.4/head/readme.html +0 -36
  584. data/doc/0.0.4/head/style.css +0 -68
  585. data/doc/0.0.4/head/syntax_highlight.css +0 -21
  586. data/doc/0.0.4/index.html +0 -18
  587. data/doc/0.0.4/jquery.js +0 -11
  588. data/doc/0.0.4/readme.html +0 -36
  589. data/doc/0.0.4/style.css +0 -68
  590. data/doc/0.0.4/syntax_highlight.css +0 -21
  591. data/doc/0.0.5/Array.html +0 -354
  592. data/doc/0.0.5/AttributeMixin.html +0 -697
  593. data/doc/0.0.5/Class.html +0 -102
  594. data/doc/0.0.5/ColoredString.html +0 -476
  595. data/doc/0.0.5/Enumerable.html +0 -256
  596. data/doc/0.0.5/File.html +0 -909
  597. data/doc/0.0.5/Hash.html +0 -1586
  598. data/doc/0.0.5/Kernel.html +0 -956
  599. data/doc/0.0.5/OS.html +0 -740
  600. data/doc/0.0.5/Object.html +0 -466
  601. data/doc/0.0.5/ObjectSpace.html +0 -184
  602. data/doc/0.0.5/Path.html +0 -2499
  603. data/doc/0.0.5/Range.html +0 -190
  604. data/doc/0.0.5/Rango.html +0 -379
  605. data/doc/0.0.5/Rango/ApplicationMixin.html +0 -396
  606. data/doc/0.0.5/Rango/Bundling.html +0 -23
  607. data/doc/0.0.5/Rango/Bundling/RequireStrategy.html +0 -283
  608. data/doc/0.0.5/Rango/Bundling/Strategy.html +0 -703
  609. data/doc/0.0.5/Rango/CLI.html +0 -23
  610. data/doc/0.0.5/Rango/CLI/Generator.html +0 -762
  611. data/doc/0.0.5/Rango/CLI/Templater.html +0 -258
  612. data/doc/0.0.5/Rango/CallableStrategy.html +0 -300
  613. data/doc/0.0.5/Rango/Chainable.html +0 -181
  614. data/doc/0.0.5/Rango/Configurable.html +0 -199
  615. data/doc/0.0.5/Rango/Controller.html +0 -962
  616. data/doc/0.0.5/Rango/ControllerMixin.html +0 -860
  617. data/doc/0.0.5/Rango/ControllerStrategy.html +0 -264
  618. data/doc/0.0.5/Rango/DependencyStrategy.html +0 -116
  619. data/doc/0.0.5/Rango/Dispatcher.html +0 -305
  620. data/doc/0.0.5/Rango/Form.html +0 -162
  621. data/doc/0.0.5/Rango/GemDependencyStrategy.html +0 -210
  622. data/doc/0.0.5/Rango/Generator.html +0 -93
  623. data/doc/0.0.5/Rango/GenericViews.html +0 -128
  624. data/doc/0.0.5/Rango/GitDependencyStrategy.html +0 -224
  625. data/doc/0.0.5/Rango/GithubDependencyStrategy.html +0 -118
  626. data/doc/0.0.5/Rango/Handler.html +0 -474
  627. data/doc/0.0.5/Rango/Helpers.html +0 -1335
  628. data/doc/0.0.5/Rango/Hookable.html +0 -202
  629. data/doc/0.0.5/Rango/ImportMixin.html +0 -755
  630. data/doc/0.0.5/Rango/Logger.html +0 -920
  631. data/doc/0.0.5/Rango/Mini.html +0 -117
  632. data/doc/0.0.5/Rango/ModelForm.html +0 -42
  633. data/doc/0.0.5/Rango/Project.html +0 -516
  634. data/doc/0.0.5/Rango/RenderMixin.html +0 -23
  635. data/doc/0.0.5/Rango/Request.html +0 -1177
  636. data/doc/0.0.5/Rango/Route.html +0 -751
  637. data/doc/0.0.5/Rango/Router.html +0 -42
  638. data/doc/0.0.5/Rango/Router/Dispatcher.html +0 -311
  639. data/doc/0.0.5/Rango/RouterStrategy.html +0 -258
  640. data/doc/0.0.5/Rango/Session.html +0 -23
  641. data/doc/0.0.5/Rango/Settings.html +0 -23
  642. data/doc/0.0.5/Rango/Settings/Erubis.html +0 -23
  643. data/doc/0.0.5/Rango/Settings/Framework.html +0 -254
  644. data/doc/0.0.5/Rango/Settings/Haml.html +0 -23
  645. data/doc/0.0.5/Rango/Settings/Template.html +0 -23
  646. data/doc/0.0.5/Rango/SimpleTemplate.html +0 -187
  647. data/doc/0.0.5/Rango/StrategyMixin.html +0 -261
  648. data/doc/0.0.5/Rango/Tasks.html +0 -219
  649. data/doc/0.0.5/Rango/Template.html +0 -95
  650. data/doc/0.0.5/Rango/Template/Adapter.html +0 -90
  651. data/doc/0.0.5/Rango/Templates.html +0 -116
  652. data/doc/0.0.5/Rango/Templates/Adapter.html +0 -128
  653. data/doc/0.0.5/Rango/Templates/Template.html +0 -636
  654. data/doc/0.0.5/Rango/Templates/TemplateHelpers.html +0 -328
  655. data/doc/0.0.5/RangoThor.html +0 -205
  656. data/doc/0.0.5/String.html +0 -307
  657. data/doc/0.0.5/Time.html +0 -193
  658. data/doc/0.0.5/TimeDSL.html +0 -601
  659. data/doc/0.0.5/all-methods.html +0 -2092
  660. data/doc/0.0.5/all-namespaces.html +0 -126
  661. data/doc/0.0.5/app.js +0 -18
  662. data/doc/0.0.5/index.html +0 -18
  663. data/doc/0.0.5/jquery.js +0 -11
  664. data/doc/0.0.5/readme.html +0 -36
  665. data/doc/0.0.5/style.css +0 -68
  666. data/doc/0.0.5/syntax_highlight.css +0 -21
  667. data/doc/head/Array.html +0 -354
  668. data/doc/head/AttributeMixin.html +0 -697
  669. data/doc/head/Class.html +0 -102
  670. data/doc/head/ColoredString.html +0 -476
  671. data/doc/head/Enumerable.html +0 -256
  672. data/doc/head/File.html +0 -909
  673. data/doc/head/Hash.html +0 -1586
  674. data/doc/head/Kernel.html +0 -956
  675. data/doc/head/OS.html +0 -740
  676. data/doc/head/Object.html +0 -466
  677. data/doc/head/ObjectSpace.html +0 -184
  678. data/doc/head/Path.html +0 -2499
  679. data/doc/head/Range.html +0 -190
  680. data/doc/head/Rango.html +0 -379
  681. data/doc/head/Rango/ApplicationMixin.html +0 -396
  682. data/doc/head/Rango/Bundling.html +0 -23
  683. data/doc/head/Rango/Bundling/RequireStrategy.html +0 -283
  684. data/doc/head/Rango/Bundling/Strategy.html +0 -703
  685. data/doc/head/Rango/CLI.html +0 -23
  686. data/doc/head/Rango/CLI/Generator.html +0 -762
  687. data/doc/head/Rango/CLI/Templater.html +0 -258
  688. data/doc/head/Rango/CallableStrategy.html +0 -300
  689. data/doc/head/Rango/Chainable.html +0 -181
  690. data/doc/head/Rango/Configurable.html +0 -199
  691. data/doc/head/Rango/Controller.html +0 -962
  692. data/doc/head/Rango/ControllerMixin.html +0 -860
  693. data/doc/head/Rango/ControllerStrategy.html +0 -264
  694. data/doc/head/Rango/DependencyStrategy.html +0 -116
  695. data/doc/head/Rango/Dispatcher.html +0 -305
  696. data/doc/head/Rango/Form.html +0 -162
  697. data/doc/head/Rango/GemDependencyStrategy.html +0 -210
  698. data/doc/head/Rango/Generator.html +0 -93
  699. data/doc/head/Rango/GenericViews.html +0 -128
  700. data/doc/head/Rango/GitDependencyStrategy.html +0 -224
  701. data/doc/head/Rango/GithubDependencyStrategy.html +0 -118
  702. data/doc/head/Rango/Handler.html +0 -474
  703. data/doc/head/Rango/Helpers.html +0 -1335
  704. data/doc/head/Rango/Hookable.html +0 -202
  705. data/doc/head/Rango/ImportMixin.html +0 -755
  706. data/doc/head/Rango/Logger.html +0 -920
  707. data/doc/head/Rango/Mini.html +0 -117
  708. data/doc/head/Rango/ModelForm.html +0 -42
  709. data/doc/head/Rango/Project.html +0 -516
  710. data/doc/head/Rango/RenderMixin.html +0 -23
  711. data/doc/head/Rango/Request.html +0 -1177
  712. data/doc/head/Rango/Route.html +0 -751
  713. data/doc/head/Rango/Router.html +0 -42
  714. data/doc/head/Rango/Router/Dispatcher.html +0 -311
  715. data/doc/head/Rango/RouterStrategy.html +0 -258
  716. data/doc/head/Rango/Session.html +0 -23
  717. data/doc/head/Rango/Settings.html +0 -23
  718. data/doc/head/Rango/Settings/Erubis.html +0 -23
  719. data/doc/head/Rango/Settings/Framework.html +0 -254
  720. data/doc/head/Rango/Settings/Haml.html +0 -23
  721. data/doc/head/Rango/Settings/Template.html +0 -23
  722. data/doc/head/Rango/SimpleTemplate.html +0 -187
  723. data/doc/head/Rango/StrategyMixin.html +0 -261
  724. data/doc/head/Rango/Tasks.html +0 -219
  725. data/doc/head/Rango/Template.html +0 -95
  726. data/doc/head/Rango/Template/Adapter.html +0 -90
  727. data/doc/head/Rango/Templates.html +0 -116
  728. data/doc/head/Rango/Templates/Adapter.html +0 -128
  729. data/doc/head/Rango/Templates/Template.html +0 -636
  730. data/doc/head/Rango/Templates/TemplateHelpers.html +0 -328
  731. data/doc/head/RangoThor.html +0 -205
  732. data/doc/head/String.html +0 -307
  733. data/doc/head/Time.html +0 -193
  734. data/doc/head/TimeDSL.html +0 -601
  735. data/doc/head/all-methods.html +0 -2092
  736. data/doc/head/all-namespaces.html +0 -126
  737. data/doc/head/app.js +0 -18
  738. data/doc/head/index.html +0 -18
  739. data/doc/head/jquery.js +0 -11
  740. data/doc/head/readme.html +0 -36
  741. data/doc/head/style.css +0 -68
  742. data/doc/head/syntax_highlight.css +0 -21
  743. data/doc/versions/0.0.1/Rango.html +0 -1025
  744. data/doc/versions/0.0.1/Rango/CallableStrategy.html +0 -166
  745. data/doc/versions/0.0.1/Rango/ControllerStrategy.html +0 -180
  746. data/doc/versions/0.0.1/Rango/Route.html +0 -340
  747. data/doc/versions/0.0.1/Rango/Router.html +0 -502
  748. data/doc/versions/0.0.1/Rango/RouterStrategy.html +0 -94
  749. data/doc/versions/0.0.1/Rango/Template.html +0 -28
  750. data/doc/versions/0.0.1/Rango/Template/Adapter.html +0 -90
  751. data/doc/versions/0.0.1/all-methods.html +0 -228
  752. data/doc/versions/0.0.1/all-namespaces.html +0 -36
  753. data/doc/versions/0.0.1/app.js +0 -18
  754. data/doc/versions/0.0.1/index.html +0 -18
  755. data/doc/versions/0.0.1/jquery.js +0 -11
  756. data/doc/versions/0.0.1/readme.html +0 -137
  757. data/doc/versions/0.0.1/style.css +0 -68
  758. data/doc/versions/0.0.1/syntax_highlight.css +0 -21
  759. data/examples/TODO +0 -0
  760. data/examples/flat/basic.ru +0 -31
  761. data/examples/flat/generic_views.ru +0 -16
  762. data/examples/flat/info.ru +0 -18
  763. data/examples/flat/simple_controller.ru +0 -1
  764. data/examples/flat/templates/about/author.html.haml +0 -1
  765. data/examples/flat/templates/about/contact.html.haml +0 -0
  766. data/examples/flat/templates/base.html.haml +0 -0
  767. data/examples/flat/templates/info.html.haml +0 -25
  768. data/examples/twitter/Thorfile +0 -12
  769. data/examples/twitter/config.ru +0 -48
  770. data/examples/twitter/development.db +0 -0
  771. data/examples/twitter/factories.rb +0 -19
  772. data/examples/twitter/init.rb +0 -15
  773. data/examples/twitter/media/hello-static.txt +0 -0
  774. data/examples/twitter/models.rb +0 -13
  775. data/examples/twitter/run.rb +0 -8
  776. data/examples/twitter/settings.rb +0 -5
  777. data/examples/twitter/templates/base.html.haml +0 -9
  778. data/examples/twitter/templates/index.html.haml +0 -4
  779. data/examples/twitter/templates/show.html.haml +0 -4
  780. data/examples/twitter/templates/timeline.html.haml +0 -10
  781. data/examples/twitter/views.rb +0 -40
  782. data/lib/rango/orm/tasks/datamapper.thor +0 -41
  783. data/lib/rango/orm/tasks/sequel.thor +0 -0
  784. data/rango-0.0.6.pre.gem +0 -0
  785. data/rango.gemspec +0 -48
  786. data/rango.pre.gemspec +0 -48
  787. data/runcoderun.sh +0 -19
  788. data/script/erubis +0 -11
  789. data/script/rackup +0 -2
  790. data/script/rake2thor +0 -86
  791. data/script/spec +0 -12
  792. data/script/thor +0 -12
  793. data/stubs/project/content/Rakefile +0 -9
  794. data/support/Rango.tmbundle/Commands/Documentation for current word.tmCommand +0 -22
  795. data/support/Rango.tmbundle/Commands/Got to import.tmCommand +0 -23
  796. data/support/Rango.tmbundle/Commands/Rango console.tmCommand +0 -22
  797. data/support/Rango.tmbundle/Commands/Rango server.tmCommand +0 -22
  798. data/support/Rango.tmbundle/Commands/Read documentation.tmCommand +0 -22
  799. data/support/Rango.tmbundle/Snippets/Method with yardoc.tmSnippet +0 -20
  800. data/support/Rango.tmbundle/Snippets/Project_configure.tmSnippet +0 -18
  801. data/support/Rango.tmbundle/Snippets/Project_import.tmSnippet +0 -16
  802. data/support/Rango.tmbundle/Snippets/Project_logger_debug.tmSnippet +0 -16
  803. data/support/Rango.tmbundle/Snippets/Project_logger_error.tmSnippet +0 -16
  804. data/support/Rango.tmbundle/Snippets/Project_logger_fatal.tmSnippet +0 -16
  805. data/support/Rango.tmbundle/Snippets/Project_logger_inspect.tmSnippet +0 -16
  806. data/support/Rango.tmbundle/Snippets/Project_logger_warn.tmSnippet +0 -16
  807. data/support/Rango.tmbundle/Snippets/Rango_dependency.tmSnippet +0 -16
  808. data/support/Rango.tmbundle/Snippets/Rango_import.tmSnippet +0 -16
  809. data/support/Rango.tmbundle/Snippets/Rango_logger_debug.tmSnippet +0 -16
  810. data/support/Rango.tmbundle/Snippets/Rango_logger_error.tmSnippet +0 -16
  811. data/support/Rango.tmbundle/Snippets/Rango_logger_fatal.tmSnippet +0 -16
  812. data/support/Rango.tmbundle/Snippets/Rango_logger_inspect.tmSnippet +0 -16
  813. data/support/Rango.tmbundle/Snippets/Rango_logger_warn.tmSnippet +0 -16
  814. data/support/Rango.tmbundle/Snippets/controller.tmSnippet +0 -28
  815. data/support/Rango.tmbundle/Snippets/doc.tmSnippet +0 -20
  816. data/support/Rango.tmbundle/Snippets/match.tmSnippet +0 -16
  817. data/support/Rango.tmbundle/Snippets/thor task.tmSnippet +0 -19
  818. data/support/Rango.tmbundle/info.plist +0 -37
  819. data/support/hooks/commit-msg +0 -13
  820. data/support/hooks/post-commit +0 -4
  821. data/support/hooks/pre-commit +0 -4
  822. data/support/hooks/pre-rebase +0 -169
  823. data/support/hooks/prepare-commit-msg +0 -36
  824. data/tasks/benchmark.thor +0 -15
  825. data/tasks/hooks.thor +0 -26
  826. data/tasks/package.thor +0 -31
  827. data/tasks/prerelease.thor +0 -34
  828. data/tasks/release.thor +0 -85
  829. data/tasks/repair.thor +0 -64
  830. data/tasks/spec.thor +0 -41
  831. data/tasks/stats.thor +0 -82
  832. data/tasks/system.thor +0 -158
  833. data/tasks/yardoc.thor +0 -16
  834. data/vendor/abstract/ChangeLog +0 -3
  835. data/vendor/abstract/README.txt +0 -57
  836. data/vendor/abstract/abstract.gemspec +0 -48
  837. data/vendor/abstract/doc/classes/Kernel.html +0 -134
  838. data/vendor/abstract/doc/classes/Kernel.src/M000002.html +0 -24
  839. data/vendor/abstract/doc/classes/Module.html +0 -140
  840. data/vendor/abstract/doc/classes/Module.src/M000001.html +0 -20
  841. data/vendor/abstract/doc/created.rid +0 -1
  842. data/vendor/abstract/doc/files/README_txt.html +0 -173
  843. data/vendor/abstract/doc/files/lib/abstract_rb.html +0 -137
  844. data/vendor/abstract/doc/fr_class_index.html +0 -28
  845. data/vendor/abstract/doc/fr_file_index.html +0 -28
  846. data/vendor/abstract/doc/fr_method_index.html +0 -28
  847. data/vendor/abstract/doc/index.html +0 -24
  848. data/vendor/abstract/doc/rdoc-style.css +0 -208
  849. data/vendor/abstract/lib/abstract.rb +0 -75
  850. data/vendor/abstract/setup.rb +0 -1331
  851. data/vendor/abstract/test/test.rb +0 -91
  852. data/vendor/cli/CHANGELOG +0 -2
  853. data/vendor/cli/LICENSE +0 -20
  854. data/vendor/cli/README.textile +0 -0
  855. data/vendor/cli/Rakefile +0 -61
  856. data/vendor/cli/cli.gemspec +0 -42
  857. data/vendor/cli/deps.rip +0 -5
  858. data/vendor/cli/lib/cli.rb +0 -33
  859. data/vendor/cli/script/spec +0 -12
  860. data/vendor/cli/spec/cli_spec.rb +0 -56
  861. data/vendor/cli/spec/spec_helper.rb +0 -18
  862. data/vendor/erubis/CHANGES.txt +0 -717
  863. data/vendor/erubis/MIT-LICENSE +0 -20
  864. data/vendor/erubis/README.txt +0 -102
  865. data/vendor/erubis/benchmark/Makefile +0 -6
  866. data/vendor/erubis/benchmark/bench.rb +0 -314
  867. data/vendor/erubis/benchmark/bench_context.yaml +0 -141
  868. data/vendor/erubis/benchmark/templates/_footer.html +0 -4
  869. data/vendor/erubis/benchmark/templates/_header.html +0 -52
  870. data/vendor/erubis/benchmark/templates/bench_erb.rhtml +0 -29
  871. data/vendor/erubis/benchmark/templates/bench_erubis.rhtml +0 -29
  872. data/vendor/erubis/benchmark/templates/bench_eruby.rhtml +0 -29
  873. data/vendor/erubis/bin/erubis +0 -11
  874. data/vendor/erubis/contrib/erubis +0 -11
  875. data/vendor/erubis/contrib/erubis-run.rb +0 -132
  876. data/vendor/erubis/contrib/inline-require +0 -153
  877. data/vendor/erubis/doc-api/classes/ActionView.html +0 -105
  878. data/vendor/erubis/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +0 -181
  879. data/vendor/erubis/doc-api/classes/ERB.html +0 -101
  880. data/vendor/erubis/doc-api/classes/Erubis.html +0 -353
  881. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEnhancer.html +0 -175
  882. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEruby.html +0 -120
  883. data/vendor/erubis/doc-api/classes/Erubis/ArrayEnhancer.html +0 -174
  884. data/vendor/erubis/doc-api/classes/Erubis/ArrayEruby.html +0 -120
  885. data/vendor/erubis/doc-api/classes/Erubis/Basic.html +0 -112
  886. data/vendor/erubis/doc-api/classes/Erubis/Basic/Converter.html +0 -327
  887. data/vendor/erubis/doc-api/classes/Erubis/Basic/Engine.html +0 -130
  888. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEnhancer.html +0 -215
  889. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEruby.html +0 -120
  890. data/vendor/erubis/doc-api/classes/Erubis/CGenerator.html +0 -386
  891. data/vendor/erubis/doc-api/classes/Erubis/CommandOptionError.html +0 -113
  892. data/vendor/erubis/doc-api/classes/Erubis/Context.html +0 -344
  893. data/vendor/erubis/doc-api/classes/Erubis/Converter.html +0 -283
  894. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEnhancer.html +0 -150
  895. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEruby.html +0 -120
  896. data/vendor/erubis/doc-api/classes/Erubis/Ec.html +0 -126
  897. data/vendor/erubis/doc-api/classes/Erubis/Ejava.html +0 -126
  898. data/vendor/erubis/doc-api/classes/Erubis/Ejavascript.html +0 -126
  899. data/vendor/erubis/doc-api/classes/Erubis/Engine.html +0 -305
  900. data/vendor/erubis/doc-api/classes/Erubis/Eperl.html +0 -126
  901. data/vendor/erubis/doc-api/classes/Erubis/Ephp.html +0 -126
  902. data/vendor/erubis/doc-api/classes/Erubis/ErboutEnhancer.html +0 -175
  903. data/vendor/erubis/doc-api/classes/Erubis/ErboutEruby.html +0 -120
  904. data/vendor/erubis/doc-api/classes/Erubis/ErubisError.html +0 -117
  905. data/vendor/erubis/doc-api/classes/Erubis/Eruby.html +0 -132
  906. data/vendor/erubis/doc-api/classes/Erubis/EscapeEnhancer.html +0 -165
  907. data/vendor/erubis/doc-api/classes/Erubis/EscapedEc.html +0 -120
  908. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjava.html +0 -120
  909. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjavascript.html +0 -120
  910. data/vendor/erubis/doc-api/classes/Erubis/EscapedEperl.html +0 -120
  911. data/vendor/erubis/doc-api/classes/Erubis/EscapedEphp.html +0 -120
  912. data/vendor/erubis/doc-api/classes/Erubis/EscapedEruby.html +0 -127
  913. data/vendor/erubis/doc-api/classes/Erubis/EscapedEscheme.html +0 -120
  914. data/vendor/erubis/doc-api/classes/Erubis/Escheme.html +0 -126
  915. data/vendor/erubis/doc-api/classes/Erubis/Evaluator.html +0 -212
  916. data/vendor/erubis/doc-api/classes/Erubis/FastEruby.html +0 -131
  917. data/vendor/erubis/doc-api/classes/Erubis/Generator.html +0 -416
  918. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEnhancer.html +0 -267
  919. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEruby.html +0 -120
  920. data/vendor/erubis/doc-api/classes/Erubis/Helpers.html +0 -116
  921. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +0 -787
  922. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper.html +0 -349
  923. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +0 -164
  924. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEnhancer.html +0 -306
  925. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEruby.html +0 -120
  926. data/vendor/erubis/doc-api/classes/Erubis/JavaGenerator.html +0 -359
  927. data/vendor/erubis/doc-api/classes/Erubis/JavascriptGenerator.html +0 -386
  928. data/vendor/erubis/doc-api/classes/Erubis/Main.html +0 -340
  929. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEnhancer.html +0 -249
  930. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEruby.html +0 -120
  931. data/vendor/erubis/doc-api/classes/Erubis/NoTextEnhancer.html +0 -159
  932. data/vendor/erubis/doc-api/classes/Erubis/NoTextEruby.html +0 -120
  933. data/vendor/erubis/doc-api/classes/Erubis/NotSupportedError.html +0 -119
  934. data/vendor/erubis/doc-api/classes/Erubis/OptimizedEruby.html +0 -163
  935. data/vendor/erubis/doc-api/classes/Erubis/OptimizedGenerator.html +0 -439
  936. data/vendor/erubis/doc-api/classes/Erubis/OptimizedXmlEruby.html +0 -163
  937. data/vendor/erubis/doc-api/classes/Erubis/PI.html +0 -124
  938. data/vendor/erubis/doc-api/classes/Erubis/PI/Converter.html +0 -266
  939. data/vendor/erubis/doc-api/classes/Erubis/PI/Ec.html +0 -166
  940. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejava.html +0 -166
  941. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejavascript.html +0 -166
  942. data/vendor/erubis/doc-api/classes/Erubis/PI/Engine.html +0 -122
  943. data/vendor/erubis/doc-api/classes/Erubis/PI/Eperl.html +0 -166
  944. data/vendor/erubis/doc-api/classes/Erubis/PI/Ephp.html +0 -166
  945. data/vendor/erubis/doc-api/classes/Erubis/PI/Eruby.html +0 -155
  946. data/vendor/erubis/doc-api/classes/Erubis/PI/Escheme.html +0 -166
  947. data/vendor/erubis/doc-api/classes/Erubis/PI/TinyEruby.html +0 -293
  948. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEnhancer.html +0 -179
  949. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEruby.html +0 -120
  950. data/vendor/erubis/doc-api/classes/Erubis/PerlGenerator.html +0 -344
  951. data/vendor/erubis/doc-api/classes/Erubis/PhpGenerator.html +0 -350
  952. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingEruby.html +0 -183
  953. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingHelper.html +0 -212
  954. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEnhancer.html +0 -212
  955. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEruby.html +0 -120
  956. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEnhancer.html +0 -244
  957. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEruby.html +0 -120
  958. data/vendor/erubis/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +0 -121
  959. data/vendor/erubis/doc-api/classes/Erubis/RubyEvaluator.html +0 -227
  960. data/vendor/erubis/doc-api/classes/Erubis/RubyGenerator.html +0 -327
  961. data/vendor/erubis/doc-api/classes/Erubis/SchemeGenerator.html +0 -382
  962. data/vendor/erubis/doc-api/classes/Erubis/SimplifiedEruby.html +0 -120
  963. data/vendor/erubis/doc-api/classes/Erubis/SimplifyEnhancer.html +0 -191
  964. data/vendor/erubis/doc-api/classes/Erubis/StdoutEnhancer.html +0 -173
  965. data/vendor/erubis/doc-api/classes/Erubis/StdoutEruby.html +0 -120
  966. data/vendor/erubis/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +0 -121
  967. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEnhancer.html +0 -174
  968. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEruby.html +0 -120
  969. data/vendor/erubis/doc-api/classes/Erubis/StringIOEruby.html +0 -120
  970. data/vendor/erubis/doc-api/classes/Erubis/TinyEruby.html +0 -299
  971. data/vendor/erubis/doc-api/classes/Erubis/XmlEruby.html +0 -130
  972. data/vendor/erubis/doc-api/classes/Erubis/XmlHelper.html +0 -255
  973. data/vendor/erubis/doc-api/created.rid +0 -1
  974. data/vendor/erubis/doc-api/files/README_txt.html +0 -247
  975. data/vendor/erubis/doc-api/files/erubis/context_rb.html +0 -107
  976. data/vendor/erubis/doc-api/files/erubis/converter_rb.html +0 -114
  977. data/vendor/erubis/doc-api/files/erubis/engine/ec_rb.html +0 -115
  978. data/vendor/erubis/doc-api/files/erubis/engine/ejava_rb.html +0 -115
  979. data/vendor/erubis/doc-api/files/erubis/engine/ejavascript_rb.html +0 -115
  980. data/vendor/erubis/doc-api/files/erubis/engine/enhanced_rb.html +0 -115
  981. data/vendor/erubis/doc-api/files/erubis/engine/eperl_rb.html +0 -115
  982. data/vendor/erubis/doc-api/files/erubis/engine/ephp_rb.html +0 -115
  983. data/vendor/erubis/doc-api/files/erubis/engine/eruby_rb.html +0 -115
  984. data/vendor/erubis/doc-api/files/erubis/engine/escheme_rb.html +0 -115
  985. data/vendor/erubis/doc-api/files/erubis/engine/optimized_rb.html +0 -114
  986. data/vendor/erubis/doc-api/files/erubis/engine_rb.html +0 -117
  987. data/vendor/erubis/doc-api/files/erubis/enhancer_rb.html +0 -107
  988. data/vendor/erubis/doc-api/files/erubis/error_rb.html +0 -107
  989. data/vendor/erubis/doc-api/files/erubis/evaluator_rb.html +0 -115
  990. data/vendor/erubis/doc-api/files/erubis/generator_rb.html +0 -114
  991. data/vendor/erubis/doc-api/files/erubis/helper_rb.html +0 -107
  992. data/vendor/erubis/doc-api/files/erubis/helpers/rails_form_helper_rb.html +0 -107
  993. data/vendor/erubis/doc-api/files/erubis/helpers/rails_helper_rb.html +0 -116
  994. data/vendor/erubis/doc-api/files/erubis/local-setting_rb.html +0 -107
  995. data/vendor/erubis/doc-api/files/erubis/main_rb.html +0 -127
  996. data/vendor/erubis/doc-api/files/erubis/preprocessing_rb.html +0 -114
  997. data/vendor/erubis/doc-api/files/erubis/tiny_rb.html +0 -107
  998. data/vendor/erubis/doc-api/files/erubis_rb.html +0 -118
  999. data/vendor/erubis/doc-api/fr_class_index.html +0 -122
  1000. data/vendor/erubis/doc-api/fr_file_index.html +0 -51
  1001. data/vendor/erubis/doc-api/fr_method_index.html +0 -248
  1002. data/vendor/erubis/doc-api/index.html +0 -24
  1003. data/vendor/erubis/doc-api/rdoc-style.css +0 -208
  1004. data/vendor/erubis/doc/docstyle.css +0 -188
  1005. data/vendor/erubis/doc/users-guide.html +0 -3285
  1006. data/vendor/erubis/erubis.gemspec +0 -66
  1007. data/vendor/erubis/examples/basic/Makefile +0 -53
  1008. data/vendor/erubis/examples/basic/example.ec +0 -42
  1009. data/vendor/erubis/examples/basic/example.ejava +0 -45
  1010. data/vendor/erubis/examples/basic/example.ejs +0 -16
  1011. data/vendor/erubis/examples/basic/example.eperl +0 -16
  1012. data/vendor/erubis/examples/basic/example.ephp +0 -17
  1013. data/vendor/erubis/examples/basic/example.eruby +0 -15
  1014. data/vendor/erubis/examples/basic/example.escheme +0 -26
  1015. data/vendor/erubis/examples/pi/Makefile +0 -54
  1016. data/vendor/erubis/examples/pi/example.ec +0 -42
  1017. data/vendor/erubis/examples/pi/example.ejava +0 -45
  1018. data/vendor/erubis/examples/pi/example.ejs +0 -16
  1019. data/vendor/erubis/examples/pi/example.eperl +0 -16
  1020. data/vendor/erubis/examples/pi/example.ephp +0 -17
  1021. data/vendor/erubis/examples/pi/example.eruby +0 -15
  1022. data/vendor/erubis/examples/pi/example.escheme +0 -26
  1023. data/vendor/erubis/lib/erubis.rb +0 -73
  1024. data/vendor/erubis/lib/erubis/context.rb +0 -84
  1025. data/vendor/erubis/lib/erubis/converter.rb +0 -358
  1026. data/vendor/erubis/lib/erubis/engine.rb +0 -121
  1027. data/vendor/erubis/lib/erubis/engine/ec.rb +0 -118
  1028. data/vendor/erubis/lib/erubis/engine/ejava.rb +0 -111
  1029. data/vendor/erubis/lib/erubis/engine/ejavascript.rb +0 -120
  1030. data/vendor/erubis/lib/erubis/engine/enhanced.rb +0 -122
  1031. data/vendor/erubis/lib/erubis/engine/eperl.rb +0 -96
  1032. data/vendor/erubis/lib/erubis/engine/ephp.rb +0 -100
  1033. data/vendor/erubis/lib/erubis/engine/eruby.rb +0 -125
  1034. data/vendor/erubis/lib/erubis/engine/escheme.rb +0 -115
  1035. data/vendor/erubis/lib/erubis/engine/optimized.rb +0 -128
  1036. data/vendor/erubis/lib/erubis/enhancer.rb +0 -681
  1037. data/vendor/erubis/lib/erubis/error.rb +0 -24
  1038. data/vendor/erubis/lib/erubis/evaluator.rb +0 -89
  1039. data/vendor/erubis/lib/erubis/generator.rb +0 -86
  1040. data/vendor/erubis/lib/erubis/helper.rb +0 -48
  1041. data/vendor/erubis/lib/erubis/helpers/rails_form_helper.rb +0 -198
  1042. data/vendor/erubis/lib/erubis/helpers/rails_helper.rb +0 -325
  1043. data/vendor/erubis/lib/erubis/local-setting.rb +0 -10
  1044. data/vendor/erubis/lib/erubis/main.rb +0 -491
  1045. data/vendor/erubis/lib/erubis/preprocessing.rb +0 -59
  1046. data/vendor/erubis/lib/erubis/tiny.rb +0 -146
  1047. data/vendor/erubis/setup.rb +0 -1331
  1048. data/vendor/erubis/test/assert-text-equal.rb +0 -45
  1049. data/vendor/erubis/test/assert-text-equal.rbc +0 -0
  1050. data/vendor/erubis/test/data/users-guide/Example.ejava +0 -55
  1051. data/vendor/erubis/test/data/users-guide/array_example.result +0 -9
  1052. data/vendor/erubis/test/data/users-guide/arraybuffer_example.result +0 -9
  1053. data/vendor/erubis/test/data/users-guide/bipattern-example.rhtml +0 -4
  1054. data/vendor/erubis/test/data/users-guide/bipattern_example.result +0 -6
  1055. data/vendor/erubis/test/data/users-guide/context.rb +0 -6
  1056. data/vendor/erubis/test/data/users-guide/context.yaml +0 -8
  1057. data/vendor/erubis/test/data/users-guide/def_method.rb +0 -14
  1058. data/vendor/erubis/test/data/users-guide/def_method.result +0 -3
  1059. data/vendor/erubis/test/data/users-guide/escape_example.result +0 -9
  1060. data/vendor/erubis/test/data/users-guide/example.ec +0 -27
  1061. data/vendor/erubis/test/data/users-guide/example.ejs +0 -20
  1062. data/vendor/erubis/test/data/users-guide/example.eperl +0 -18
  1063. data/vendor/erubis/test/data/users-guide/example.ephp +0 -18
  1064. data/vendor/erubis/test/data/users-guide/example.eruby +0 -6
  1065. data/vendor/erubis/test/data/users-guide/example.escheme +0 -28
  1066. data/vendor/erubis/test/data/users-guide/example1.eruby +0 -6
  1067. data/vendor/erubis/test/data/users-guide/example1.rb +0 -17
  1068. data/vendor/erubis/test/data/users-guide/example1.result +0 -16
  1069. data/vendor/erubis/test/data/users-guide/example10.rb +0 -4
  1070. data/vendor/erubis/test/data/users-guide/example10.result +0 -17
  1071. data/vendor/erubis/test/data/users-guide/example10.xhtml +0 -14
  1072. data/vendor/erubis/test/data/users-guide/example10_x.result +0 -17
  1073. data/vendor/erubis/test/data/users-guide/example11.php +0 -20
  1074. data/vendor/erubis/test/data/users-guide/example11.result +0 -23
  1075. data/vendor/erubis/test/data/users-guide/example11.rhtml +0 -21
  1076. data/vendor/erubis/test/data/users-guide/example11_C.result +0 -10
  1077. data/vendor/erubis/test/data/users-guide/example11_N.result +0 -16
  1078. data/vendor/erubis/test/data/users-guide/example11_U.result +0 -16
  1079. data/vendor/erubis/test/data/users-guide/example11_php.result +0 -15
  1080. data/vendor/erubis/test/data/users-guide/example1_x.result +0 -9
  1081. data/vendor/erubis/test/data/users-guide/example2.eruby +0 -7
  1082. data/vendor/erubis/test/data/users-guide/example2.rb +0 -10
  1083. data/vendor/erubis/test/data/users-guide/example2.result +0 -27
  1084. data/vendor/erubis/test/data/users-guide/example2_trim.result +0 -10
  1085. data/vendor/erubis/test/data/users-guide/example2_x.result +0 -10
  1086. data/vendor/erubis/test/data/users-guide/example3.eruby +0 -6
  1087. data/vendor/erubis/test/data/users-guide/example3.rb +0 -10
  1088. data/vendor/erubis/test/data/users-guide/example31.result +0 -22
  1089. data/vendor/erubis/test/data/users-guide/example32.result +0 -4
  1090. data/vendor/erubis/test/data/users-guide/example3_e.result +0 -8
  1091. data/vendor/erubis/test/data/users-guide/example4.eruby +0 -3
  1092. data/vendor/erubis/test/data/users-guide/example4.rb +0 -11
  1093. data/vendor/erubis/test/data/users-guide/example4.result +0 -10
  1094. data/vendor/erubis/test/data/users-guide/example4_x.result +0 -5
  1095. data/vendor/erubis/test/data/users-guide/example5.eruby +0 -6
  1096. data/vendor/erubis/test/data/users-guide/example5.rb +0 -16
  1097. data/vendor/erubis/test/data/users-guide/example5.result +0 -7
  1098. data/vendor/erubis/test/data/users-guide/example6.rb +0 -12
  1099. data/vendor/erubis/test/data/users-guide/example6.result +0 -7
  1100. data/vendor/erubis/test/data/users-guide/example7.eruby +0 -8
  1101. data/vendor/erubis/test/data/users-guide/example71.result +0 -13
  1102. data/vendor/erubis/test/data/users-guide/example72.result +0 -13
  1103. data/vendor/erubis/test/data/users-guide/example8.eruby +0 -6
  1104. data/vendor/erubis/test/data/users-guide/example8_ruby.result +0 -7
  1105. data/vendor/erubis/test/data/users-guide/example8_yaml.result +0 -7
  1106. data/vendor/erubis/test/data/users-guide/example9.eruby +0 -3
  1107. data/vendor/erubis/test/data/users-guide/example9.rb +0 -8
  1108. data/vendor/erubis/test/data/users-guide/example9.result +0 -9
  1109. data/vendor/erubis/test/data/users-guide/example91.result +0 -5
  1110. data/vendor/erubis/test/data/users-guide/example92.result +0 -4
  1111. data/vendor/erubis/test/data/users-guide/example_c.result +0 -29
  1112. data/vendor/erubis/test/data/users-guide/example_java.result +0 -56
  1113. data/vendor/erubis/test/data/users-guide/example_js.result +0 -22
  1114. data/vendor/erubis/test/data/users-guide/example_perl.result +0 -20
  1115. data/vendor/erubis/test/data/users-guide/example_php.result +0 -19
  1116. data/vendor/erubis/test/data/users-guide/example_scheme.result +0 -30
  1117. data/vendor/erubis/test/data/users-guide/example_scheme_display.result +0 -29
  1118. data/vendor/erubis/test/data/users-guide/fasteruby.rb +0 -11
  1119. data/vendor/erubis/test/data/users-guide/fasteruby.result +0 -38
  1120. data/vendor/erubis/test/data/users-guide/fasteruby.rhtml +0 -15
  1121. data/vendor/erubis/test/data/users-guide/headerfooter-example.eruby +0 -9
  1122. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rb +0 -8
  1123. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rhtml +0 -10
  1124. data/vendor/erubis/test/data/users-guide/headerfooter_example.result +0 -11
  1125. data/vendor/erubis/test/data/users-guide/headerfooter_example2.result +0 -13
  1126. data/vendor/erubis/test/data/users-guide/interpolation_example.result +0 -9
  1127. data/vendor/erubis/test/data/users-guide/main_program1.rb +0 -8
  1128. data/vendor/erubis/test/data/users-guide/main_program1.result +0 -6
  1129. data/vendor/erubis/test/data/users-guide/main_program2.rb +0 -8
  1130. data/vendor/erubis/test/data/users-guide/main_program2.result +0 -6
  1131. data/vendor/erubis/test/data/users-guide/nocode-example.eruby +0 -14
  1132. data/vendor/erubis/test/data/users-guide/nocode-php.result +0 -20
  1133. data/vendor/erubis/test/data/users-guide/nocode_example.result +0 -15
  1134. data/vendor/erubis/test/data/users-guide/normal-eruby-test.eruby +0 -9
  1135. data/vendor/erubis/test/data/users-guide/normal_eruby_test.result +0 -11
  1136. data/vendor/erubis/test/data/users-guide/notext-example.eruby +0 -14
  1137. data/vendor/erubis/test/data/users-guide/notext-example.php +0 -19
  1138. data/vendor/erubis/test/data/users-guide/notext-php.result +0 -20
  1139. data/vendor/erubis/test/data/users-guide/notext_example.result +0 -16
  1140. data/vendor/erubis/test/data/users-guide/percentline-example.rhtml +0 -4
  1141. data/vendor/erubis/test/data/users-guide/percentline_example.result +0 -7
  1142. data/vendor/erubis/test/data/users-guide/printenable_example.result +0 -4
  1143. data/vendor/erubis/test/data/users-guide/printenabled-example.eruby +0 -3
  1144. data/vendor/erubis/test/data/users-guide/printenabled-example.rb +0 -8
  1145. data/vendor/erubis/test/data/users-guide/printstatement_example.result +0 -8
  1146. data/vendor/erubis/test/data/users-guide/simplify_example.result +0 -9
  1147. data/vendor/erubis/test/data/users-guide/stdout_exmple.result +0 -9
  1148. data/vendor/erubis/test/data/users-guide/stringbuffer_example.result +0 -9
  1149. data/vendor/erubis/test/data/users-guide/tail_260.result +0 -4
  1150. data/vendor/erubis/test/data/users-guide/tailnewline.rhtml +0 -3
  1151. data/vendor/erubis/test/data/users-guide/template1.rhtml +0 -4
  1152. data/vendor/erubis/test/data/users-guide/template2.rhtml +0 -4
  1153. data/vendor/erubis/test/hoge.rb +0 -5
  1154. data/vendor/erubis/test/test-engines.rb +0 -370
  1155. data/vendor/erubis/test/test-engines.rbc +0 -0
  1156. data/vendor/erubis/test/test-enhancers.rb +0 -571
  1157. data/vendor/erubis/test/test-erubis.rb +0 -884
  1158. data/vendor/erubis/test/test-erubis.rbc +0 -0
  1159. data/vendor/erubis/test/test-main.rb +0 -674
  1160. data/vendor/erubis/test/test-users-guide.rb +0 -58
  1161. data/vendor/erubis/test/test-users-guide.rbc +0 -0
  1162. data/vendor/erubis/test/test.rb +0 -30
  1163. data/vendor/erubis/test/test.rbc +0 -0
  1164. data/vendor/erubis/test/testutil.rb +0 -101
  1165. data/vendor/erubis/test/testutil.rbc +0 -0
  1166. data/vendor/extlib/History.txt +0 -77
  1167. data/vendor/extlib/LICENSE +0 -47
  1168. data/vendor/extlib/README +0 -0
  1169. data/vendor/extlib/Rakefile +0 -133
  1170. data/vendor/extlib/benchmarks/camel_case.rb +0 -45
  1171. data/vendor/extlib/benchmarks/to_const_path.rb +0 -65
  1172. data/vendor/extlib/benchmarks/to_const_string.rb +0 -91
  1173. data/vendor/extlib/lib/extlib.rb +0 -50
  1174. data/vendor/extlib/lib/extlib/array.rb +0 -36
  1175. data/vendor/extlib/lib/extlib/assertions.rb +0 -8
  1176. data/vendor/extlib/lib/extlib/blank.rb +0 -89
  1177. data/vendor/extlib/lib/extlib/boolean.rb +0 -11
  1178. data/vendor/extlib/lib/extlib/byte_array.rb +0 -6
  1179. data/vendor/extlib/lib/extlib/class.rb +0 -177
  1180. data/vendor/extlib/lib/extlib/datetime.rb +0 -29
  1181. data/vendor/extlib/lib/extlib/dictionary.rb +0 -433
  1182. data/vendor/extlib/lib/extlib/hash.rb +0 -442
  1183. data/vendor/extlib/lib/extlib/hook.rb +0 -401
  1184. data/vendor/extlib/lib/extlib/inflection.rb +0 -440
  1185. data/vendor/extlib/lib/extlib/lazy_array.rb +0 -451
  1186. data/vendor/extlib/lib/extlib/lazy_module.rb +0 -18
  1187. data/vendor/extlib/lib/extlib/logger.rb +0 -198
  1188. data/vendor/extlib/lib/extlib/mash.rb +0 -155
  1189. data/vendor/extlib/lib/extlib/module.rb +0 -47
  1190. data/vendor/extlib/lib/extlib/nil.rb +0 -5
  1191. data/vendor/extlib/lib/extlib/numeric.rb +0 -5
  1192. data/vendor/extlib/lib/extlib/object.rb +0 -175
  1193. data/vendor/extlib/lib/extlib/object_space.rb +0 -13
  1194. data/vendor/extlib/lib/extlib/pathname.rb +0 -20
  1195. data/vendor/extlib/lib/extlib/pooling.rb +0 -235
  1196. data/vendor/extlib/lib/extlib/rubygems.rb +0 -38
  1197. data/vendor/extlib/lib/extlib/simple_set.rb +0 -66
  1198. data/vendor/extlib/lib/extlib/string.rb +0 -176
  1199. data/vendor/extlib/lib/extlib/struct.rb +0 -17
  1200. data/vendor/extlib/lib/extlib/symbol.rb +0 -21
  1201. data/vendor/extlib/lib/extlib/tasks/release.rb +0 -15
  1202. data/vendor/extlib/lib/extlib/time.rb +0 -43
  1203. data/vendor/extlib/lib/extlib/version.rb +0 -3
  1204. data/vendor/extlib/lib/extlib/virtual_file.rb +0 -10
  1205. data/vendor/extlib/spec/array_spec.rb +0 -39
  1206. data/vendor/extlib/spec/blank_spec.rb +0 -85
  1207. data/vendor/extlib/spec/byte_array_spec.rb +0 -7
  1208. data/vendor/extlib/spec/class_spec.rb +0 -157
  1209. data/vendor/extlib/spec/datetime_spec.rb +0 -22
  1210. data/vendor/extlib/spec/hash_spec.rb +0 -537
  1211. data/vendor/extlib/spec/hook_spec.rb +0 -1234
  1212. data/vendor/extlib/spec/inflection/plural_spec.rb +0 -564
  1213. data/vendor/extlib/spec/inflection/singular_spec.rb +0 -497
  1214. data/vendor/extlib/spec/inflection_extras_spec.rb +0 -110
  1215. data/vendor/extlib/spec/lazy_array_spec.rb +0 -1957
  1216. data/vendor/extlib/spec/lazy_module_spec.rb +0 -38
  1217. data/vendor/extlib/spec/mash_spec.rb +0 -311
  1218. data/vendor/extlib/spec/module_spec.rb +0 -70
  1219. data/vendor/extlib/spec/object_space_spec.rb +0 -9
  1220. data/vendor/extlib/spec/object_spec.rb +0 -114
  1221. data/vendor/extlib/spec/pooling_spec.rb +0 -511
  1222. data/vendor/extlib/spec/simple_set_spec.rb +0 -57
  1223. data/vendor/extlib/spec/spec.opts +0 -3
  1224. data/vendor/extlib/spec/spec_helper.rb +0 -10
  1225. data/vendor/extlib/spec/string_spec.rb +0 -221
  1226. data/vendor/extlib/spec/struct_spec.rb +0 -12
  1227. data/vendor/extlib/spec/symbol_spec.rb +0 -8
  1228. data/vendor/extlib/spec/time_spec.rb +0 -29
  1229. data/vendor/extlib/spec/try_call_spec.rb +0 -73
  1230. data/vendor/extlib/spec/try_dup_spec.rb +0 -45
  1231. data/vendor/extlib/spec/virtual_file_spec.rb +0 -21
  1232. data/vendor/media-path/CHANGELOG +0 -3
  1233. data/vendor/media-path/LICENSE +0 -20
  1234. data/vendor/media-path/README.textile +0 -40
  1235. data/vendor/media-path/Rakefile +0 -61
  1236. data/vendor/media-path/TODO.txt +0 -6
  1237. data/vendor/media-path/deps.rip +0 -5
  1238. data/vendor/media-path/lib/media-path.rb +0 -269
  1239. data/vendor/media-path/media-path.gemspec +0 -38
  1240. data/vendor/media-path/script/spec +0 -14
  1241. data/vendor/media-path/spec/media-path_spec.rb +0 -158
  1242. data/vendor/media-path/spec/stubs/blog/public/js/moo.js +0 -0
  1243. data/vendor/rack/COPYING +0 -18
  1244. data/vendor/rack/KNOWN-ISSUES +0 -18
  1245. data/vendor/rack/README +0 -364
  1246. data/vendor/rack/Rakefile +0 -164
  1247. data/vendor/rack/bin/rackup +0 -2
  1248. data/vendor/rack/contrib/rack_logo.svg +0 -111
  1249. data/vendor/rack/example/lobster.ru +0 -4
  1250. data/vendor/rack/example/protectedlobster.rb +0 -14
  1251. data/vendor/rack/example/protectedlobster.ru +0 -8
  1252. data/vendor/rack/lib/rack.rb +0 -87
  1253. data/vendor/rack/lib/rack/adapter/camping.rb +0 -22
  1254. data/vendor/rack/lib/rack/auth/abstract/handler.rb +0 -37
  1255. data/vendor/rack/lib/rack/auth/abstract/request.rb +0 -37
  1256. data/vendor/rack/lib/rack/auth/basic.rb +0 -58
  1257. data/vendor/rack/lib/rack/auth/digest/md5.rb +0 -124
  1258. data/vendor/rack/lib/rack/auth/digest/nonce.rb +0 -51
  1259. data/vendor/rack/lib/rack/auth/digest/params.rb +0 -55
  1260. data/vendor/rack/lib/rack/auth/digest/request.rb +0 -40
  1261. data/vendor/rack/lib/rack/auth/openid.rb +0 -487
  1262. data/vendor/rack/lib/rack/builder.rb +0 -78
  1263. data/vendor/rack/lib/rack/cascade.rb +0 -41
  1264. data/vendor/rack/lib/rack/chunked.rb +0 -49
  1265. data/vendor/rack/lib/rack/commonlogger.rb +0 -52
  1266. data/vendor/rack/lib/rack/conditionalget.rb +0 -47
  1267. data/vendor/rack/lib/rack/content_length.rb +0 -29
  1268. data/vendor/rack/lib/rack/content_type.rb +0 -23
  1269. data/vendor/rack/lib/rack/deflater.rb +0 -96
  1270. data/vendor/rack/lib/rack/directory.rb +0 -153
  1271. data/vendor/rack/lib/rack/file.rb +0 -88
  1272. data/vendor/rack/lib/rack/handler.rb +0 -88
  1273. data/vendor/rack/lib/rack/handler/cgi.rb +0 -61
  1274. data/vendor/rack/lib/rack/handler/evented_mongrel.rb +0 -8
  1275. data/vendor/rack/lib/rack/handler/fastcgi.rb +0 -90
  1276. data/vendor/rack/lib/rack/handler/lsws.rb +0 -63
  1277. data/vendor/rack/lib/rack/handler/mongrel.rb +0 -91
  1278. data/vendor/rack/lib/rack/handler/scgi.rb +0 -62
  1279. data/vendor/rack/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  1280. data/vendor/rack/lib/rack/handler/thin.rb +0 -18
  1281. data/vendor/rack/lib/rack/handler/webrick.rb +0 -71
  1282. data/vendor/rack/lib/rack/head.rb +0 -19
  1283. data/vendor/rack/lib/rack/lint.rb +0 -546
  1284. data/vendor/rack/lib/rack/lobster.rb +0 -65
  1285. data/vendor/rack/lib/rack/lock.rb +0 -16
  1286. data/vendor/rack/lib/rack/methodoverride.rb +0 -27
  1287. data/vendor/rack/lib/rack/mime.rb +0 -205
  1288. data/vendor/rack/lib/rack/mock.rb +0 -189
  1289. data/vendor/rack/lib/rack/recursive.rb +0 -57
  1290. data/vendor/rack/lib/rack/reloader.rb +0 -109
  1291. data/vendor/rack/lib/rack/request.rb +0 -248
  1292. data/vendor/rack/lib/rack/response.rb +0 -149
  1293. data/vendor/rack/lib/rack/rewindable_input.rb +0 -100
  1294. data/vendor/rack/lib/rack/server.rb +0 -189
  1295. data/vendor/rack/lib/rack/session/abstract/id.rb +0 -140
  1296. data/vendor/rack/lib/rack/session/cookie.rb +0 -90
  1297. data/vendor/rack/lib/rack/session/memcache.rb +0 -109
  1298. data/vendor/rack/lib/rack/session/pool.rb +0 -100
  1299. data/vendor/rack/lib/rack/showexceptions.rb +0 -349
  1300. data/vendor/rack/lib/rack/showstatus.rb +0 -106
  1301. data/vendor/rack/lib/rack/static.rb +0 -38
  1302. data/vendor/rack/lib/rack/urlmap.rb +0 -55
  1303. data/vendor/rack/lib/rack/utils.rb +0 -590
  1304. data/vendor/rack/test/cgi/lighttpd.conf +0 -20
  1305. data/vendor/rack/test/cgi/test +0 -9
  1306. data/vendor/rack/test/cgi/test.fcgi +0 -8
  1307. data/vendor/rack/test/cgi/test.ru +0 -6
  1308. data/vendor/rack/test/multipart/binary +0 -0
  1309. data/vendor/rack/test/multipart/empty +0 -10
  1310. data/vendor/rack/test/multipart/file1.txt +0 -1
  1311. data/vendor/rack/test/multipart/ie +0 -6
  1312. data/vendor/rack/test/multipart/nested +0 -10
  1313. data/vendor/rack/test/multipart/none +0 -9
  1314. data/vendor/rack/test/multipart/semicolon +0 -6
  1315. data/vendor/rack/test/multipart/text +0 -10
  1316. data/vendor/rack/test/rackup/config.ru +0 -31
  1317. data/vendor/rack/test/spec_rack_auth_basic.rb +0 -73
  1318. data/vendor/rack/test/spec_rack_auth_digest.rb +0 -226
  1319. data/vendor/rack/test/spec_rack_auth_openid.rb +0 -84
  1320. data/vendor/rack/test/spec_rack_builder.rb +0 -84
  1321. data/vendor/rack/test/spec_rack_camping.rb +0 -51
  1322. data/vendor/rack/test/spec_rack_cascade.rb +0 -48
  1323. data/vendor/rack/test/spec_rack_cgi.rb +0 -89
  1324. data/vendor/rack/test/spec_rack_chunked.rb +0 -62
  1325. data/vendor/rack/test/spec_rack_commonlogger.rb +0 -61
  1326. data/vendor/rack/test/spec_rack_conditionalget.rb +0 -41
  1327. data/vendor/rack/test/spec_rack_content_length.rb +0 -43
  1328. data/vendor/rack/test/spec_rack_content_type.rb +0 -30
  1329. data/vendor/rack/test/spec_rack_deflater.rb +0 -127
  1330. data/vendor/rack/test/spec_rack_directory.rb +0 -61
  1331. data/vendor/rack/test/spec_rack_fastcgi.rb +0 -89
  1332. data/vendor/rack/test/spec_rack_file.rb +0 -75
  1333. data/vendor/rack/test/spec_rack_handler.rb +0 -43
  1334. data/vendor/rack/test/spec_rack_head.rb +0 -30
  1335. data/vendor/rack/test/spec_rack_lint.rb +0 -523
  1336. data/vendor/rack/test/spec_rack_lobster.rb +0 -45
  1337. data/vendor/rack/test/spec_rack_lock.rb +0 -38
  1338. data/vendor/rack/test/spec_rack_methodoverride.rb +0 -60
  1339. data/vendor/rack/test/spec_rack_mock.rb +0 -243
  1340. data/vendor/rack/test/spec_rack_mongrel.rb +0 -189
  1341. data/vendor/rack/test/spec_rack_recursive.rb +0 -77
  1342. data/vendor/rack/test/spec_rack_request.rb +0 -510
  1343. data/vendor/rack/test/spec_rack_response.rb +0 -218
  1344. data/vendor/rack/test/spec_rack_rewindable_input.rb +0 -118
  1345. data/vendor/rack/test/spec_rack_session_cookie.rb +0 -82
  1346. data/vendor/rack/test/spec_rack_session_memcache.rb +0 -250
  1347. data/vendor/rack/test/spec_rack_session_pool.rb +0 -172
  1348. data/vendor/rack/test/spec_rack_showexceptions.rb +0 -21
  1349. data/vendor/rack/test/spec_rack_showstatus.rb +0 -72
  1350. data/vendor/rack/test/spec_rack_static.rb +0 -37
  1351. data/vendor/rack/test/spec_rack_thin.rb +0 -91
  1352. data/vendor/rack/test/spec_rack_urlmap.rb +0 -185
  1353. data/vendor/rack/test/spec_rack_utils.rb +0 -488
  1354. data/vendor/rack/test/spec_rack_webrick.rb +0 -130
  1355. data/vendor/rack/test/spec_rackup.rb +0 -154
  1356. data/vendor/rack/test/testrequest.rb +0 -72
  1357. data/vendor/rack/test/unregistered_handler/rack/handler/unregistered.rb +0 -7
  1358. data/vendor/rack/test/unregistered_handler/rack/handler/unregistered_long_one.rb +0 -7
  1359. data/vendor/rspec/History.rdoc +0 -1510
  1360. data/vendor/rspec/License.txt +0 -22
  1361. data/vendor/rspec/Manifest.txt +0 -383
  1362. data/vendor/rspec/README.rdoc +0 -55
  1363. data/vendor/rspec/Rakefile +0 -145
  1364. data/vendor/rspec/Ruby1.9.rdoc +0 -31
  1365. data/vendor/rspec/TODO.txt +0 -17
  1366. data/vendor/rspec/Upgrade.rdoc +0 -199
  1367. data/vendor/rspec/bin/autospec +0 -4
  1368. data/vendor/rspec/bin/spec +0 -5
  1369. data/vendor/rspec/cucumber.yml +0 -5
  1370. data/vendor/rspec/examples/failing/README.txt +0 -11
  1371. data/vendor/rspec/examples/failing/diffing_spec.rb +0 -36
  1372. data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +0 -17
  1373. data/vendor/rspec/examples/failing/failure_in_after.rb +0 -10
  1374. data/vendor/rspec/examples/failing/failure_in_before.rb +0 -10
  1375. data/vendor/rspec/examples/failing/mocking_example.rb +0 -38
  1376. data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +0 -26
  1377. data/vendor/rspec/examples/failing/mocking_with_mocha.rb +0 -25
  1378. data/vendor/rspec/examples/failing/mocking_with_rr.rb +0 -27
  1379. data/vendor/rspec/examples/failing/partial_mock_example.rb +0 -18
  1380. data/vendor/rspec/examples/failing/pending_example.rb +0 -7
  1381. data/vendor/rspec/examples/failing/predicate_example.rb +0 -32
  1382. data/vendor/rspec/examples/failing/raising_example.rb +0 -47
  1383. data/vendor/rspec/examples/failing/syntax_error_example.rb +0 -7
  1384. data/vendor/rspec/examples/failing/team_spec.rb +0 -41
  1385. data/vendor/rspec/examples/failing/timeout_behaviour.rb +0 -5
  1386. data/vendor/rspec/examples/passing/custom_formatter.rb +0 -11
  1387. data/vendor/rspec/examples/passing/custom_matchers.rb +0 -54
  1388. data/vendor/rspec/examples/passing/dynamic_spec.rb +0 -7
  1389. data/vendor/rspec/examples/passing/file_accessor.rb +0 -18
  1390. data/vendor/rspec/examples/passing/file_accessor_spec.rb +0 -37
  1391. data/vendor/rspec/examples/passing/filtered_formatter.rb +0 -17
  1392. data/vendor/rspec/examples/passing/filtered_formatter_example.rb +0 -31
  1393. data/vendor/rspec/examples/passing/greeter_spec.rb +0 -30
  1394. data/vendor/rspec/examples/passing/helper_method_example.rb +0 -12
  1395. data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +0 -16
  1396. data/vendor/rspec/examples/passing/io_processor.rb +0 -8
  1397. data/vendor/rspec/examples/passing/io_processor_spec.rb +0 -20
  1398. data/vendor/rspec/examples/passing/mocking_example.rb +0 -25
  1399. data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +0 -26
  1400. data/vendor/rspec/examples/passing/nested_classes_example.rb +0 -35
  1401. data/vendor/rspec/examples/passing/options_example.rb +0 -29
  1402. data/vendor/rspec/examples/passing/options_formatter.rb +0 -20
  1403. data/vendor/rspec/examples/passing/partial_mock_example.rb +0 -27
  1404. data/vendor/rspec/examples/passing/pending_example.rb +0 -18
  1405. data/vendor/rspec/examples/passing/predicate_example.rb +0 -25
  1406. data/vendor/rspec/examples/passing/shared_example_group_example.rb +0 -79
  1407. data/vendor/rspec/examples/passing/shared_stack_examples.rb +0 -36
  1408. data/vendor/rspec/examples/passing/simple_matcher_example.rb +0 -29
  1409. data/vendor/rspec/examples/passing/stack.rb +0 -36
  1410. data/vendor/rspec/examples/passing/stack_spec.rb +0 -63
  1411. data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +0 -66
  1412. data/vendor/rspec/examples/passing/stubbing_example.rb +0 -67
  1413. data/vendor/rspec/examples/passing/yielding_example.rb +0 -31
  1414. data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +0 -85
  1415. data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +0 -39
  1416. data/vendor/rspec/features-pending/heckle/heckle.feature +0 -56
  1417. data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +0 -167
  1418. data/vendor/rspec/features/command_line/line_number_option.feature +0 -56
  1419. data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +0 -22
  1420. data/vendor/rspec/features/example_groups/define_example_attribute.feature +0 -41
  1421. data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +0 -29
  1422. data/vendor/rspec/features/example_groups/implicit_docstrings.feature +0 -59
  1423. data/vendor/rspec/features/example_groups/nested_groups.feature +0 -32
  1424. data/vendor/rspec/features/expectations/customized_message.feature +0 -54
  1425. data/vendor/rspec/features/expectations/expect_change.feature +0 -65
  1426. data/vendor/rspec/features/expectations/expect_error.feature +0 -44
  1427. data/vendor/rspec/features/extensions/custom_example_group.feature +0 -19
  1428. data/vendor/rspec/features/formatters/custom_formatter.feature +0 -30
  1429. data/vendor/rspec/features/interop/examples_and_tests_together.feature +0 -84
  1430. data/vendor/rspec/features/interop/rspec_output.feature +0 -25
  1431. data/vendor/rspec/features/interop/test_but_not_test_unit.feature +0 -26
  1432. data/vendor/rspec/features/interop/test_case_with_should_methods.feature +0 -46
  1433. data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +0 -20
  1434. data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +0 -20
  1435. data/vendor/rspec/features/matchers/define_diffable_matcher.feature +0 -26
  1436. data/vendor/rspec/features/matchers/define_matcher.feature +0 -179
  1437. data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +0 -38
  1438. data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +0 -27
  1439. data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +0 -29
  1440. data/vendor/rspec/features/matchers/match_unless_raises.feature +0 -60
  1441. data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +0 -39
  1442. data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +0 -27
  1443. data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +0 -27
  1444. data/vendor/rspec/features/mock_framework_integration/use_rr.feature +0 -27
  1445. data/vendor/rspec/features/mocks/block_local_expectations.feature +0 -62
  1446. data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +0 -22
  1447. data/vendor/rspec/features/mocks/stub_implementation.feature +0 -26
  1448. data/vendor/rspec/features/pending/pending_examples.feature +0 -81
  1449. data/vendor/rspec/features/runner/specify_line_number.feature +0 -32
  1450. data/vendor/rspec/features/spec_helper/spec_helper.feature +0 -25
  1451. data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +0 -43
  1452. data/vendor/rspec/features/subject/explicit_subject.feature +0 -31
  1453. data/vendor/rspec/features/subject/implicit_subject.feature +0 -43
  1454. data/vendor/rspec/features/support/env.rb +0 -82
  1455. data/vendor/rspec/features/support/matchers/smart_match.rb +0 -12
  1456. data/vendor/rspec/geminstaller.yml +0 -28
  1457. data/vendor/rspec/init.rb +0 -9
  1458. data/vendor/rspec/lib/autotest/discover.rb +0 -3
  1459. data/vendor/rspec/lib/autotest/rspec.rb +0 -54
  1460. data/vendor/rspec/lib/spec.rb +0 -8
  1461. data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +0 -24
  1462. data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +0 -25
  1463. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +0 -22
  1464. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +0 -21
  1465. data/vendor/rspec/lib/spec/autorun.rb +0 -3
  1466. data/vendor/rspec/lib/spec/deprecation.rb +0 -40
  1467. data/vendor/rspec/lib/spec/dsl.rb +0 -1
  1468. data/vendor/rspec/lib/spec/dsl/main.rb +0 -92
  1469. data/vendor/rspec/lib/spec/example.rb +0 -164
  1470. data/vendor/rspec/lib/spec/example/args_and_options.rb +0 -27
  1471. data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +0 -93
  1472. data/vendor/rspec/lib/spec/example/errors.rb +0 -25
  1473. data/vendor/rspec/lib/spec/example/example_group.rb +0 -10
  1474. data/vendor/rspec/lib/spec/example/example_group_factory.rb +0 -82
  1475. data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +0 -53
  1476. data/vendor/rspec/lib/spec/example/example_group_methods.rb +0 -282
  1477. data/vendor/rspec/lib/spec/example/example_group_proxy.rb +0 -61
  1478. data/vendor/rspec/lib/spec/example/example_matcher.rb +0 -43
  1479. data/vendor/rspec/lib/spec/example/example_methods.rb +0 -152
  1480. data/vendor/rspec/lib/spec/example/example_proxy.rb +0 -41
  1481. data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +0 -43
  1482. data/vendor/rspec/lib/spec/example/pending.rb +0 -18
  1483. data/vendor/rspec/lib/spec/example/predicate_matchers.rb +0 -46
  1484. data/vendor/rspec/lib/spec/example/shared_example_group.rb +0 -59
  1485. data/vendor/rspec/lib/spec/example/subject.rb +0 -108
  1486. data/vendor/rspec/lib/spec/expectations.rb +0 -35
  1487. data/vendor/rspec/lib/spec/expectations/errors.rb +0 -12
  1488. data/vendor/rspec/lib/spec/expectations/extensions.rb +0 -1
  1489. data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +0 -52
  1490. data/vendor/rspec/lib/spec/expectations/fail_with.rb +0 -45
  1491. data/vendor/rspec/lib/spec/expectations/handler.rb +0 -50
  1492. data/vendor/rspec/lib/spec/extensions/instance_exec.rb +0 -31
  1493. data/vendor/rspec/lib/spec/interop/test.rb +0 -44
  1494. data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +0 -6
  1495. data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +0 -56
  1496. data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +0 -6
  1497. data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
  1498. data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
  1499. data/vendor/rspec/lib/spec/matchers.rb +0 -195
  1500. data/vendor/rspec/lib/spec/matchers/be.rb +0 -211
  1501. data/vendor/rspec/lib/spec/matchers/be_close.rb +0 -32
  1502. data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +0 -26
  1503. data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +0 -26
  1504. data/vendor/rspec/lib/spec/matchers/change.rb +0 -151
  1505. data/vendor/rspec/lib/spec/matchers/compatibility.rb +0 -14
  1506. data/vendor/rspec/lib/spec/matchers/dsl.rb +0 -20
  1507. data/vendor/rspec/lib/spec/matchers/eql.rb +0 -42
  1508. data/vendor/rspec/lib/spec/matchers/equal.rb +0 -53
  1509. data/vendor/rspec/lib/spec/matchers/errors.rb +0 -5
  1510. data/vendor/rspec/lib/spec/matchers/exist.rb +0 -16
  1511. data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +0 -36
  1512. data/vendor/rspec/lib/spec/matchers/has.rb +0 -35
  1513. data/vendor/rspec/lib/spec/matchers/have.rb +0 -152
  1514. data/vendor/rspec/lib/spec/matchers/include.rb +0 -44
  1515. data/vendor/rspec/lib/spec/matchers/match.rb +0 -21
  1516. data/vendor/rspec/lib/spec/matchers/match_array.rb +0 -71
  1517. data/vendor/rspec/lib/spec/matchers/matcher.rb +0 -102
  1518. data/vendor/rspec/lib/spec/matchers/method_missing.rb +0 -9
  1519. data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +0 -78
  1520. data/vendor/rspec/lib/spec/matchers/pretty.rb +0 -37
  1521. data/vendor/rspec/lib/spec/matchers/raise_error.rb +0 -129
  1522. data/vendor/rspec/lib/spec/matchers/respond_to.rb +0 -71
  1523. data/vendor/rspec/lib/spec/matchers/satisfy.rb +0 -47
  1524. data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +0 -133
  1525. data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +0 -104
  1526. data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +0 -55
  1527. data/vendor/rspec/lib/spec/mocks.rb +0 -200
  1528. data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +0 -51
  1529. data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +0 -237
  1530. data/vendor/rspec/lib/spec/mocks/error_generator.rb +0 -92
  1531. data/vendor/rspec/lib/spec/mocks/errors.rb +0 -10
  1532. data/vendor/rspec/lib/spec/mocks/example_methods.rb +0 -69
  1533. data/vendor/rspec/lib/spec/mocks/extensions.rb +0 -1
  1534. data/vendor/rspec/lib/spec/mocks/extensions/object.rb +0 -3
  1535. data/vendor/rspec/lib/spec/mocks/framework.rb +0 -15
  1536. data/vendor/rspec/lib/spec/mocks/message_expectation.rb +0 -343
  1537. data/vendor/rspec/lib/spec/mocks/methods.rb +0 -89
  1538. data/vendor/rspec/lib/spec/mocks/mock.rb +0 -71
  1539. data/vendor/rspec/lib/spec/mocks/order_group.rb +0 -29
  1540. data/vendor/rspec/lib/spec/mocks/proxy.rb +0 -245
  1541. data/vendor/rspec/lib/spec/mocks/space.rb +0 -28
  1542. data/vendor/rspec/lib/spec/rake/spectask.rb +0 -230
  1543. data/vendor/rspec/lib/spec/rake/verify_rcov.rb +0 -52
  1544. data/vendor/rspec/lib/spec/ruby.rb +0 -9
  1545. data/vendor/rspec/lib/spec/runner.rb +0 -66
  1546. data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +0 -77
  1547. data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +0 -14
  1548. data/vendor/rspec/lib/spec/runner/command_line.rb +0 -15
  1549. data/vendor/rspec/lib/spec/runner/configuration.rb +0 -194
  1550. data/vendor/rspec/lib/spec/runner/differs/default.rb +0 -93
  1551. data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +0 -12
  1552. data/vendor/rspec/lib/spec/runner/drb_command_line.rb +0 -26
  1553. data/vendor/rspec/lib/spec/runner/example_group_runner.rb +0 -58
  1554. data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +0 -9
  1555. data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +0 -139
  1556. data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +0 -142
  1557. data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -25
  1558. data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
  1559. data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +0 -338
  1560. data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +0 -47
  1561. data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +0 -21
  1562. data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +0 -47
  1563. data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -33
  1564. data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +0 -10
  1565. data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
  1566. data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +0 -33
  1567. data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
  1568. data/vendor/rspec/lib/spec/runner/heckle_runner.rb +0 -72
  1569. data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
  1570. data/vendor/rspec/lib/spec/runner/line_number_query.rb +0 -78
  1571. data/vendor/rspec/lib/spec/runner/option_parser.rb +0 -223
  1572. data/vendor/rspec/lib/spec/runner/options.rb +0 -400
  1573. data/vendor/rspec/lib/spec/runner/reporter.rb +0 -171
  1574. data/vendor/rspec/lib/spec/stubs/cucumber.rb +0 -5
  1575. data/vendor/rspec/lib/spec/test/unit.rb +0 -10
  1576. data/vendor/rspec/lib/spec/version.rb +0 -14
  1577. data/vendor/rspec/resources/helpers/cmdline.rb +0 -8
  1578. data/vendor/rspec/resources/rake/examples.rake +0 -7
  1579. data/vendor/rspec/resources/rake/examples_with_rcov.rake +0 -9
  1580. data/vendor/rspec/resources/rake/failing_examples_with_html.rake +0 -9
  1581. data/vendor/rspec/resources/rake/verify_rcov.rake +0 -7
  1582. data/vendor/rspec/spec/README.jruby +0 -15
  1583. data/vendor/rspec/spec/autotest/autotest_helper.rb +0 -8
  1584. data/vendor/rspec/spec/autotest/autotest_matchers.rb +0 -38
  1585. data/vendor/rspec/spec/autotest/discover_spec.rb +0 -8
  1586. data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +0 -31
  1587. data/vendor/rspec/spec/autotest/rspec_spec.rb +0 -126
  1588. data/vendor/rspec/spec/ruby_forker.rb +0 -13
  1589. data/vendor/rspec/spec/spec.opts +0 -6
  1590. data/vendor/rspec/spec/spec/dsl/main_spec.rb +0 -95
  1591. data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +0 -51
  1592. data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +0 -180
  1593. data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +0 -759
  1594. data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +0 -107
  1595. data/vendor/rspec/spec/spec/example/example_group_spec.rb +0 -643
  1596. data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +0 -86
  1597. data/vendor/rspec/spec/spec/example/example_methods_spec.rb +0 -162
  1598. data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +0 -57
  1599. data/vendor/rspec/spec/spec/example/helper_method_spec.rb +0 -24
  1600. data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +0 -71
  1601. data/vendor/rspec/spec/spec/example/pending_module_spec.rb +0 -58
  1602. data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +0 -41
  1603. data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +0 -257
  1604. data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +0 -25
  1605. data/vendor/rspec/spec/spec/example/subject_spec.rb +0 -103
  1606. data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +0 -194
  1607. data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +0 -45
  1608. data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +0 -96
  1609. data/vendor/rspec/spec/spec/expectations/handler_spec.rb +0 -206
  1610. data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +0 -30
  1611. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
  1612. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
  1613. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
  1614. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +0 -13
  1615. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
  1616. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
  1617. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
  1618. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +0 -22
  1619. data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
  1620. data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +0 -48
  1621. data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -18
  1622. data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +0 -50
  1623. data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
  1624. data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +0 -50
  1625. data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +0 -36
  1626. data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +0 -33
  1627. data/vendor/rspec/spec/spec/matchers/be_spec.rb +0 -419
  1628. data/vendor/rspec/spec/spec/matchers/change_spec.rb +0 -349
  1629. data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +0 -28
  1630. data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +0 -160
  1631. data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +0 -34
  1632. data/vendor/rspec/spec/spec/matchers/eql_spec.rb +0 -33
  1633. data/vendor/rspec/spec/spec/matchers/equal_spec.rb +0 -57
  1634. data/vendor/rspec/spec/spec/matchers/exist_spec.rb +0 -65
  1635. data/vendor/rspec/spec/spec/matchers/has_spec.rb +0 -190
  1636. data/vendor/rspec/spec/spec/matchers/have_spec.rb +0 -396
  1637. data/vendor/rspec/spec/spec/matchers/include_spec.rb +0 -88
  1638. data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +0 -108
  1639. data/vendor/rspec/spec/spec/matchers/match_spec.rb +0 -57
  1640. data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +0 -63
  1641. data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +0 -273
  1642. data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +0 -2
  1643. data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +0 -191
  1644. data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +0 -333
  1645. data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +0 -116
  1646. data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +0 -36
  1647. data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +0 -93
  1648. data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +0 -96
  1649. data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +0 -117
  1650. data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +0 -36
  1651. data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +0 -23
  1652. data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +0 -19
  1653. data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +0 -97
  1654. data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +0 -93
  1655. data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
  1656. data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +0 -27
  1657. data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +0 -32
  1658. data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
  1659. data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +0 -19
  1660. data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +0 -22
  1661. data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
  1662. data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
  1663. data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
  1664. data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
  1665. data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +0 -21
  1666. data/vendor/rspec/spec/spec/mocks/double_spec.rb +0 -12
  1667. data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +0 -95
  1668. data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +0 -90
  1669. data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +0 -67
  1670. data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +0 -94
  1671. data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +0 -54
  1672. data/vendor/rspec/spec/spec/mocks/mock_spec.rb +0 -594
  1673. data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
  1674. data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +0 -53
  1675. data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +0 -54
  1676. data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +0 -53
  1677. data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +0 -35
  1678. data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +0 -164
  1679. data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
  1680. data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +0 -145
  1681. data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +0 -52
  1682. data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +0 -26
  1683. data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +0 -42
  1684. data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +0 -31
  1685. data/vendor/rspec/spec/spec/mocks/stub_spec.rb +0 -203
  1686. data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +0 -26
  1687. data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +0 -67
  1688. data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +0 -127
  1689. data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +0 -16
  1690. data/vendor/rspec/spec/spec/rake/spectask_spec.rb +0 -150
  1691. data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
  1692. data/vendor/rspec/spec/spec/runner/command_line_spec.rb +0 -162
  1693. data/vendor/rspec/spec/spec/runner/configuration_spec.rb +0 -320
  1694. data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +0 -107
  1695. data/vendor/rspec/spec/spec/runner/empty_file.txt +0 -0
  1696. data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +0 -26
  1697. data/vendor/rspec/spec/spec/runner/examples.txt +0 -2
  1698. data/vendor/rspec/spec/spec/runner/failed.txt +0 -3
  1699. data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +0 -30
  1700. data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +0 -113
  1701. data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
  1702. data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
  1703. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -377
  1704. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -377
  1705. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +0 -377
  1706. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +0 -377
  1707. data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +0 -118
  1708. data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +0 -305
  1709. data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -70
  1710. data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -149
  1711. data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
  1712. data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -159
  1713. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +0 -371
  1714. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
  1715. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +0 -371
  1716. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +0 -371
  1717. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +0 -106
  1718. data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +0 -78
  1719. data/vendor/rspec/spec/spec/runner/heckler_spec.rb +0 -20
  1720. data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +0 -70
  1721. data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +0 -129
  1722. data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -51
  1723. data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +0 -545
  1724. data/vendor/rspec/spec/spec/runner/options_spec.rb +0 -547
  1725. data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +0 -7
  1726. data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +0 -7
  1727. data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +0 -15
  1728. data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -123
  1729. data/vendor/rspec/spec/spec/runner/reporter_spec.rb +0 -244
  1730. data/vendor/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  1731. data/vendor/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  1732. data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +0 -1
  1733. data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +0 -14
  1734. data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +0 -8
  1735. data/vendor/rspec/spec/spec/runner/spec.opts +0 -2
  1736. data/vendor/rspec/spec/spec/runner/spec_drb.opts +0 -2
  1737. data/vendor/rspec/spec/spec/runner/spec_spaced.opts +0 -2
  1738. data/vendor/rspec/spec/spec/runner_spec.rb +0 -13
  1739. data/vendor/rspec/spec/spec_helper.rb +0 -112
  1740. data/vendor/rspec/spec/support/macros.rb +0 -29
  1741. data/vendor/rspec/spec/support/spec_classes.rb +0 -133
  1742. data/vendor/rubyexts/CHANGELOG +0 -2
  1743. data/vendor/rubyexts/LICENSE +0 -20
  1744. data/vendor/rubyexts/README.textile +0 -0
  1745. data/vendor/rubyexts/Rakefile +0 -61
  1746. data/vendor/rubyexts/TODO.txt +0 -6
  1747. data/vendor/rubyexts/lib/rubyexts.rb +0 -102
  1748. data/vendor/rubyexts/lib/rubyexts/array.rb +0 -20
  1749. data/vendor/rubyexts/lib/rubyexts/attribute.rb +0 -151
  1750. data/vendor/rubyexts/lib/rubyexts/capture_io.rb +0 -32
  1751. data/vendor/rubyexts/lib/rubyexts/class.rb +0 -177
  1752. data/vendor/rubyexts/lib/rubyexts/colored_string.rb +0 -103
  1753. data/vendor/rubyexts/lib/rubyexts/enumerable.rb +0 -30
  1754. data/vendor/rubyexts/lib/rubyexts/file.rb +0 -84
  1755. data/vendor/rubyexts/lib/rubyexts/hash.rb +0 -147
  1756. data/vendor/rubyexts/lib/rubyexts/kernel.rb +0 -91
  1757. data/vendor/rubyexts/lib/rubyexts/module.rb +0 -53
  1758. data/vendor/rubyexts/lib/rubyexts/object.rb +0 -56
  1759. data/vendor/rubyexts/lib/rubyexts/object_space.rb +0 -16
  1760. data/vendor/rubyexts/lib/rubyexts/os.rb +0 -89
  1761. data/vendor/rubyexts/lib/rubyexts/platform.rb +0 -27
  1762. data/vendor/rubyexts/lib/rubyexts/random.rb +0 -25
  1763. data/vendor/rubyexts/lib/rubyexts/string.rb +0 -92
  1764. data/vendor/rubyexts/lib/rubyexts/time.rb +0 -15
  1765. data/vendor/rubyexts/lib/rubyexts/time_dsl.rb +0 -62
  1766. data/vendor/rubyexts/lib/rubyexts/try_dup.rb +0 -43
  1767. data/vendor/rubyexts/lib/rubyexts/unique_array.rb +0 -16
  1768. data/vendor/rubyexts/rubyexts.gemspec +0 -36
  1769. data/vendor/rubyexts/script/spec +0 -12
  1770. data/vendor/rubyexts/spec/rubyexts/array_spec.rb +0 -19
  1771. data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +0 -37
  1772. data/vendor/rubyexts/spec/rubyexts/class_spec.rb +0 -1
  1773. data/vendor/rubyexts/spec/rubyexts/cli_spec.rb +0 -0
  1774. data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +0 -9
  1775. data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +0 -52
  1776. data/vendor/rubyexts/spec/rubyexts/file_spec.rb +0 -78
  1777. data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +0 -91
  1778. data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +0 -9
  1779. data/vendor/rubyexts/spec/rubyexts/module_spec.rb +0 -0
  1780. data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +0 -17
  1781. data/vendor/rubyexts/spec/rubyexts/object_spec.rb +0 -57
  1782. data/vendor/rubyexts/spec/rubyexts/os_spec.rb +0 -121
  1783. data/vendor/rubyexts/spec/rubyexts/platform_spec.rb +0 -0
  1784. data/vendor/rubyexts/spec/rubyexts/random_spec.rb +0 -31
  1785. data/vendor/rubyexts/spec/rubyexts/string_spec.rb +0 -23
  1786. data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +0 -88
  1787. data/vendor/rubyexts/spec/rubyexts/time_spec.rb +0 -11
  1788. data/vendor/rubyexts/spec/rubyexts/unique_array_spec.rb +0 -0
  1789. data/vendor/rubyexts/spec/rubyexts_spec.rb +0 -182
  1790. data/vendor/rubyexts/spec/spec.opts +0 -5
  1791. data/vendor/rubyexts/spec/spec_helper.rb +0 -16
  1792. data/vendor/simple-templater/CHANGELOG +0 -10
  1793. data/vendor/simple-templater/LICENSE +0 -20
  1794. data/vendor/simple-templater/README.textile +0 -136
  1795. data/vendor/simple-templater/Rakefile +0 -61
  1796. data/vendor/simple-templater/TODO.txt +0 -15
  1797. data/vendor/simple-templater/bin/simple-templater +0 -66
  1798. data/vendor/simple-templater/deps.rip +0 -7
  1799. data/vendor/simple-templater/lib/simple-templater.rb +0 -97
  1800. data/vendor/simple-templater/lib/simple-templater/argv_parsing.rb +0 -27
  1801. data/vendor/simple-templater/lib/simple-templater/builder.rb +0 -134
  1802. data/vendor/simple-templater/lib/simple-templater/discoverer.rb +0 -20
  1803. data/vendor/simple-templater/lib/simple-templater/discoverers/gems.rb +0 -79
  1804. data/vendor/simple-templater/lib/simple-templater/discoverers/plain.rb +0 -1
  1805. data/vendor/simple-templater/lib/simple-templater/discoverers/rip.rb +0 -1
  1806. data/vendor/simple-templater/lib/simple-templater/dsl.rb +0 -27
  1807. data/vendor/simple-templater/lib/simple-templater/generator.rb +0 -129
  1808. data/vendor/simple-templater/lib/simple-templater/generator_set.rb +0 -45
  1809. data/vendor/simple-templater/lib/simple-templater/helpers.rb +0 -34
  1810. data/vendor/simple-templater/lib/simple-templater/hooks/hook.rb +0 -76
  1811. data/vendor/simple-templater/lib/simple-templater/hooks/postprocess/git_repository.rb +0 -25
  1812. data/vendor/simple-templater/lib/simple-templater/hooks/postprocess/github.rb +0 -20
  1813. data/vendor/simple-templater/lib/simple-templater/hooks/preprocess/full_name.rb +0 -17
  1814. data/vendor/simple-templater/lib/simple-templater/hooks/preprocess/github.rb +0 -25
  1815. data/vendor/simple-templater/script/spec +0 -14
  1816. data/vendor/simple-templater/simple-templater.gemspec +0 -45
  1817. data/vendor/simple-templater/simple-templater.scope +0 -6
  1818. data/vendor/simple-templater/spec/simple-templater/argv_parsing_spec.rb +0 -41
  1819. data/vendor/simple-templater/spec/simple-templater/builder_spec.rb +0 -1
  1820. data/vendor/simple-templater/spec/simple-templater/discoverers/gems_spec.rb +0 -0
  1821. data/vendor/simple-templater/spec/simple-templater/discoverers/plain_spec.rb +0 -0
  1822. data/vendor/simple-templater/spec/simple-templater/discoverers/rip_spec.rb +0 -0
  1823. data/vendor/simple-templater/spec/simple-templater/generator_set_spec.rb +0 -55
  1824. data/vendor/simple-templater/spec/simple-templater/generator_spec.rb +0 -30
  1825. data/vendor/simple-templater/spec/simple-templater/helpers_spec.rb +0 -81
  1826. data/vendor/simple-templater/spec/simple-templater/hooks/hook_spec.rb +0 -100
  1827. data/vendor/simple-templater/spec/simple-templater/hooks/postprocess/git_repository_spec.rb +0 -25
  1828. data/vendor/simple-templater/spec/simple-templater/hooks/postprocess/github_spec.rb +0 -8
  1829. data/vendor/simple-templater/spec/simple-templater_spec.rb +0 -112
  1830. data/vendor/simple-templater/spec/spec.opts +0 -5
  1831. data/vendor/simple-templater/spec/spec_helper.rb +0 -19
  1832. data/vendor/simple-templater/spec/stubs/gems/cache/test_generator-0.0.1.gem +0 -0
  1833. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/simple-generator.scope +0 -8
  1834. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/simple-templater.scope +0 -8
  1835. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%1_test.rb.rbt +0 -1
  1836. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%_test.rb +0 -0
  1837. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/README.textile +0 -3
  1838. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/script.rb.rbt +0 -1
  1839. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%1_test.rb.rbt +0 -1
  1840. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%_test.rb +0 -0
  1841. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/README.textile +0 -3
  1842. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/script.rb.rbt +0 -1
  1843. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/test_generator.gemspec +0 -19
  1844. data/vendor/simple-templater/spec/stubs/gems/specifications/test_generator-0.0.1.gemspec +0 -28
  1845. data/vendor/simple-templater/spec/stubs/simple-templater.scope +0 -8
  1846. data/vendor/simple-templater/spec/stubs/test_generator/simple-templater.scope +0 -8
  1847. data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/%name%1_test.rb.rbt +0 -1
  1848. data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/%name%_test.rb +0 -0
  1849. data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/README.textile +0 -3
  1850. data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/script.rb.rbt +0 -1
  1851. data/vendor/simple-templater/spec/stubs/test_generator/test_generator-0.0.1.gem +0 -0
  1852. data/vendor/simple-templater/spec/stubs/test_generator/test_generator.gemspec +0 -19
  1853. data/vendor/simple-templater/stubs/project/content/%name%.gemspec.rbt +0 -37
  1854. data/vendor/simple-templater/stubs/project/content/CHANGELOG +0 -2
  1855. data/vendor/simple-templater/stubs/project/content/LICENSE.rbt +0 -20
  1856. data/vendor/simple-templater/stubs/project/content/README.textile.rbt +0 -19
  1857. data/vendor/simple-templater/stubs/project/content/Rakefile +0 -39
  1858. data/vendor/simple-templater/stubs/project/content/TODO.txt +0 -0
  1859. data/vendor/simple-templater/stubs/project/content/bin/%name%.rbt +0 -14
  1860. data/vendor/simple-templater/stubs/project/content/deps.rip +0 -5
  1861. data/vendor/simple-templater/stubs/project/content/lib/%name%.rb.rbt +0 -5
  1862. data/vendor/simple-templater/stubs/project/content/spec/%name%_spec.rb.rbt +0 -10
  1863. data/vendor/simple-templater/stubs/project/content/spec/spec.opts +0 -5
  1864. data/vendor/simple-templater/stubs/project/content/spec/spec_helper.rb.rbt +0 -11
  1865. data/vendor/simple-templater/stubs/project/metadata.yml +0 -3
  1866. data/vendor/simple-templater/stubs/project/postprocess.rb +0 -13
  1867. data/vendor/simple-templater/stubs/project/setup.rb +0 -13
  1868. data/vendor/simple-templater/stubs/stub/content/metadata.yml.rbt +0 -3
  1869. data/vendor/simple-templater/stubs/stub/content/postprocess.rb +0 -11
  1870. data/vendor/simple-templater/stubs/stub/content/setup.rb +0 -10
  1871. data/vendor/simple-templater/stubs/stub/metadata.yml +0 -3
  1872. data/vendor/simple-templater/stubs/stub/postprocess.rb +0 -9
  1873. data/vendor/simple-templater/stubs/stub/setup.rb +0 -15
  1874. data/vendor/simple-templater/vendor/abstract/ChangeLog +0 -3
  1875. data/vendor/simple-templater/vendor/abstract/README.txt +0 -57
  1876. data/vendor/simple-templater/vendor/abstract/abstract.gemspec +0 -48
  1877. data/vendor/simple-templater/vendor/abstract/doc/classes/Kernel.html +0 -134
  1878. data/vendor/simple-templater/vendor/abstract/doc/classes/Kernel.src/M000002.html +0 -24
  1879. data/vendor/simple-templater/vendor/abstract/doc/classes/Module.html +0 -140
  1880. data/vendor/simple-templater/vendor/abstract/doc/classes/Module.src/M000001.html +0 -20
  1881. data/vendor/simple-templater/vendor/abstract/doc/created.rid +0 -1
  1882. data/vendor/simple-templater/vendor/abstract/doc/files/README_txt.html +0 -173
  1883. data/vendor/simple-templater/vendor/abstract/doc/files/lib/abstract_rb.html +0 -137
  1884. data/vendor/simple-templater/vendor/abstract/doc/fr_class_index.html +0 -28
  1885. data/vendor/simple-templater/vendor/abstract/doc/fr_file_index.html +0 -28
  1886. data/vendor/simple-templater/vendor/abstract/doc/fr_method_index.html +0 -28
  1887. data/vendor/simple-templater/vendor/abstract/doc/index.html +0 -24
  1888. data/vendor/simple-templater/vendor/abstract/doc/rdoc-style.css +0 -208
  1889. data/vendor/simple-templater/vendor/abstract/lib/abstract.rb +0 -75
  1890. data/vendor/simple-templater/vendor/abstract/setup.rb +0 -1331
  1891. data/vendor/simple-templater/vendor/abstract/test/test.rb +0 -91
  1892. data/vendor/thor/CHANGELOG.rdoc +0 -82
  1893. data/vendor/thor/LICENSE +0 -20
  1894. data/vendor/thor/README.rdoc +0 -234
  1895. data/vendor/thor/Thorfile +0 -63
  1896. data/vendor/thor/bin/rake2thor +0 -86
  1897. data/vendor/thor/bin/thor +0 -7
  1898. data/vendor/thor/lib/thor.rb +0 -242
  1899. data/vendor/thor/lib/thor/actions.rb +0 -273
  1900. data/vendor/thor/lib/thor/actions/create_file.rb +0 -103
  1901. data/vendor/thor/lib/thor/actions/directory.rb +0 -93
  1902. data/vendor/thor/lib/thor/actions/empty_directory.rb +0 -134
  1903. data/vendor/thor/lib/thor/actions/file_manipulation.rb +0 -219
  1904. data/vendor/thor/lib/thor/actions/inject_into_file.rb +0 -101
  1905. data/vendor/thor/lib/thor/base.rb +0 -517
  1906. data/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -75
  1907. data/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -100
  1908. data/vendor/thor/lib/thor/error.rb +0 -27
  1909. data/vendor/thor/lib/thor/group.rb +0 -263
  1910. data/vendor/thor/lib/thor/invocation.rb +0 -178
  1911. data/vendor/thor/lib/thor/parser.rb +0 -4
  1912. data/vendor/thor/lib/thor/parser/argument.rb +0 -67
  1913. data/vendor/thor/lib/thor/parser/arguments.rb +0 -145
  1914. data/vendor/thor/lib/thor/parser/option.rb +0 -132
  1915. data/vendor/thor/lib/thor/parser/options.rb +0 -142
  1916. data/vendor/thor/lib/thor/rake_compat.rb +0 -66
  1917. data/vendor/thor/lib/thor/runner.rb +0 -299
  1918. data/vendor/thor/lib/thor/shell.rb +0 -78
  1919. data/vendor/thor/lib/thor/shell/basic.rb +0 -219
  1920. data/vendor/thor/lib/thor/shell/color.rb +0 -108
  1921. data/vendor/thor/lib/thor/task.rb +0 -122
  1922. data/vendor/thor/lib/thor/util.rb +0 -251
  1923. data/vendor/thor/lib/thor/version.rb +0 -3
  1924. data/vendor/thor/spec/actions/create_file_spec.rb +0 -170
  1925. data/vendor/thor/spec/actions/directory_spec.rb +0 -130
  1926. data/vendor/thor/spec/actions/empty_directory_spec.rb +0 -91
  1927. data/vendor/thor/spec/actions/file_manipulation_spec.rb +0 -249
  1928. data/vendor/thor/spec/actions/inject_into_file_spec.rb +0 -106
  1929. data/vendor/thor/spec/actions_spec.rb +0 -291
  1930. data/vendor/thor/spec/base_spec.rb +0 -236
  1931. data/vendor/thor/spec/core_ext/hash_with_indifferent_access_spec.rb +0 -43
  1932. data/vendor/thor/spec/core_ext/ordered_hash_spec.rb +0 -115
  1933. data/vendor/thor/spec/fixtures/application.rb +0 -2
  1934. data/vendor/thor/spec/fixtures/bundle/execute.rb +0 -6
  1935. data/vendor/thor/spec/fixtures/bundle/main.thor +0 -1
  1936. data/vendor/thor/spec/fixtures/doc/%file_name%.rb.tt +0 -1
  1937. data/vendor/thor/spec/fixtures/doc/README +0 -3
  1938. data/vendor/thor/spec/fixtures/doc/config.rb +0 -1
  1939. data/vendor/thor/spec/fixtures/group.thor +0 -83
  1940. data/vendor/thor/spec/fixtures/invoke.thor +0 -112
  1941. data/vendor/thor/spec/fixtures/script.thor +0 -126
  1942. data/vendor/thor/spec/fixtures/task.thor +0 -10
  1943. data/vendor/thor/spec/group_spec.rb +0 -177
  1944. data/vendor/thor/spec/invocation_spec.rb +0 -107
  1945. data/vendor/thor/spec/parser/argument_spec.rb +0 -47
  1946. data/vendor/thor/spec/parser/arguments_spec.rb +0 -64
  1947. data/vendor/thor/spec/parser/option_spec.rb +0 -212
  1948. data/vendor/thor/spec/parser/options_spec.rb +0 -255
  1949. data/vendor/thor/spec/rake_compat_spec.rb +0 -68
  1950. data/vendor/thor/spec/runner_spec.rb +0 -204
  1951. data/vendor/thor/spec/shell/basic_spec.rb +0 -211
  1952. data/vendor/thor/spec/shell/color_spec.rb +0 -41
  1953. data/vendor/thor/spec/shell_spec.rb +0 -25
  1954. data/vendor/thor/spec/spec.opts +0 -1
  1955. data/vendor/thor/spec/spec_helper.rb +0 -52
  1956. data/vendor/thor/spec/task_spec.rb +0 -88
  1957. data/vendor/thor/spec/thor_spec.rb +0 -234
  1958. data/vendor/thor/spec/util_spec.rb +0 -196
@@ -1,188 +0,0 @@
1
- body {
2
- background-color:#FFFFFF;
3
- }
4
-
5
- .mainbody {
6
- color:#333333;
7
- line-height:150%;
8
- margin: 5px 30px 5px 30px;
9
- }
10
-
11
- a:link, a:active, a:hover {
12
- color:#CC6600;
13
- }
14
-
15
- a:visited {
16
- color:#DD9900;
17
- }
18
-
19
- p {
20
- color:#333333;
21
- line-height:150%;
22
- }
23
-
24
- pre {
25
- width: 100%;
26
- line-height:130%;
27
- white-space:pre;
28
- }
29
-
30
- .program {
31
- border-style:solid;
32
- border-width:1px;
33
- border-color:#6699FF;
34
- color:#333333;
35
- background-color:#DDEEFF;
36
- padding:8px 9px 8px 9px;
37
- margin:0px;
38
- word-break:break-all;
39
- }
40
-
41
- .terminal {
42
- border-style:solid;
43
- border-width:1;
44
- border-color:#999999;
45
- color:#333333;
46
- background-color:#E0E0E0;
47
- padding:9px 10px 9px 10px;
48
- margin:0px;
49
- word-break:break-all;
50
- }
51
-
52
- .output {
53
- border-style:solid;
54
- border-width:1px;
55
- border-color:#CCCCCC;
56
- color:#333333;
57
- background-color:#FFFFFF;
58
- padding:8px 9px 8px 9px;
59
- margin:0px;
60
- word-break:break-all;
61
- }
62
-
63
-
64
- .program_caption {
65
- margin-top: 20px;
66
- }
67
-
68
- .terminal_caption {
69
- margin-top: 20px;
70
- }
71
-
72
- .output_caption {
73
- margin-top: 20px;
74
- }
75
-
76
-
77
- ul,ol,dl {
78
- /* margin:0px; */
79
- /* padding:0px; */
80
- color:#333333;
81
- line-height:140%;
82
- }
83
-
84
- .dt2, .dt3 {
85
- font-weight:bold;
86
- }
87
-
88
- .table1 {
89
- padding:2px;
90
- color:#333333;
91
- background-color:#DDDDCC;
92
- line-height:130%;
93
- /*
94
- border-width:1px;
95
- border-style:solid;
96
- border-color:#FFFFFF;
97
- */
98
- margin:5;
99
- }
100
-
101
- .th1, .th2 {
102
- padding:1px;
103
- color:#333333;
104
- /* background-color:#DDDDCC; */
105
- background-color:#CCCCBB;
106
- line-height:130%;
107
- }
108
-
109
- .td1, .th2 {
110
- padding:1px;
111
- color:#333333;
112
- background-color:#EEEEDD;
113
- line-height:130%;
114
- }
115
-
116
- .caption1, .caption2 {
117
- /* font-size:x-small; */
118
- color:#333333;
119
- }
120
-
121
- .table2 {
122
- padding:1px;
123
- color:#333333;
124
- background-color:#DDDDCC;
125
- line-height:130%;
126
- /*
127
- border-width:1px;
128
- border-style:solid;
129
- border-color:#FFFFFF;
130
- */
131
- margin:5;
132
- }
133
-
134
- h1, .chapter, .doctitle {
135
- color:#333333;
136
- font-weight:bold;
137
- padding:30px 0px 10px 0px;
138
- }
139
-
140
- h2, .section {
141
- color:#333333;
142
- font-weight:bold;
143
- border-style:solid;
144
- border-color:#6699FF;
145
- border-width:0px 0px 2px 30px;
146
- padding:10px 20px 0px 5px;
147
- }
148
-
149
- h3, .subsection {
150
- color:#333333;
151
- font-weight:bold;
152
- border-style:solid;
153
- border-color:#6699FF;
154
- border-width: 0px 0px 0px 15px;
155
- padding: 10px 20px 0px 5px;
156
- }
157
-
158
- .em {
159
- font-weight:bold;
160
- }
161
-
162
- .toc {
163
- /* font-size:small; */
164
- /* line-height:100%; */
165
- }
166
-
167
- .footnote {
168
- font-size:small;
169
- }
170
-
171
- .note {
172
- background-color:#FFFFDD;
173
- border-style:solid;
174
- border-width:0px 1px 0px 1px;
175
- border-color:#DDDD66;
176
- color:#333300;
177
- /* font-size:small; */
178
- line-height:120%;
179
- padding: 5px 20px 5px 20px;
180
- }
181
-
182
- .figure {
183
- /*
184
- border-width:1px;
185
- border-color:#DDDD66;
186
- white-space:pre;
187
- */
188
- }
@@ -1,3285 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html">
5
- <title>Erubis Users' Guide</title>
6
- <meta name="generator" content="kwaser">
7
- <meta http-equiv="Content-Style-Type" content="text/css">
8
- <link rel="stylesheet" href="docstyle.css" type="text/css">
9
- </head>
10
- <body>
11
-
12
- <blockquote>
13
- <div class="mainbody">
14
-
15
- <div align="left"><h1>Erubis Users' Guide</h1></div>
16
- <div align="left">
17
- last update: $Date: 2008-06-13 08:04:21 +0900 (Fri, 13 Jun 2008) $<br>
18
- </div>
19
-
20
- <p>release: 2.6.2
21
- </p>
22
- <a name="preface"></a>
23
- <h2 class="section1">Preface</h2>
24
- <p>Erubis is an implementation of eRuby.
25
- It has the following features.
26
- </p>
27
- <ul type="disc">
28
- <li>Very fast, almost three times faster than ERB and about ten percent faster than eruby (implemented in C)
29
- </li>
30
- <li>File caching of converted Ruby script support
31
- </li>
32
- <li>Auto escaping support
33
- </li>
34
- <li>Auto trimming spaces around '&lt;% %&gt;'
35
- </li>
36
- <li>Embedded pattern changeable (default '&lt;% %&gt;')
37
- </li>
38
- <li>Enable to handle Processing Instructions (PI) as embedded pattern (ex. '&lt;?rb ... ?&gt;')
39
- </li>
40
- <li>Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)
41
- </li>
42
- <li>Context object available and easy to combine eRuby template with YAML datafile
43
- </li>
44
- <li>Print statement available
45
- </li>
46
- <li>Easy to expand and customize in subclass
47
- </li>
48
- <li><a href="#rails">Ruby on Rails support</a>
49
- </li>
50
- <li>mod_ruby support|#topcs-modruby
51
- </li>
52
- </ul>
53
- <p>Erubis is implemented in pure Ruby. It requires Ruby 1.8 or higher.
54
- Erubis now supports Ruby 1.9.
55
- </p>
56
- <a name="toc"></a>
57
- <h3 class="section2">Table of Contents</h3>
58
- <ul>
59
- <li><a href="#preface">Preface</a>
60
- <ul>
61
- <li><a href="#toc">Table of Contents</a>
62
- </li>
63
- </ul>
64
- </li>
65
- <li><a href="#install">Installation</a>
66
- </li>
67
- <li><a href="#tutorial">Tutorial</a>
68
- <ul>
69
- <li><a href="#tut-basic">Basic Example</a>
70
- </li>
71
- <li><a href="#tut-trim">Trimming Spaces</a>
72
- </li>
73
- <li><a href="#tut-escape">Escape</a>
74
- </li>
75
- <li><a href="#tut-pattern">Embedded Pattern</a>
76
- </li>
77
- <li><a href="#tut-context">Context Object</a>
78
- </li>
79
- <li><a href="#tut-datafile">Context Data File</a>
80
- </li>
81
- <li><a href="#tut-datastr">Context Data String</a>
82
- </li>
83
- <li><a href="#tut-preamble">Preamble and Postamble</a>
84
- </li>
85
- <li><a href="#tut-pi">Processing Instruction (PI) Converter</a>
86
- </li>
87
- <li><a href="#tut-notext">Retrieve Ruby Code</a>
88
- </li>
89
- </ul>
90
- </li>
91
- <li><a href="#enhancer">Enhancer</a>
92
- <ul>
93
- <li><a href="#escape-enhancer">EscapeEnhancer</a>
94
- </li>
95
- <li><a href="#stdout-enhancer">StdoutEnhancer</a>
96
- </li>
97
- <li><a href="#printout-enhancer">PrintOutEnhancer</a>
98
- </li>
99
- <li><a href="#printenabled-enhancer">PrintEnabledEnhancer</a>
100
- </li>
101
- <li><a href="#array-enhancer">ArrayEnhancer</a>
102
- </li>
103
- <li><a href="#arraybuffer-enhancer">ArrayBufferEnhancer</a>
104
- </li>
105
- <li><a href="#stringbuffer-enhancer">StringBufferEnhancer</a>
106
- </li>
107
- <li><a href="#erbout-enhancer">ErboutEnhancer</a>
108
- </li>
109
- <li><a href="#notext-enhancer">NoTextEnhancer</a>
110
- </li>
111
- <li><a href="#nocode-enhancer">NoCodeEnhancer</a>
112
- </li>
113
- <li><a href="#simplify-enhancer">SimplifyEnhancer</a>
114
- </li>
115
- <li><a href="#bipattern-enhancer">BiPatternEnhancer</a>
116
- </li>
117
- <li><a href="#percentline-enhancer">PercentLineEnhancer</a>
118
- </li>
119
- <li><a href="#headerfooter-enhancer">HeaderFooterEnhancer</a>
120
- </li>
121
- <li><a href="#interpolation-enhancer">InterpolationEnhancer</a>
122
- </li>
123
- <li><a href="#deleteindent-enhancer">DeleteIndentEnhancer</a>
124
- </li>
125
- </ul>
126
- </li>
127
- <li><a href="#lang">Multi-Language Support</a>
128
- <ul>
129
- <li><a href="#lang-php">PHP</a>
130
- </li>
131
- <li><a href="#lang-c">C</a>
132
- </li>
133
- <li><a href="#lang-java">Java</a>
134
- </li>
135
- <li><a href="#lang-scheme">Scheme</a>
136
- </li>
137
- <li><a href="#lang-perl">Perl</a>
138
- </li>
139
- <li><a href="#lang-javascript">JavaScript</a>
140
- </li>
141
- </ul>
142
- </li>
143
- <li><a href="#rails">Ruby on Rails Support</a>
144
- <ul>
145
- <li><a href="#rails-settings">Settings</a>
146
- </li>
147
- <li><a href="#rails-preprocessing">Preprosessing</a>
148
- </li>
149
- <li><a href="#rails-formhelpers">Form Helpers for Preprocessing</a>
150
- </li>
151
- <li><a href="#rails-others">Others</a>
152
- </li>
153
- </ul>
154
- </li>
155
- <li><a href="#topics">Other Topics</a>
156
- <ul>
157
- <li><a href="#'&lt;%= =%&gt;' and '&lt;%= -%&gt;'">'&lt;%= =%&gt;' and '&lt;%= -%&gt;'</a>
158
- </li>
159
- <li><a href="#'&lt;%% %&gt;' and '&lt;%%= %&gt;'">'&lt;%% %&gt;' and '&lt;%%= %&gt;'</a>
160
- </li>
161
- <li><a href="#topics-context-vs-binding">evaluate(context) v.s. result(binding)</a>
162
- </li>
163
- <li><a href="#topics-fasteruby">Class Erubis::FastEruby</a>
164
- </li>
165
- <li><a href="#topics-syntax">Syntax Checking</a>
166
- </li>
167
- <li><a href="#topics-caching">File Caching</a>
168
- </li>
169
- <li><a href="#topics-tinyeruby">Erubis::TinyEruby class</a>
170
- </li>
171
- <li><a href="#topics-php">NoTextEnhancer and NoCodeEnhancer in PHP</a>
172
- </li>
173
- <li><a href="#topcs-modruby">Helper Class for mod_ruby</a>
174
- </li>
175
- <li><a href="#topics-defmethod">Define method</a>
176
- </li>
177
- <li><a href="#topics-benchmark">Benchmark</a>
178
- </li>
179
- </ul>
180
- </li>
181
- <li><a href="#command">Command Reference</a>
182
- <ul>
183
- <li><a href="#command-usage">Usage</a>
184
- </li>
185
- <li><a href="#command-options">Options</a>
186
- </li>
187
- <li><a href="#command-props">Properties</a>
188
- </li>
189
- </ul>
190
- </li>
191
- </ul>
192
- <br>
193
-
194
-
195
- <br>
196
-
197
-
198
- <a name="install"></a>
199
- <h2 class="section1">Installation</h2>
200
- <ul type="disc">
201
- <li>If you have installed RubyGems, just type <code>gem install --remote erubis</code>.
202
- <pre class="terminal">$ sudo gem install --remote erubis
203
- </pre>
204
- </li>
205
- </ul>
206
- <ul type="disc">
207
- <li>Else install <a href="http://rubyforge.org/projects/erubis/">abstract</a> at first,
208
- and download erubis_X.X.X.tar.bz2 and install it by setup.rb.
209
- <pre class="terminal">$ tar xjf abstract_X.X.X.tar.bz2
210
- $ cd abstract_X.X.X/
211
- $ sudo ruby setup.rb
212
- $ cd ..
213
- $ tar xjf erubis_X.X.X.tar.bz2
214
- $ cd erubis_X.X.X/
215
- $ sudo ruby setup.rb
216
- </pre>
217
- </li>
218
- </ul>
219
- <ul type="disc">
220
- <li>(Optional) 'contrib/inline-require' enables you to merge 'lib/**/*.rb' into 'bin/erubis'.
221
- <pre class="terminal">$ tar xjf erubis_X.X.X.tar.bz2
222
- $ cd erubis_X.X.X/
223
- $ unset RUBYLIB
224
- $ contrib/inline-require -I lib bin/erubis &gt; contrib/erubis
225
- </pre>
226
- </li>
227
- </ul>
228
- <br>
229
-
230
-
231
- <a name="tutorial"></a>
232
- <h2 class="section1">Tutorial</h2>
233
- <a name="tut-basic"></a>
234
- <h3 class="section2">Basic Example</h3>
235
- <p>Here is a basic example of Erubis.
236
- </p>
237
- <a name="example1.eruby"></a>
238
- <div class="program_caption">
239
- example1.eruby</div>
240
- <pre class="program">&lt;ul&gt;
241
- <strong>&lt;% for item in list %&gt;</strong>
242
- &lt;li&gt;<strong>&lt;%= item %&gt;</strong>&lt;/li&gt;
243
- <strong>&lt;% end %&gt;</strong>
244
- <strong>&lt;%# here is ignored because starting with '#' %&gt;</strong>
245
- &lt;/ul&gt;
246
- </pre>
247
- <a name="example1.rb"></a>
248
- <div class="program_caption">
249
- example1.rb</div>
250
- <pre class="program">require 'erubis'
251
- input = File.read('example1.eruby')
252
- eruby = <strong>Erubis::Eruby.new(input)</strong> # create Eruby object
253
-
254
- puts "---------- script source ---"
255
- puts <strong>eruby.src</strong> # print script source
256
-
257
- puts "---------- result ----------"
258
- list = ['aaa', 'bbb', 'ccc']
259
- puts <strong>eruby.result(binding())</strong> # get result
260
- ## or puts eruby.result(<strong>:list=&gt;list</strong>) # or pass Hash instead of Binding
261
-
262
- ## # or
263
- ## eruby = Erubis::Eruby.new
264
- ## input = File.read('example1.eruby')
265
- ## src = eruby.convert(input)
266
- ## eval src
267
- </pre>
268
- <a name="example1.result"></a>
269
- <div class="terminal_caption">
270
- output</div>
271
- <pre class="terminal">$ ruby example1.rb
272
- ---------- script source ---
273
- _buf = ''; _buf &lt;&lt; '&lt;ul&gt;
274
- '; for item in list
275
- _buf &lt;&lt; ' &lt;li&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/li&gt;
276
- '; end
277
-
278
- _buf &lt;&lt; '&lt;/ul&gt;
279
- ';
280
- _buf.to_s
281
- ---------- result ----------
282
- &lt;ul&gt;
283
- &lt;li&gt;aaa&lt;/li&gt;
284
- &lt;li&gt;bbb&lt;/li&gt;
285
- &lt;li&gt;ccc&lt;/li&gt;
286
- &lt;/ul&gt;
287
- </pre>
288
- <p>Erubis has command 'erubis'. Command-line option '-x' shows the compiled source code of eRuby script.
289
- </p>
290
- <a name="example1_x.result"></a>
291
- <div class="terminal_caption">
292
- example of command-line option '-x'</div>
293
- <pre class="terminal">$ erubis <strong>-x</strong> example1.eruby
294
- _buf = ''; _buf &lt;&lt; '&lt;ul&gt;
295
- '; for item in list
296
- _buf &lt;&lt; ' &lt;li&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/li&gt;
297
- '; end
298
-
299
- _buf &lt;&lt; '&lt;/ul&gt;
300
- ';
301
- _buf.to_s
302
- </pre>
303
- <br>
304
-
305
-
306
- <a name="tut-trim"></a>
307
- <h3 class="section2">Trimming Spaces</h3>
308
- <p>Erubis deletes spaces around '&lt;% %&gt;' automatically, while it leaves spaces around '&lt;%= %&gt;'.
309
- </p>
310
- <a name="example2.eruby.comment_filter"></a>
311
- <div class="program_caption">
312
- example2.eruby</div>
313
- <pre class="program">&lt;ul&gt;
314
- &lt;% for item in list %&gt; # trimmed
315
- &lt;li&gt;
316
- &lt;%= item %&gt; # not trimmed
317
- &lt;/li&gt;
318
- &lt;% end %&gt; # trimmed
319
- &lt;/ul&gt;
320
- </pre>
321
- <a name="example2_x.result"></a>
322
- <div class="terminal_caption">
323
- compiled source code</div>
324
- <pre class="terminal">$ erubis -x example2.eruby
325
- _buf = ''; _buf &lt;&lt; '&lt;ul&gt;
326
- '; for item in list
327
- _buf &lt;&lt; ' &lt;li&gt;
328
- '; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '
329
- '; _buf &lt;&lt; ' &lt;/li&gt;
330
- '; end
331
- _buf &lt;&lt; '&lt;/ul&gt;
332
- ';
333
- _buf.to_s
334
- </pre>
335
- <p>If you want leave spaces around '&lt;% %&gt;', add command-line property '--trim=false'.
336
- </p>
337
- <a name="example2_trim.result"></a>
338
- <div class="terminal_caption">
339
- compiled source code with command-line property '--trim=false'</div>
340
- <pre class="terminal">$ erubis -x <strong>--trim=false</strong> example2.eruby
341
- _buf = ''; _buf &lt;&lt; '&lt;ul&gt;
342
- '; _buf &lt;&lt; ' '; for item in list ; _buf &lt;&lt; '
343
- '; _buf &lt;&lt; ' &lt;li&gt;
344
- '; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '
345
- '; _buf &lt;&lt; ' &lt;/li&gt;
346
- '; _buf &lt;&lt; ' '; end ; _buf &lt;&lt; '
347
- '; _buf &lt;&lt; '&lt;/ul&gt;
348
- ';
349
- _buf.to_s
350
- </pre>
351
- <p>Or add option <code>:trim=&gt;false</code> to Erubis::Eruby.new().
352
- </p>
353
- <a name="example2.rb"></a>
354
- <div class="program_caption">
355
- example2.rb</div>
356
- <pre class="program">require 'erubis'
357
- input = File.read('example2.eruby')
358
- eruby = Erubis::Eruby.new(input<strong>, :trim=&gt;false</strong>)
359
-
360
- puts "----- script source ---"
361
- puts eruby.src # print script source
362
-
363
- puts "----- result ----------"
364
- list = ['aaa', 'bbb', 'ccc']
365
- puts eruby.result(binding()) # get result
366
- </pre>
367
- <a name="example2.result"></a>
368
- <div class="terminal_caption">
369
- output</div>
370
- <pre class="terminal">$ ruby example2.rb
371
- ----- script source ---
372
- _buf = ''; _buf &lt;&lt; '&lt;ul&gt;
373
- '; <strong>_buf &lt;&lt; ' ';</strong> for item in list ; _buf &lt;&lt; '
374
- '; _buf &lt;&lt; ' &lt;li&gt;
375
- '; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '
376
- '; _buf &lt;&lt; ' &lt;/li&gt;
377
- '; <strong>_buf &lt;&lt; ' ';</strong> end ; _buf &lt;&lt; '
378
- '; _buf &lt;&lt; '&lt;/ul&gt;
379
- ';
380
- _buf.to_s
381
- ----- result ----------
382
- &lt;ul&gt;
383
-
384
- &lt;li&gt;
385
- aaa
386
- &lt;/li&gt;
387
-
388
- &lt;li&gt;
389
- bbb
390
- &lt;/li&gt;
391
-
392
- &lt;li&gt;
393
- ccc
394
- &lt;/li&gt;
395
-
396
- &lt;/ul&gt;
397
- </pre>
398
- <br>
399
-
400
-
401
- <a name="tut-escape"></a>
402
- <h3 class="section2">Escape</h3>
403
- <p>Erubis has ability to escape (sanitize) expression.
404
- Erubis::Eruby class act as the following:
405
- </p>
406
- <ul type="disc">
407
- <li><code>&lt;%= <em>expr</em> %&gt;</code> - not escaped.
408
- </li>
409
- <li><code>&lt;%== <em>expr</em> %&gt;</code> - escaped.
410
- </li>
411
- <li><code>&lt;%=== <em>expr</em> %&gt;</code> - out to $stderr.
412
- </li>
413
- <li><code>&lt;%==== <em>expr</em> %&gt;</code> - ignored.
414
- </li>
415
- </ul>
416
- <p>Erubis::EscapedEruby<sup>(<a href="#fnref:1" name="fnlink:1">*1</a>)</sup> class handle '&lt;%= %&gt;' as escaped and '&lt;%== %&gt;' as not escaped.
417
- It means that using Erubis::EscapedEruby you can escape expression by default.
418
- Also Erubis::XmlEruby class (which is equivalent to Erubis::EscapedEruby) is provided for compatibility with Erubis 1.1.
419
- </p>
420
- <a name="example3.eruby"></a>
421
- <div class="program_caption">
422
- example3.eruby</div>
423
- <pre class="program">&lt;% for item in list %&gt;
424
- &lt;p&gt;<strong>&lt;%=</strong> item <strong>%&gt;</strong>&lt;/p&gt;
425
- &lt;p&gt;<strong>&lt;%==</strong> item <strong>%&gt;</strong>&lt;/p&gt;
426
- &lt;p&gt;<strong>&lt;%===</strong> item <strong>%&gt;</strong>&lt;/p&gt;
427
-
428
- &lt;% end %&gt;
429
- </pre>
430
- <a name="example3.rb"></a>
431
- <div class="program_caption">
432
- example3.rb</div>
433
- <pre class="program">require 'erubis'
434
- input = File.read('example3.eruby')
435
- eruby = Erubis::<strong>EscapedEruby</strong>.new(input) # or Erubis::XmlEruby
436
-
437
- puts "----- script source ---"
438
- puts eruby.src # print script source
439
-
440
- puts "----- result ----------"
441
- <strong>list = ['&lt;aaa&gt;', 'b&amp;b', '"ccc"']</strong>
442
- puts eruby.result(binding()) # get result
443
- </pre>
444
- <a name="example3.result.split_filter"></a>
445
- <div class="terminal_caption">
446
- output</div>
447
- <pre class="terminal">$ ruby example3.rb 2&gt; stderr.log
448
- ----- script source ---
449
- _buf = ''; for item in list
450
- _buf &lt;&lt; ' &lt;p&gt;'; <strong>_buf &lt;&lt; Erubis::XmlHelper.escape_xml( item )</strong>; _buf &lt;&lt; '&lt;/p&gt;
451
- &lt;p&gt;'; <strong>_buf &lt;&lt; ( item ).to_s</strong>; _buf &lt;&lt; '&lt;/p&gt;
452
- &lt;p&gt;'; <strong>$stderr.puts("*** debug: item=#{(item).inspect}")</strong>; _buf &lt;&lt; '&lt;/p&gt;
453
-
454
- '; end
455
- _buf.to_s
456
- ----- result ----------
457
- &lt;p&gt;<strong>&amp;lt;aaa&amp;gt;</strong>&lt;/p&gt;
458
- &lt;p&gt;&lt;aaa&gt;&lt;/p&gt;
459
- &lt;p&gt;&lt;/p&gt;
460
-
461
- &lt;p&gt;<strong>b&amp;amp;b</strong>&lt;/p&gt;
462
- &lt;p&gt;b&amp;b&lt;/p&gt;
463
- &lt;p&gt;&lt;/p&gt;
464
-
465
- &lt;p&gt;<strong>&amp;quot;ccc&amp;quot;</strong>&lt;/p&gt;
466
- &lt;p&gt;"ccc"&lt;/p&gt;
467
- &lt;p&gt;&lt;/p&gt;
468
-
469
- $ cat stderr.log
470
- *** debug: item="&lt;aaa&gt;"
471
- *** debug: item="b&amp;b"
472
- *** debug: item="\"ccc\""
473
- </pre>
474
- <p>The command-line option '-e' will do the same action as Erubis::EscapedEruby.
475
- This option is available for any language.
476
- </p>
477
- <a name="example3_e.result"></a>
478
- <pre class="terminal">$ erubis -l ruby <strong>-e</strong> example3.eruby
479
- _buf = ''; for item in list
480
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
481
- &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
482
- &lt;p&gt;'; $stderr.puts("*** debug: item=#{(item).inspect}"); _buf &lt;&lt; '&lt;/p&gt;
483
-
484
- '; end
485
- _buf.to_s
486
- </pre>
487
- <p>Escaping function (default 'Erubis::XmlHelper.escape_xml()') can be changed by command-line property '--escapefunc=xxx' or by overriding Erubis::Eruby#escaped_expr() in subclass.
488
- </p>
489
- <div class="program_caption">
490
- example to override Erubis::Eruby#escaped_expr()</div>
491
- <pre class="program">class CGIEruby &lt; Erubis::Eruby
492
- def <strong>escaped_expr(code)</strong>
493
- return "CGI.escapeHTML((#{code.strip}).to_s)"
494
- #return "h(#{code.strip})"
495
- end
496
- end
497
-
498
- class LatexEruby &lt; Erubi::Eruby
499
- def <strong>escaped_expr(code)</strong>
500
- return "(#{code}).gsub(/[%\\]/,'\\\\\&amp;')"
501
- end
502
- end
503
- </pre>
504
- <div class="footnote">
505
- <dl compact>
506
- <dt>(<a name="fnref:1" href="#fnlink:1">*1</a>)</dt>
507
- <dd>Erubis::EscapedEruby class includes Erubis::EscapeEnhancer which swtches the action of '&lt;%= %&gt;' and '&lt;%== %&gt;'.</dd>
508
- </dl>
509
- </div>
510
- <br>
511
-
512
-
513
- <a name="tut-pattern"></a>
514
- <h3 class="section2">Embedded Pattern</h3>
515
- <p>You can change embedded pattern '<code>&lt;% %&gt;</code>' to another by command-line option '-p' or option '<code>:pattern=&gt;...</code>' of Erubis::Eruby.new().
516
- </p>
517
- <a name="example4.eruby"></a>
518
- <div class="program_caption">
519
- example4.eruby</div>
520
- <pre class="program"><strong>&lt;!--%</strong> for item in list <strong>%--&gt;</strong>
521
- &lt;p&gt;<strong>&lt;!--%=</strong> item <strong>%--&gt;</strong>&lt;/p&gt;
522
- <strong>&lt;!--%</strong> end <strong>%--&gt;</strong>
523
- </pre>
524
- <a name="example4_x.result"></a>
525
- <div class="terminal_caption">
526
- compiled source code with command-line option '-p'</div>
527
- <pre class="terminal">$ erubis -x <strong>-p '&lt;!--% %--&gt;'</strong> example4.eruby
528
- _buf = ''; for item in list
529
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
530
- '; end
531
- _buf.to_s
532
- </pre>
533
- <a name="example4.rb"></a>
534
- <div class="program_caption">
535
- example4.rb</div>
536
- <pre class="program">require 'erubis'
537
- input = File.read('example4.eruby')
538
- eruby = Erubis::Eruby.new(input<strong>, :pattern=&gt;'&lt;!--% %--&gt;'</strong>)
539
- # or '&lt;(?:!--)?% %(?:--)?&gt;'
540
-
541
- puts "---------- script source ---"
542
- puts eruby.src # print script source
543
-
544
- puts "---------- result ----------"
545
- list = ['aaa', 'bbb', 'ccc']
546
- puts eruby.result(binding()) # get result
547
- </pre>
548
- <a name="example4.result"></a>
549
- <div class="terminal_caption">
550
- output</div>
551
- <pre class="terminal">$ ruby example4.rb
552
- ---------- script source ---
553
- _buf = ''; for item in list
554
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
555
- '; end
556
- _buf.to_s
557
- ---------- result ----------
558
- &lt;p&gt;aaa&lt;/p&gt;
559
- &lt;p&gt;bbb&lt;/p&gt;
560
- &lt;p&gt;ccc&lt;/p&gt;
561
- </pre>
562
- <p>It is able to specify regular expression with :pattern option.
563
- Notice that you must use '<code>(?: )</code>' instead of '<code>( )</code>' for grouping.
564
- For example, '<code>&lt;(!--)?% %(--)?&gt;</code>' will not work while '<code>&lt;(?:!--)?% %(?:--)?&gt;</code>' will work.
565
- </p>
566
- <br>
567
-
568
-
569
- <a name="tut-context"></a>
570
- <h3 class="section2">Context Object</h3>
571
- <p>Context object is a set of data which are used in eRuby script.
572
- Using context object makes clear which data to be used.
573
- In Erubis, Hash object and Erubis::Context object are available as context object.
574
- </p>
575
- <p>Context data can be accessible via instance variables in eRuby script.
576
- </p>
577
- <a name="example5.eruby"></a>
578
- <div class="program_caption">
579
- example5.eruby</div>
580
- <pre class="program">&lt;span&gt;&lt;%= <strong>@val</strong> %&gt;&lt;/span&gt;
581
- &lt;ul&gt;
582
- &lt;% for item in <strong>@list</strong> %&gt;
583
- &lt;li&gt;&lt;%= item %&gt;&lt;/li&gt;
584
- &lt;% end %&gt;
585
- &lt;/ul&gt;
586
- </pre>
587
- <a name="example5.rb"></a>
588
- <div class="program_caption">
589
- example5.rb</div>
590
- <pre class="program">require 'erubis'
591
- input = File.read('example5.eruby')
592
- eruby = Erubis::Eruby.new(input) # create Eruby object
593
-
594
- ## create context object
595
- ## (key means var name, which may be string or symbol.)
596
- <strong>context = {
597
- :val =&gt; 'Erubis Example',
598
- 'list' =&gt; ['aaa', 'bbb', 'ccc'],
599
- }</strong>
600
- ## or
601
- # context = Erubis::Context.new()
602
- # context['val'] = 'Erubis Example'
603
- # context[:list] = ['aaa', 'bbb', 'ccc'],
604
-
605
- puts <strong>eruby.evaluate(context)</strong> # get result
606
- </pre>
607
- <a name="example5.result"></a>
608
- <div class="terminal_caption">
609
- output</div>
610
- <pre class="terminal">$ ruby example5.rb
611
- &lt;span&gt;Erubis Example&lt;/span&gt;
612
- &lt;ul&gt;
613
- &lt;li&gt;aaa&lt;/li&gt;
614
- &lt;li&gt;bbb&lt;/li&gt;
615
- &lt;li&gt;ccc&lt;/li&gt;
616
- &lt;/ul&gt;
617
- </pre>
618
- <p>The difference between Erubis#result(binding) and Erubis#evaluate(context) is that the former invokes 'eval @src, binding' and the latter invokes 'context.instance_eval @src'.
619
- This means that data is passed into eRuby script via local variables when Eruby::binding() is called, or passed via instance variables when Eruby::evaluate() is called.
620
- </p>
621
- <p>Here is the definition of Erubis#result() and Erubis#evaluate().
622
- </p>
623
- <div class="program_caption">
624
- definition of result(binding) and evaluate(context)</div>
625
- <pre class="program">def result(_binding=TOPLEVEL_BINDING)
626
- if _binding.is_a?(Hash)
627
- # load hash data as local variable
628
- _h = _binding
629
- _binding = binding()
630
- eval _h.collect{|k,v| "#{k} = _h[#{k.inspect}];"}.join, _binding
631
- end
632
- return <strong>eval(@src, _binding)</strong>
633
- end
634
-
635
- def evaluate(_context=Erubis::Context.new)
636
- if _context.is_a?(Hash)
637
- # convert hash object to Context object
638
- _hash = _context
639
- _context = Erubis::Context.new
640
- _hash.each {|k, v| _context[k] = v }
641
- end
642
- return <strong>_context.instance_eval(@src)</strong>
643
- end
644
- </pre>
645
- <p>instance_eval() is defined at Object class so it is able to use any object as a context object as well as Hash or Erubis::Context.
646
- </p>
647
- <a name="example6.rb"></a>
648
- <div class="program_caption">
649
- example6.rb</div>
650
- <pre class="program">class MyData
651
- attr_accessor :val, :list
652
- end
653
-
654
- ## any object can be a context object
655
- <strong>mydata = MyData.new</strong>
656
- <strong>mydata.val = 'Erubis Example'</strong>
657
- <strong>mydata.list = ['aaa', 'bbb', 'ccc']</strong>
658
-
659
- require 'erubis'
660
- eruby = Erubis::Eruby.new(File.read('example5.eruby'))
661
- puts eruby.evaluate(<strong>mydata</strong>)
662
- </pre>
663
- <a name="example6.result"></a>
664
- <div class="terminal_caption">
665
- output</div>
666
- <pre class="terminal">$ ruby example6.rb
667
- &lt;span&gt;Erubis Example&lt;/span&gt;
668
- &lt;ul&gt;
669
- &lt;li&gt;aaa&lt;/li&gt;
670
- &lt;li&gt;bbb&lt;/li&gt;
671
- &lt;li&gt;ccc&lt;/li&gt;
672
- &lt;/ul&gt;
673
- </pre>
674
- <p>It is recommended to use 'Erubis::Eruby#evaluate(context)' rather than 'Erubis::Eruby#result(binding())' because the latter has some problems.
675
- See <a href="#topics-context-vs-binding">evaluate(context) v.s. result(binding)</a> section for details.
676
- </p>
677
- <br>
678
-
679
-
680
- <a name="tut-datafile"></a>
681
- <h3 class="section2">Context Data File</h3>
682
- <p>Command-line option '-f' specifies context data file.
683
- Erubis load context data file and use it as context data.
684
- Context data file can be YAML file ('*.yaml' or '*.yml') or Ruby script ('*.rb').
685
- </p>
686
- <a name="example7.eruby"></a>
687
- <div class="program_caption">
688
- example7.eruby</div>
689
- <pre class="program">&lt;h1&gt;&lt;%= <strong>@title</strong> %&gt;&lt;/h1&gt;
690
- &lt;ul&gt;
691
- &lt;% for user in <strong>@users</strong> %&gt;
692
- &lt;li&gt;
693
- &lt;a href="mailto:&lt;%= user['mail']%&gt;"&gt;&lt;%= user['name'] %&gt;&lt;/a&gt;
694
- &lt;/li&gt;
695
- &lt;% end %&gt;
696
- &lt;/ul&gt;
697
- </pre>
698
- <a name="context.yaml"></a>
699
- <div class="program_caption">
700
- context.yaml</div>
701
- <pre class="program"><strong>title:</strong> Users List
702
- <strong>users:</strong>
703
- - name: foo
704
- mail: foo@mail.com
705
- - name: bar
706
- mail: bar@mail.net
707
- - name: baz
708
- mail: baz@mail.org
709
- </pre>
710
- <a name="context.rb"></a>
711
- <div class="program_caption">
712
- context.rb</div>
713
- <pre class="program">@title = 'Users List'
714
- @users = [
715
- { 'name'=&gt;'foo', 'mail'=&gt;'foo@mail.com' },
716
- { 'name'=&gt;'bar', 'mail'=&gt;'bar@mail.net' },
717
- { 'name'=&gt;'baz', 'mail'=&gt;'baz@mail.org' },
718
- ]
719
- </pre>
720
- <a name="example7.result.split_filter"></a>
721
- <div class="terminal_caption">
722
- example of command-line option '-f'</div>
723
- <pre class="terminal">$ erubis <strong>-f context.yaml</strong> example7.eruby
724
- &lt;h1&gt;Users List&lt;/h1&gt;
725
- &lt;ul&gt;
726
- &lt;li&gt;
727
- &lt;a href="mailto:foo@mail.com"&gt;foo&lt;/a&gt;
728
- &lt;/li&gt;
729
- &lt;li&gt;
730
- &lt;a href="mailto:bar@mail.net"&gt;bar&lt;/a&gt;
731
- &lt;/li&gt;
732
- &lt;li&gt;
733
- &lt;a href="mailto:baz@mail.org"&gt;baz&lt;/a&gt;
734
- &lt;/li&gt;
735
- &lt;/ul&gt;
736
- $ erubis <strong>-f context.rb</strong> example7.eruby
737
- &lt;h1&gt;Users List&lt;/h1&gt;
738
- &lt;ul&gt;
739
- &lt;li&gt;
740
- &lt;a href="mailto:foo@mail.com"&gt;foo&lt;/a&gt;
741
- &lt;/li&gt;
742
- &lt;li&gt;
743
- &lt;a href="mailto:bar@mail.net"&gt;bar&lt;/a&gt;
744
- &lt;/li&gt;
745
- &lt;li&gt;
746
- &lt;a href="mailto:baz@mail.org"&gt;baz&lt;/a&gt;
747
- &lt;/li&gt;
748
- &lt;/ul&gt;
749
- </pre>
750
- <p>Command-line option '-S' converts keys of mapping in YAML data file from string into symbol.
751
- Command-line option '-B' invokes 'Erubis::Eruby#result(binding())' instead of 'Erubis::Eruby#evaluate(context)'.
752
- </p>
753
- <br>
754
-
755
-
756
- <a name="tut-datastr"></a>
757
- <h3 class="section2">Context Data String</h3>
758
- <p>Command-line option '-c <em>str</em>' enables you to specify context data in command-line.
759
- <em>str</em> can be YAML flow-style or Ruby code.
760
- </p>
761
- <a name="example8.eruby"></a>
762
- <div class="program_caption">
763
- example8.eruby</div>
764
- <pre class="program">&lt;h1&gt;&lt;%= @title %&gt;&lt;/h1&gt;
765
- &lt;ul&gt;
766
- &lt;% for item in @list %&gt;
767
- &lt;li&gt;&lt;%= item %&gt;&lt;/li&gt;
768
- &lt;% end %&gt;
769
- &lt;/ul&gt;
770
- </pre>
771
- <a name="example8_yaml.result"></a>
772
- <div class="terminal_caption">
773
- example of YAML flow style</div>
774
- <pre class="terminal">$ erubis <strong>-c '{title: Example, list: [AAA, BBB, CCC]}'</strong> example8.eruby
775
- &lt;h1&gt;Example&lt;/h1&gt;
776
- &lt;ul&gt;
777
- &lt;li&gt;AAA&lt;/li&gt;
778
- &lt;li&gt;BBB&lt;/li&gt;
779
- &lt;li&gt;CCC&lt;/li&gt;
780
- &lt;/ul&gt;
781
- </pre>
782
- <a name="example8_ruby.result"></a>
783
- <div class="terminal_caption">
784
- example of Ruby code</div>
785
- <pre class="terminal">$ erubis <strong>-c '@title="Example"; @list=%w[AAA BBB CCC]'</strong> example8.eruby
786
- &lt;h1&gt;Example&lt;/h1&gt;
787
- &lt;ul&gt;
788
- &lt;li&gt;AAA&lt;/li&gt;
789
- &lt;li&gt;BBB&lt;/li&gt;
790
- &lt;li&gt;CCC&lt;/li&gt;
791
- &lt;/ul&gt;
792
- </pre>
793
- <br>
794
-
795
-
796
- <a name="tut-preamble"></a>
797
- <h3 class="section2">Preamble and Postamble</h3>
798
- <p>The first line ('_buf = '';') in the compiled source code is called preamble
799
- and the last line ('_buf.to_s') is called postamble.
800
- </p>
801
- <p>Command-line option '-b' skips the output of preamble and postamble.
802
- </p>
803
- <a name="example9.eruby"></a>
804
- <div class="program_caption">
805
- example9.eruby</div>
806
- <pre class="program">&lt;% for item in @list %&gt;
807
- &lt;b&gt;&lt;%= item %&gt;&lt;/b&gt;
808
- &lt;% end %&gt;
809
- </pre>
810
- <a name="example9.result.split_filter"></a>
811
- <div class="terminal_caption">
812
- compiled source code with and without command-line option '-b'</div>
813
- <pre class="terminal">$ erubis -x example9.eruby
814
- <strong>_buf = '';</strong> for item in @list
815
- _buf &lt;&lt; ' &lt;b&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/b&gt;
816
- '; end
817
- <strong>_buf.to_s</strong>
818
- $ erubis -x <strong>-b</strong> example9.eruby
819
- for item in @list
820
- _buf &lt;&lt; ' &lt;b&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/b&gt;
821
- '; end
822
- </pre>
823
- <p>Erubis::Eruby.new option '<code>:preamble=&gt;false</code>' and '<code>:postamble=&gt;false</code>' also suppress output of preamble or postamle.
824
- </p>
825
- <a name="example9.rb"></a>
826
- <div class="program_caption">
827
- example9.rb</div>
828
- <pre class="program">require 'erubis'
829
- input = File.read('example9.eruby')
830
- eruby1 = Erubis::Eruby.new(input)
831
- eruby2 = Erubis::Eruby.new(input, <strong>:preamble=&gt;false, :postamble=&gt;false</strong>)
832
-
833
- puts eruby1.src # print preamble and postamble
834
- puts "--------------"
835
- puts eruby2.src # don't print preamble and postamble
836
- </pre>
837
- <a name="example9.result"></a>
838
- <div class="terminal_caption">
839
- output</div>
840
- <pre class="terminal">$ ruby example9.rb
841
- _buf = ''; for item in @list
842
- _buf &lt;&lt; ' &lt;b&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/b&gt;
843
- '; end
844
- _buf.to_s
845
- --------------
846
- for item in @list
847
- _buf &lt;&lt; ' &lt;b&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/b&gt;
848
- '; end
849
- </pre>
850
- <br>
851
-
852
-
853
- <a name="tut-pi"></a>
854
- <h3 class="section2">Processing Instruction (PI) Converter</h3>
855
- <p>Erubis can parse Processing Instructions (PI) as embedded pattern.
856
- </p>
857
- <ul type="disc">
858
- <li>'<code>&lt;?rb <em>...</em> ?&gt;</code>' represents Ruby statement.
859
- </li>
860
- <li>'<code>@{<em>...</em>}@</code>' represents escaped expression value.
861
- </li>
862
- <li>'<code>@!{<em>...</em>}@</code>' represents normal expression value.
863
- </li>
864
- <li>'<code>@!!{<em>...</em>}@</code>' prints expression value to standard output.
865
- </li>
866
- <li>(experimental) '<code>&lt;%= <em>...</em> %&gt;</code>' is also available to print expression value.
867
- </li>
868
- </ul>
869
- <p>This is more useful than basic embedded pattern ('<code>&lt;% ... &gt;</code>') because PI doesn't break XML or HTML at all.
870
- For example the following XHTML file is well-formed and HTML validator got no errors on this example.
871
- </p>
872
- <a name="example10.xhtml"></a>
873
- <div class="program_caption">
874
- example10.xhtml</div>
875
- <pre class="program">&lt;?xml version="1.0" ?&gt;
876
- <strong>&lt;?rb
877
- lang = 'en'
878
- list = ['&lt;aaa&gt;', 'b&amp;b', '"ccc"']
879
- ?&gt;</strong>
880
- &lt;html lang="<strong>@!{lang}@</strong>"&gt;
881
- &lt;body&gt;
882
- &lt;ul&gt;
883
- <strong>&lt;?rb for item in list ?&gt;</strong>
884
- &lt;li&gt;<strong>@{item}@</strong>&lt;/li&gt;
885
- <strong>&lt;?rb end ?&gt;</strong>
886
- &lt;/ul&gt;
887
- &lt;/body&gt;
888
- &lt;/html&gt;
889
- </pre>
890
- <p>If the command-line property '--pi=<em>name</em>' is specified, erubis command parses input with PI converter.
891
- If <em>name</em> is omitted then the following name is used according to '-l <em>lang</em>'.
892
- </p>
893
- <div align="center">
894
- <table class="table1" border="1" cellspacing="0">
895
- <tr class="tr1">
896
- <th class="th1">'-l' option</th>
897
- <th class="th1">PI name</th>
898
- </tr>
899
- <tr class="tr1">
900
- <td class="td1">-l ruby</td>
901
- <td class="td1">&lt;?rb ... ?&gt;</td>
902
- </tr>
903
- <tr class="tr1">
904
- <td class="td1">-l php</td>
905
- <td class="td1">&lt;?php ... ?&gt;</td>
906
- </tr>
907
- <tr class="tr1">
908
- <td class="td1">-l perl</td>
909
- <td class="td1">&lt;?perl ... ?&gt;</td>
910
- </tr>
911
- <tr class="tr1">
912
- <td class="td1">-l java</td>
913
- <td class="td1">&lt;?java ... ?&gt;</td>
914
- </tr>
915
- <tr class="tr1">
916
- <td class="td1">-l javascript</td>
917
- <td class="td1">&lt;?js ... ?&gt;</td>
918
- </tr>
919
- <tr class="tr1">
920
- <td class="td1">-l scheme</td>
921
- <td class="td1">&lt;?scheme ... ?&gt;</td>
922
- </tr>
923
- </table>
924
- </div>
925
- <a name="example10_x.result"></a>
926
- <div class="terminal_caption">
927
- output</div>
928
- <pre class="terminal">$ erubis -x <strong>--pi</strong> example10.xhtml
929
- _buf = ''; _buf &lt;&lt; '&lt;?xml version="1.0" ?&gt;
930
- ';
931
- lang = 'en'
932
- list = ['&lt;aaa&gt;', 'b&amp;b', '"ccc"']
933
-
934
- _buf &lt;&lt; '&lt;html lang="'; _buf &lt;&lt; (lang).to_s; _buf &lt;&lt; '"&gt;
935
- &lt;body&gt;
936
- &lt;ul&gt;
937
- '; for item in list
938
- _buf &lt;&lt; ' &lt;li&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml(item); _buf &lt;&lt; '&lt;/li&gt;
939
- '; end
940
- _buf &lt;&lt; ' &lt;/ul&gt;
941
- &lt;/body&gt;
942
- &lt;/html&gt;
943
- ';
944
- _buf.to_s
945
- </pre>
946
- <p>Expression character can be changeable by command-line property '--embchar=<em>char</em>. Default is '<code>@</code>'.
947
- </p>
948
- <p>Use Erubis::PI::Eruby instead of Erubis::Eruby if you want to use PI as embedded pattern.
949
- </p>
950
- <a name="example10.rb"></a>
951
- <div class="program_caption">
952
- example10.rb</div>
953
- <pre class="program">require 'erubis'
954
- input = File.read('example10.xhtml')
955
- eruby = Erubis::PI::Eruby.new(input)
956
- print eruby.src
957
- </pre>
958
- <a name="example10.result"></a>
959
- <div class="terminal_caption">
960
- output</div>
961
- <pre class="terminal">$ ruby example10.rb
962
- _buf = ''; _buf &lt;&lt; '&lt;?xml version="1.0" ?&gt;
963
- ';
964
- lang = 'en'
965
- list = ['&lt;aaa&gt;', 'b&amp;b', '"ccc"']
966
-
967
- _buf &lt;&lt; '&lt;html lang="'; _buf &lt;&lt; (lang).to_s; _buf &lt;&lt; '"&gt;
968
- &lt;body&gt;
969
- &lt;ul&gt;
970
- '; for item in list
971
- _buf &lt;&lt; ' &lt;li&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml(item); _buf &lt;&lt; '&lt;/li&gt;
972
- '; end
973
- _buf &lt;&lt; ' &lt;/ul&gt;
974
- &lt;/body&gt;
975
- &lt;/html&gt;
976
- ';
977
- _buf.to_s
978
- </pre>
979
- <p><strong>(experimental)</strong> Erubis supports '&lt;%= ... %&gt;' pattern with PI pattern.
980
- </p>
981
- <div class="program_caption">
982
- example of Rails view template</div>
983
- <pre class="program">&lt;table&gt;
984
- &lt;tr&gt;
985
- &lt;?rb for item in @list ?&gt;
986
- &lt;td&gt;@{item.id}@&lt;/td&gt;
987
- &lt;td&gt;@{item.name}@&lt;/td&gt;
988
- &lt;td&gt;
989
- <strong>&lt;%=</strong> link_to 'Destroy', {:action=&gt;'destroy', :id=&gt;item.id},
990
- :confirm=&gt;'Are you OK?' <strong>%&gt;</strong>
991
- &lt;/td&gt;
992
- &lt;?rb end ?&gt;
993
- &lt;/tr&gt;
994
- &lt;/table&gt;
995
- </pre>
996
- <br>
997
-
998
-
999
- <a name="tut-notext"></a>
1000
- <h3 class="section2">Retrieve Ruby Code</h3>
1001
- <p>Similar to '-x', ommand-line option '-X' shows converted Ruby source code.
1002
- The difference between '-x' and 'X' is that the former converts text part but the latter ignores it.
1003
- It means that you can retrieve Ruby code from eRuby script by '-X' option.
1004
- </p>
1005
- <p>For example, see the following eRuby script.
1006
- This is some complex, so it is difficult to grasp the program code.
1007
- </p>
1008
- <a name="example11.rhtml"></a>
1009
- <div class="program_caption">
1010
- example11.rhtml</div>
1011
- <pre class="program">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
1012
- &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
1013
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
1014
- &lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
1015
- &lt;body&gt;
1016
- &lt;h3&gt;List&lt;/h3&gt;
1017
- &lt;% if @list.nil? || @list.empty? %&gt;
1018
- &lt;p&gt;not found.&lt;/p&gt;
1019
- &lt;% else %&gt;
1020
- &lt;table&gt;
1021
- &lt;tbody&gt;
1022
- &lt;% @list.each_with_index do |item, i| %&gt;
1023
- &lt;tr bgcolor="&lt;%= i % 2 == 0 ? '#FCC' : '#CCF' %&gt;"&gt;
1024
- &lt;td&gt;&lt;%= item %&gt;&lt;/td&gt;
1025
- &lt;/tr&gt;
1026
- &lt;% end %&gt;
1027
- &lt;/tbody&gt;
1028
- &lt;/table&gt;
1029
- &lt;% end %&gt;
1030
- &lt;/body&gt;
1031
- &lt;/html&gt;
1032
- </pre>
1033
- <p>Command-line option '-X' extracts only the ruby code from eRuby script.
1034
- </p>
1035
- <a name="example11.result"></a>
1036
- <div class="terminal_caption">
1037
- result</div>
1038
- <pre class="terminal">$ erubis <strong>-X</strong> example11.rhtml
1039
- _buf = '';
1040
-
1041
-
1042
-
1043
-
1044
-
1045
- if @list.nil? || @list.empty?
1046
-
1047
- else
1048
-
1049
-
1050
- @list.each_with_index do |item, i|
1051
- _buf &lt;&lt; ( i % 2 == 0 ? '#FCC' : '#CCF' ).to_s;
1052
- _buf &lt;&lt; ( item ).to_s;
1053
-
1054
- end
1055
-
1056
-
1057
- end
1058
-
1059
-
1060
- _buf.to_s
1061
- </pre>
1062
- <p>Command-line option '-C' (<strong>c</strong>mpact) deletes empty lines.
1063
- </p>
1064
- <a name="example11_C.result"></a>
1065
- <div class="terminal_caption">
1066
- result</div>
1067
- <pre class="terminal">$ erubis <strong>-XC</strong> example11.rhtml
1068
- _buf = '';
1069
- if @list.nil? || @list.empty?
1070
- else
1071
- @list.each_with_index do |item, i|
1072
- _buf &lt;&lt; ( i % 2 == 0 ? '#FCC' : '#CCF' ).to_s;
1073
- _buf &lt;&lt; ( item ).to_s;
1074
- end
1075
- end
1076
- _buf.to_s
1077
- </pre>
1078
- <p>Option '-U' (<strong>u</strong>nique) converts empty lines into a line.
1079
- </p>
1080
- <a name="example11_U.result"></a>
1081
- <div class="terminal_caption">
1082
- result</div>
1083
- <pre class="terminal">$ erubis <strong>-XU</strong> example11.rhtml
1084
- _buf = '';
1085
-
1086
- if @list.nil? || @list.empty?
1087
-
1088
- else
1089
-
1090
- @list.each_with_index do |item, i|
1091
- _buf &lt;&lt; ( i % 2 == 0 ? '#FCC' : '#CCF' ).to_s;
1092
- _buf &lt;&lt; ( item ).to_s;
1093
-
1094
- end
1095
-
1096
- end
1097
-
1098
- _buf.to_s
1099
- </pre>
1100
- <p>Option '-N' (<strong>n</strong>umber) adds line number.
1101
- It is available with '-C' or '-U'.
1102
- </p>
1103
- <a name="example11_N.result"></a>
1104
- <div class="terminal_caption">
1105
- result</div>
1106
- <pre class="terminal">$ erubis <strong>-XNU</strong> example11.rhtml
1107
- 1: _buf = '';
1108
-
1109
- 7: if @list.nil? || @list.empty?
1110
-
1111
- 9: else
1112
-
1113
- 12: @list.each_with_index do |item, i|
1114
- 13: _buf &lt;&lt; ( i % 2 == 0 ? '#FCC' : '#CCF' ).to_s;
1115
- 14: _buf &lt;&lt; ( item ).to_s;
1116
-
1117
- 16: end
1118
-
1119
- 19: end
1120
-
1121
- 22: _buf.to_s
1122
- </pre>
1123
- <p>Command-line option '-X' is available with PHP script.
1124
- </p>
1125
- <a name="example11.php"></a>
1126
- <div class="program_caption">
1127
- example11.php</div>
1128
- <pre class="program">&lt;?xml version="1.0"?&gt;
1129
- &lt;html&gt;
1130
- &lt;body&gt;
1131
- &lt;h3&gt;List&lt;/h3&gt;
1132
- &lt;?php if (!$list) { ?&gt;
1133
- &lt;p&gt;not found.&lt;/p&gt;
1134
- &lt;?php } else { ?&gt;
1135
- &lt;table&gt;
1136
- &lt;tbody&gt;
1137
- &lt;?php $i = 0; ?&gt;
1138
- &lt;?php foreach ($list as $item) { ?&gt;
1139
- &lt;tr bgcolor="&lt;?php echo ++$i % 2 == 1 ? '#FCC' : '#CCF'; ?&gt;"&gt;
1140
- &lt;td&gt;&lt;?php echo $item; ?&gt;&lt;/td&gt;
1141
- &lt;/tr&gt;
1142
- &lt;?php } ?&gt;
1143
- &lt;/tbody&gt;
1144
- &lt;/table&gt;
1145
- &lt;?php } ?&gt;
1146
- &lt;/body&gt;
1147
- &lt;/html&gt;
1148
- </pre>
1149
- <a name="example11_php.result"></a>
1150
- <div class="terminal_caption">
1151
- result</div>
1152
- <pre class="terminal">$ erubis -XNU <strong>-l php</strong> <strong>--pi=php</strong> --trim=false example11.php
1153
-
1154
- 5: &lt;?php if (!$list) { ?&gt;
1155
-
1156
- 7: &lt;?php } else { ?&gt;
1157
-
1158
- 10: &lt;?php $i = 0; ?&gt;
1159
- 11: &lt;?php foreach ($list as $item) { ?&gt;
1160
- 12: &lt;?php echo ++$i % 2 == 1 ? '#FCC' : '#CCF'; ?&gt;
1161
- 13: &lt;?php echo $item; ?&gt;
1162
-
1163
- 15: &lt;?php } ?&gt;
1164
-
1165
- 18: &lt;?php } ?&gt;
1166
-
1167
- </pre>
1168
- <br>
1169
-
1170
-
1171
- <br>
1172
-
1173
-
1174
- <a name="enhancer"></a>
1175
- <h2 class="section1">Enhancer</h2>
1176
- <p>Enhancer is a module to add a certain feature into Erubis::Eruby class.
1177
- Enhancer may be language-independent or only for Erubis::Eruby class.
1178
- </p>
1179
- <p>To use enhancers, define subclass and include them.
1180
- The folloing is an example to use <a href="#escape-enhancer">EscapeEnhancer</a>, <a href="#percentline-enhancer">PercentLineEnhancer</a>, and <a href="#bipattern-enhancer">BiPatternEnhancer</a>.
1181
- </p>
1182
- <pre class="program">class MyEruby &lt; Erubis::Eruby
1183
- include EscapeEnhancer
1184
- include PercentLineEnhancer
1185
- include BiPatternEnhancer
1186
- end
1187
- </pre>
1188
- <p>You can specify enhancers in command-line with option '-E'.
1189
- The following is an example to use some enhancers in command-line.
1190
- </p>
1191
- <pre class="terminal">$ erubis -xE Escape,PercentLine,BiPattern example.eruby
1192
- </pre>
1193
- <p>The following is the list of enhancers.
1194
- </p>
1195
- <dl class="dl1">
1196
- <dt class="dt1">
1197
- <a href="#escape-enhancer">EscapeEnhander</a> (language-independent)</dt>
1198
- <dd class="dd1">
1199
- Switch '&lt;%= %&gt;' to escaped and '&lt;%== %&gt;' to unescaped.
1200
- </dd>
1201
- <dt class="dt1">
1202
- <a href="#stdout-enhancer">StdoutEnhancer</a> (only for Eruby)</dt>
1203
- <dd class="dd1">
1204
- Use $stdout instead of array buffer.
1205
- </dd>
1206
- <dt class="dt1">
1207
- <a href="#printout-enhancer">PrintOutEnhancer</a> (only for Eruby)</dt>
1208
- <dd class="dd1">
1209
- Use "print(...)" statement insead of "_buf &lt;&lt; ...".
1210
- </dd>
1211
- <dt class="dt1">
1212
- <a href="#printenabled-enhancer">PrintEnabledEnhancer</a> (only for Eruby)</dt>
1213
- <dd class="dd1">
1214
- Enable to use print() in '&lt;% ... %&gt;'.
1215
- </dd>
1216
- <dt class="dt1">
1217
- <a href="#array-enhancer">ArrayEnhancer</a> (only for Eruby)</dt>
1218
- <dd class="dd1">
1219
- Return array of string instead of returning string.
1220
- </dd>
1221
- <dt class="dt1">
1222
- <a href="#arraybuffer-enhancer">ArrayBufferEnhancer</a> (only for Eruby)</dt>
1223
- <dd class="dd1">
1224
- Use array buffer. It is a little slower than StringBufferEnhancer.
1225
- </dd>
1226
- <dt class="dt1">
1227
- <a href="#stringbuffer-enhancer">StringBufferEnhancer</a> (only for Eruby)</dt>
1228
- <dd class="dd1">
1229
- Use string buffer. This is included in Erubis::Eruby by default.
1230
- </dd>
1231
- <dt class="dt1">
1232
- <a href="#erbout-enhancer">ErboutEnhancer</a> (only for Eruby)</dt>
1233
- <dd class="dd1">
1234
- Set '_erbout = _buf = "";' to be compatible with ERB.
1235
- </dd>
1236
- <dt class="dt1">
1237
- <a href="#notext-enhancer">NoTextEnhancer</a> (language-independent)</dt>
1238
- <dd class="dd1">
1239
- Print embedded code only and ignore normal text.
1240
- </dd>
1241
- <dt class="dt1">
1242
- <a href="#nocode-enhancer">NoCodeEnhancer</a> (language-independent)</dt>
1243
- <dd class="dd1">
1244
- Print normal text only and ignore code.
1245
- </dd>
1246
- <dt class="dt1">
1247
- <a href="#simplify-enhancer">SimplifyEnhancer</a> (language-independent)</dt>
1248
- <dd class="dd1">
1249
- Make compile faster but don't trim spaces around '&lt;% %&gt;'.
1250
- </dd>
1251
- <dt class="dt1">
1252
- <a href="#bipattern-enhancer">BiPatternEnhancer</a> (language-independent)</dt>
1253
- <dd class="dd1">
1254
- [experimental] Enable to use another embedded pattern with '&lt;% %&gt;'.
1255
- </dd>
1256
- <dt class="dt1">
1257
- <a href="#percentline-enhancer">PercentLineEnhancer</a> (language-independent)</dt>
1258
- <dd class="dd1">
1259
- Regard lines starting with '%' as Ruby code. This is for compatibility with eruby and ERB.
1260
- </dd>
1261
- <dt class="dt1">
1262
- <a href="#headerfooter-enhancer">HeaderFooterEnhancer</a> (language-independent)</dt>
1263
- <dd class="dd1">
1264
- [experimental] Enable you to add header and footer in eRuby script.
1265
- </dd>
1266
- <dt class="dt1">
1267
- <a href="#interpolation-enhancer">InterpolationEnhancer</a> (only for Eruby)</dt>
1268
- <dd class="dd1">
1269
- [experimental] convert '&lt;p&gt;&lt;%= text %&gt;&lt;/p&gt;' into '_buf &lt;&lt; %Q`&lt;p&gt;#{text}&lt;/p&gt;`'.
1270
- </dd>
1271
- <dt class="dt1">
1272
- <a href="#deleteindent-enhancer">DeleteIndentEnhancer</a> (language-independent)</dt>
1273
- <dd class="dd1">
1274
- [experimental] delete indentation of HTML file and eliminate page size.
1275
- </dd>
1276
- </dl>
1277
- <p>If you required 'erubis/engine/enhanced', Eruby subclasses which include each enhancers are defined.
1278
- For example, class BiPatternEruby includes BiPatternEnhancer.
1279
- </p>
1280
- <a name="escape-enhancer"></a>
1281
- <h3 class="section2">EscapeEnhancer</h3>
1282
- <p>EscapeEnhancer switches '&lt;%= ... %&gt;' to escaped and '&lt;%== ... %&gt;' to unescaped.
1283
- </p>
1284
- <a name="example.eruby"></a>
1285
- <div class="program_caption">
1286
- example.eruby</div>
1287
- <pre class="program">&lt;div&gt;
1288
- &lt;% for item in list %&gt;
1289
- &lt;p&gt;&lt;%= item %&gt;&lt;/p&gt;
1290
- &lt;p&gt;&lt;%== item %&gt;&lt;/p&gt;
1291
- &lt;% end %&gt;
1292
- &lt;/div&gt;
1293
- </pre>
1294
- <a name="escape_example.result"></a>
1295
- <div class="terminal_caption">
1296
- compiled source code</div>
1297
- <pre class="terminal">$ erubis -xE Escape example.eruby
1298
- _buf = ''; _buf &lt;&lt; '&lt;div&gt;
1299
- '; for item in list
1300
- _buf &lt;&lt; ' &lt;p&gt;'; <strong>_buf &lt;&lt; Erubis::XmlHelper.escape_xml( item );</strong> _buf &lt;&lt; '&lt;/p&gt;
1301
- &lt;p&gt;'; <strong>_buf &lt;&lt; ( item ).to_s;</strong> _buf &lt;&lt; '&lt;/p&gt;
1302
- '; end
1303
- _buf &lt;&lt; '&lt;/div&gt;
1304
- ';
1305
- _buf.to_s
1306
- </pre>
1307
- <p>EscapeEnhancer is language-independent.
1308
- </p>
1309
- <br>
1310
-
1311
-
1312
- <a name="stdout-enhancer"></a>
1313
- <h3 class="section2">StdoutEnhancer</h3>
1314
- <p>StdoutEnhancer use $sdtdout instead of array buffer.
1315
- Therefore, you can use 'print' statement in embedded ruby code.
1316
- </p>
1317
- <a name="stdout_exmple.result"></a>
1318
- <div class="terminal_caption">
1319
- compiled source code</div>
1320
- <pre class="terminal">$ erubis -xE Stdout example.eruby
1321
- <strong>_buf = $stdout;</strong> _buf &lt;&lt; '&lt;div&gt;
1322
- '; for item in list
1323
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
1324
- &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
1325
- '; end
1326
- _buf &lt;&lt; '&lt;/div&gt;
1327
- ';
1328
- <strong>''</strong>
1329
- </pre>
1330
- <p>StdoutEnhancer is only for Eruby.
1331
- </p>
1332
- <br>
1333
-
1334
-
1335
- <a name="printout-enhancer"></a>
1336
- <h3 class="section2">PrintOutEnhancer</h3>
1337
- <p>PrintOutEnhancer makes compiled source code to use 'print(...)' instead of '_buf &lt;&lt; ...'.
1338
- </p>
1339
- <a name="printstatement_example.result"></a>
1340
- <div class="terminal_caption">
1341
- compiled source code</div>
1342
- <pre class="terminal">$ erubis -xE PrintOut example.eruby
1343
- <strong>print</strong> '&lt;div&gt;
1344
- '; for item in list
1345
- <strong>print</strong> ' &lt;p&gt;'; <strong>print</strong>(( item ).to_s); <strong>print</strong> '&lt;/p&gt;
1346
- &lt;p&gt;'; <strong>print</strong> Erubis::XmlHelper.escape_xml( item ); <strong>print</strong> '&lt;/p&gt;
1347
- '; end
1348
- <strong>print</strong> '&lt;/div&gt;
1349
- ';
1350
- </pre>
1351
- <p>PrintOutEnhancer is only for Eruby.
1352
- </p>
1353
- <br>
1354
-
1355
-
1356
- <a name="printenabled-enhancer"></a>
1357
- <h3 class="section2">PrintEnabledEnhancer</h3>
1358
- <p>PrintEnabledEnhancer enables you to use print() method in '&lt;% ... %&gt;'.
1359
- </p>
1360
- <a name="printenabled-example.eruby"></a>
1361
- <div class="program_caption">
1362
- printenabled-example.eruby</div>
1363
- <pre class="program">&lt;% for item in @list %&gt;
1364
- &lt;b&gt;<strong>&lt;% print item %&gt;</strong>&lt;/b&gt;
1365
- &lt;% end %&gt;
1366
- </pre>
1367
- <a name="printenabled-example.rb"></a>
1368
- <div class="program_caption">
1369
- printenabled-example.rb</div>
1370
- <pre class="program">require 'erubis'
1371
- class PrintEnabledEruby &lt; Erubis::Eruby
1372
- include Erubis::PrintEnabledEnhancer
1373
- end
1374
- input = File.read('printenabled-example.eruby')
1375
- eruby = PrintEnabledEruby.new(input)
1376
- list = ['aaa', 'bbb', 'ccc']
1377
- print eruby.evaluate(:list=&gt;list)
1378
- </pre>
1379
- <a name="printenable_example.result"></a>
1380
- <div class="terminal_caption">
1381
- output result</div>
1382
- <pre class="terminal">$ ruby printenabled-example.rb
1383
- &lt;b&gt;aaa&lt;/b&gt;
1384
- &lt;b&gt;bbb&lt;/b&gt;
1385
- &lt;b&gt;ccc&lt;/b&gt;
1386
- </pre>
1387
- <p>Notice to use Eruby#evaluate() and not to use Eruby#result(),
1388
- because print() method in '&lt;% ... %&gt;' invokes not Kernel#print() but PrintEnabledEnhancer#print().
1389
- </p>
1390
- <p>PrintEnabledEnhancer is only for Eruby.
1391
- </p>
1392
- <br>
1393
-
1394
-
1395
- <a name="array-enhancer"></a>
1396
- <h3 class="section2">ArrayEnhancer</h3>
1397
- <p>ArrayEnhancer makes Eruby to return an array of strings.
1398
- </p>
1399
- <a name="array_example.result"></a>
1400
- <div class="terminal_caption">
1401
- compiled source code</div>
1402
- <pre class="terminal">$ erubis -xE Array example.eruby
1403
- <strong>_buf = [];</strong> _buf &lt;&lt; '&lt;div&gt;
1404
- '; for item in list
1405
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
1406
- &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
1407
- '; end
1408
- _buf &lt;&lt; '&lt;/div&gt;
1409
- ';
1410
- <strong>_buf</strong>
1411
- </pre>
1412
- <p>ArrayEnhancer is only for Eruby.
1413
- </p>
1414
- <br>
1415
-
1416
-
1417
- <a name="arraybuffer-enhancer"></a>
1418
- <h3 class="section2">ArrayBufferEnhancer</h3>
1419
- <p>ArrayBufferEnhancer makes Eruby to use array buffer.
1420
- Array buffer is a litte slower than String buffer.
1421
- </p>
1422
- <p>ArrayBufferEnhancer is only for Eruby.
1423
- </p>
1424
- <a name="arraybuffer_example.result"></a>
1425
- <div class="terminal_caption">
1426
- compiled source code</div>
1427
- <pre class="terminal">$ erubis -xE ArrayBuffer example.eruby
1428
- <strong>_buf = [];</strong> _buf &lt;&lt; '&lt;div&gt;
1429
- '; for item in list
1430
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
1431
- &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
1432
- '; end
1433
- _buf &lt;&lt; '&lt;/div&gt;
1434
- ';
1435
- <strong>_buf.join</strong>
1436
- </pre>
1437
- <br>
1438
-
1439
-
1440
- <a name="stringbuffer-enhancer"></a>
1441
- <h3 class="section2">StringBufferEnhancer</h3>
1442
- <p>StringBufferEnhancer makes Eruby to use string buffer.
1443
- String buffer is a little faster than array buffer.
1444
- Erubis::Eruby includes this enhancer by default.
1445
- </p>
1446
- <a name="stringbuffer_example.result"></a>
1447
- <div class="terminal_caption">
1448
- compiled source code</div>
1449
- <pre class="terminal">$ erubis -xE StringBuffer example.eruby
1450
- <strong>_buf = '';</strong> _buf &lt;&lt; '&lt;div&gt;
1451
- '; for item in list
1452
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
1453
- &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
1454
- '; end
1455
- _buf &lt;&lt; '&lt;/div&gt;
1456
- ';
1457
- <strong>_buf.to_s</strong>
1458
- </pre>
1459
- <p>StringBufferEnhancer is only for Eruby.
1460
- </p>
1461
- <br>
1462
-
1463
-
1464
- <a name="erbout-enhancer"></a>
1465
- <h3 class="section2">ErboutEnhancer</h3>
1466
- <p>ErboutEnhancer makes Eruby to be compatible with ERB.
1467
- This is useful especially for Ruby on Rails.
1468
- </p>
1469
- <div class="terminal_caption">
1470
- compiled source code</div>
1471
- <pre class="terminal">$ erubis -xE Erbout example.eruby
1472
- <strong>_erbout = _buf = '';</strong> _buf &lt;&lt; '&lt;div&gt;
1473
- '; for item in list
1474
- _buf &lt;&lt; ' &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
1475
- &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
1476
- '; end
1477
- _buf &lt;&lt; '&lt;/div&gt;
1478
- ';
1479
- _buf.to_s
1480
- </pre>
1481
- <p>ErboutEnhancer is only for Eruby.
1482
- </p>
1483
- <br>
1484
-
1485
-
1486
- <a name="notext-enhancer"></a>
1487
- <h3 class="section2">NoTextEnhancer</h3>
1488
- <p>NoTextEnhancer suppress output of text and prints only embedded code.
1489
- This is useful especially when debugging a complex eRuby script.
1490
- </p>
1491
- <a name="notext-example.eruby"></a>
1492
- <div class="program_caption">
1493
- notext-example.eruby</div>
1494
- <pre class="program">&lt;h3&gt;List&lt;/h3&gt;
1495
- &lt;% if !@list || @list.empty? %&gt;
1496
- &lt;p&gt;not found.&lt;/p&gt;
1497
- &lt;% else %&gt;
1498
- &lt;table&gt;
1499
- &lt;tbody&gt;
1500
- &lt;% @list.each_with_index do |item, i| %&gt;
1501
- &lt;tr bgcolor="&lt;%= i%2 == 0 ? '#FFCCCC' : '#CCCCFF' %&gt;"&gt;
1502
- &lt;td&gt;&lt;%= item %&gt;&lt;/td&gt;
1503
- &lt;/tr&gt;
1504
- &lt;% end %&gt;
1505
- &lt;/tbody&gt;
1506
- &lt;/table&gt;
1507
- &lt;% end %&gt;
1508
- </pre>
1509
- <a name="notext_example.result"></a>
1510
- <div class="terminal_caption">
1511
- output example of NoTextEnhancer</div>
1512
- <pre class="terminal">$ erubis -xE NoText notext-example.eruby
1513
- _buf = '';
1514
- if !@list || @list.empty?
1515
-
1516
- else
1517
-
1518
-
1519
- @list.each_with_index do |item, i|
1520
- _buf &lt;&lt; ( i%2 == 0 ? '#FFCCCC' : '#CCCCFF' ).to_s;
1521
- _buf &lt;&lt; ( item ).to_s;
1522
-
1523
- end
1524
-
1525
-
1526
- end
1527
- _buf.to_s
1528
- </pre>
1529
- <p>NoTextEnhancer is language-independent. It is useful even if you are PHP user, see <a href="#topics-php">this section</a>.
1530
- </p>
1531
- <br>
1532
-
1533
-
1534
- <a name="nocode-enhancer"></a>
1535
- <h3 class="section2">NoCodeEnhancer</h3>
1536
- <p>NoCodeEnhancer suppress output of embedded code and prints only normal text.
1537
- This is useful especially when validating HTML tags.
1538
- </p>
1539
- <a name="nocode-example.eruby"></a>
1540
- <div class="program_caption">
1541
- nocode-example.eruby</div>
1542
- <pre class="program">&lt;h3&gt;List&lt;/h3&gt;
1543
- &lt;% if !@list || @list.empty? %&gt;
1544
- &lt;p&gt;not found.&lt;/p&gt;
1545
- &lt;% else %&gt;
1546
- &lt;table&gt;
1547
- &lt;tbody&gt;
1548
- &lt;% @list.each_with_index do |item, i| %&gt;
1549
- &lt;tr bgcolor="&lt;%= i%2 == 0 ? '#FFCCCC' : '#CCCCFF' %&gt;"&gt;
1550
- &lt;td&gt;&lt;%= item %&gt;&lt;/td&gt;
1551
- &lt;/tr&gt;
1552
- &lt;% end %&gt;
1553
- &lt;/tbody&gt;
1554
- &lt;/table&gt;
1555
- &lt;% end %&gt;
1556
- </pre>
1557
- <a name="nocode_example.result"></a>
1558
- <div class="terminal_caption">
1559
- output example of NoCodeEnhancer</div>
1560
- <pre class="terminal">$ erubis -xE NoCode notext-example.eruby
1561
- &lt;h3&gt;List&lt;/h3&gt;
1562
-
1563
- &lt;p&gt;not found.&lt;/p&gt;
1564
-
1565
- &lt;table&gt;
1566
- &lt;tbody&gt;
1567
-
1568
- &lt;tr bgcolor=""&gt;
1569
- &lt;td&gt;&lt;/td&gt;
1570
- &lt;/tr&gt;
1571
-
1572
- &lt;/tbody&gt;
1573
- &lt;/table&gt;
1574
-
1575
- </pre>
1576
- <p>NoCodeEnhancer is language-independent. It is useful even if you are PHP user, see <a href="#topics-php">this section</a>.
1577
- </p>
1578
- <br>
1579
-
1580
-
1581
- <a name="simplify-enhancer"></a>
1582
- <h3 class="section2">SimplifyEnhancer</h3>
1583
- <p>SimplifyEnhancer makes compiling a little faster but don't trim spaces around '&lt;% %&gt;'.
1584
- </p>
1585
- <a name="simplify_example.result"></a>
1586
- <div class="terminal_caption">
1587
- compiled source code</div>
1588
- <pre class="terminal">$ erubis -xE Simplify example.eruby
1589
- _buf = ''; _buf &lt;&lt; '&lt;div&gt;
1590
- '; for item in list ; _buf &lt;&lt; '
1591
- &lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
1592
- &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
1593
- '; end ; _buf &lt;&lt; '
1594
- &lt;/div&gt;
1595
- ';
1596
- _buf.to_s
1597
- </pre>
1598
- <p>SimplifyEnhancer is language-independent.
1599
- </p>
1600
- <br>
1601
-
1602
-
1603
- <a name="bipattern-enhancer"></a>
1604
- <h3 class="section2">BiPatternEnhancer</h3>
1605
- <p>BiPatternEnhancer enables to use another embedded pattern with '&lt;% %&gt;'.
1606
- By Default, '[= ... =]' is available for expression.
1607
- You can specify pattern by :bipattern property.
1608
- </p>
1609
- <a name="bipattern-example.rhtml"></a>
1610
- <div class="program_caption">
1611
- bipattern-example.rhtml</div>
1612
- <pre class="program">&lt;% for item in list %&gt;
1613
- &lt;b&gt;<strong>[= item =]</strong>&lt;/b&gt;
1614
- &lt;b&gt;<strong>[== item =]</strong>&lt;/b&gt;
1615
- &lt;% end %&gt;
1616
- </pre>
1617
- <a name="bipattern_example.result"></a>
1618
- <div class="terminal_caption">
1619
- compiled source code</div>
1620
- <pre class="terminal">$ erubis -xE BiPattern bipattern-example.rhtml
1621
- _buf = ''; for item in list
1622
- _buf &lt;&lt; ' &lt;b&gt;'; <strong>_buf &lt;&lt; ( item ).to_s;</strong> _buf &lt;&lt; '&lt;/b&gt;
1623
- &lt;b&gt;'; <strong>_buf &lt;&lt; Erubis::XmlHelper.escape_xml( item );</strong> _buf &lt;&lt; '&lt;/b&gt;
1624
- '; end
1625
- _buf.to_s
1626
- </pre>
1627
- <p>BiPatternEnhancer is language-independent.
1628
- </p>
1629
- <br>
1630
-
1631
-
1632
- <a name="percentline-enhancer"></a>
1633
- <h3 class="section2">PercentLineEnhancer</h3>
1634
- <p>PercentLineEnhancer regards lines starting with '%' as Ruby code.
1635
- This is for compatibility with eruby and ERB.
1636
- </p>
1637
- <a name="percentline-example.rhtml"></a>
1638
- <div class="program_caption">
1639
- percentline-example.rhtml</div>
1640
- <pre class="program"><strong>% for item in list</strong>
1641
- &lt;b&gt;&lt;%= item %&gt;&lt;/b&gt;
1642
- <strong>% end</strong>
1643
- %% lines with '%%'
1644
- </pre>
1645
- <a name="percentline_example.result"></a>
1646
- <div class="terminal_caption">
1647
- compiled source code</div>
1648
- <pre class="terminal">$ erubis -xE PercentLine percentline-example.rhtml
1649
- _buf = ''; <strong>for item in list</strong>
1650
- _buf &lt;&lt; ' &lt;b&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/b&gt;
1651
- '; <strong>end</strong>
1652
- _buf &lt;&lt; '% lines with \'%%\'
1653
- ';
1654
- _buf.to_s
1655
- </pre>
1656
- <p>PercentLineEnhancer is language-independent.
1657
- </p>
1658
- <br>
1659
-
1660
-
1661
- <a name="headerfooter-enhancer"></a>
1662
- <h3 class="section2">HeaderFooterEnhancer</h3>
1663
- <p>[experimental]
1664
- </p>
1665
- <p>HeaderFooterEnhancer enables you to add header and footer in eRuby script.
1666
- </p>
1667
- <a name="headerfooter-example.eruby"></a>
1668
- <div class="program_caption">
1669
- headerfooter-example.eruby</div>
1670
- <pre class="program"><strong>&lt;!--#header:</strong>
1671
- <strong>def list_items(items)</strong>
1672
- <strong>#--&gt;</strong>
1673
- &lt;% for item in items %&gt;
1674
- &lt;b&gt;&lt;%= item %&gt;&lt;/b&gt;
1675
- &lt;% end %&gt;
1676
- <strong>&lt;!--#footer:</strong>
1677
- <strong>end</strong>
1678
- <strong>#--&gt;</strong>
1679
- </pre>
1680
- <a name="headerfooter_example.result"></a>
1681
- <div class="terminal_caption">
1682
- compiled source code</div>
1683
- <pre class="terminal">$ erubis -xE HeaderFooter headerfooter-example.eruby
1684
-
1685
- <strong>def list_items(items)</strong>
1686
-
1687
- _buf = ''; for item in items
1688
- _buf &lt;&lt; ' &lt;b&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/b&gt;
1689
- '; end
1690
- _buf.to_s
1691
-
1692
- <strong>end</strong>
1693
-
1694
- </pre>
1695
- <p>Compare to the following:
1696
- </p>
1697
- <a name="normal-eruby-test.eruby"></a>
1698
- <div class="program_caption">
1699
- normal-eruby-test.eruby</div>
1700
- <pre class="program"><strong>&lt;%</strong>
1701
- <strong>def list_items(items)</strong>
1702
- <strong>%&gt;</strong>
1703
- &lt;% for item in items %&gt;
1704
- &lt;li&gt;&lt;%= item %&gt;&lt;/li&gt;
1705
- &lt;% end %&gt;
1706
- <strong>&lt;%</strong>
1707
- <strong>end</strong>
1708
- <strong>%&gt;</strong>
1709
- </pre>
1710
- <a name="normal_eruby_test.result"></a>
1711
- <div class="terminal_caption">
1712
- compiled source code</div>
1713
- <pre class="terminal">$ erubis -x normal-eruby-test.eruby
1714
- _buf = '';
1715
- <strong>def list_items(items)</strong>
1716
-
1717
- for item in items
1718
- _buf &lt;&lt; '&lt;li&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/li&gt;
1719
- '; end
1720
-
1721
- <strong>end</strong>
1722
-
1723
- _buf.to_s
1724
- </pre>
1725
- <p>Header and footer can be in any position in eRuby script,
1726
- that is, header is no need to be in the head of eRuby script.
1727
- </p>
1728
- <a name="headerfooter-example2.rhtml"></a>
1729
- <div class="program_caption">
1730
- headerfooter-example2.rhtml</div>
1731
- <pre class="program">&lt;?xml version="1.0"?&gt;
1732
- &lt;html&gt;
1733
- <strong>&lt;!--#header:</strong>
1734
- <strong>def page(list)</strong>
1735
- <strong>#--&gt;</strong>
1736
- :
1737
- <strong>&lt;!--#footer:</strong>
1738
- <strong>end</strong>
1739
- <strong>#--&gt;</strong>
1740
- &lt;/html&gt;
1741
- </pre>
1742
- <a name="headerfooter_example2.result"></a>
1743
- <div class="terminal_caption">
1744
- compiled source code</div>
1745
- <pre class="terminal">$ erubis -xE HeaderFooter headerfooter-example2.rhtml
1746
-
1747
- <strong>def page(list)</strong>
1748
-
1749
- _buf = ''; _buf &lt;&lt; '&lt;?xml version="1.0"?&gt;
1750
- &lt;html&gt;
1751
- '; _buf &lt;&lt; ' :
1752
- '; _buf &lt;&lt; '&lt;/html&gt;
1753
- ';
1754
- _buf.to_s
1755
-
1756
- <strong>end</strong>
1757
-
1758
- </pre>
1759
- <p>HeaderFooterEnhancer is experimental and is language-independent.
1760
- </p>
1761
- <br>
1762
-
1763
-
1764
- <a name="interpolation-enhancer"></a>
1765
- <h3 class="section2">InterpolationEnhancer</h3>
1766
- <p>[experimental]
1767
- </p>
1768
- <p>InterpolationEnhancer converts "&lt;h1&gt;&lt;%= title %&gt;&lt;/h1&gt;" into
1769
- "_buf &lt;&lt; %Q`&lt;h1&gt;#{ title }&lt;/h1&gt;`".
1770
- This makes Eruby a litter faster because method call of String#&lt;&lt; are eliminated
1771
- by expression interpolations.
1772
- </p>
1773
- <div class="program_caption">
1774
- InterpolationEnhancer elmininates method call of String#&lt;&lt;.</div>
1775
- <pre class="program">## Assume that input is '&lt;a href="&lt;%=url%&gt;"&gt;&lt;%=name%&gt;&lt;/a&gt;'.
1776
- ## Eruby convert input into the following code. String#&lt;&lt; is called 5 times.
1777
- _buf &lt;&lt; '&lt;a href="'; _buf &lt;&lt; (url).to_s; _buf &lt;&lt; '"&gt;'; _buf &lt;&lt; (name).to_s; _buf &lt;&lt; '&lt;/a&gt;';
1778
-
1779
- ## If InterpolationEnhancer is used, String#&lt;&lt; is called only once.
1780
- _buf &lt;&lt; %Q`&lt;a href="#{url}"&gt;#{name}&lt;/a&gt;`;
1781
- </pre>
1782
- <a name="interpolation_example.result"></a>
1783
- <div class="terminal_caption">
1784
- compiled source code</div>
1785
- <pre class="terminal">$ erubis -xE Interpolation example.eruby
1786
- _buf = ''; _buf &lt;&lt; <strong>%Q`</strong>&lt;div&gt;\n<strong>`</strong>
1787
- for item in list
1788
- _buf &lt;&lt; <strong>%Q`</strong> &lt;p&gt;<strong>#{ item }</strong>&lt;/p&gt;
1789
- &lt;p&gt;<strong>#{Erubis::XmlHelper.escape_xml( item )}</strong>&lt;/p&gt;\n<strong>`</strong>
1790
- end
1791
- _buf &lt;&lt; <strong>%Q`</strong>&lt;/div&gt;\n<strong>`</strong>
1792
- _buf.to_s
1793
- </pre>
1794
- <p>Erubis provides Erubis::FastEruby class which includes InterpolationEnhancer.
1795
- You can use Erubis::FastEruby class instead of Erubis::Eruby class.
1796
- </p>
1797
- <p>InterpolationEnhancer is only for Eruby.
1798
- </p>
1799
- <br>
1800
-
1801
-
1802
- <a name="deleteindent-enhancer"></a>
1803
- <h3 class="section2">DeleteIndentEnhancer</h3>
1804
- <p>[experimental]
1805
- DeleteIndentEnhancer deletes indentation of HTML file.
1806
- </p>
1807
- <a name="interpolation_example.result"></a>
1808
- <div class="terminal_caption">
1809
- compiled source code</div>
1810
- <pre class="terminal">$ erubis -xE DeleteIndent example.eruby
1811
- _buf = ''; _buf &lt;&lt; '&lt;div&gt;
1812
- '; for item in list
1813
- _buf &lt;&lt; '&lt;p&gt;'; _buf &lt;&lt; ( item ).to_s; _buf &lt;&lt; '&lt;/p&gt;
1814
- &lt;p&gt;'; _buf &lt;&lt; Erubis::XmlHelper.escape_xml( item ); _buf &lt;&lt; '&lt;/p&gt;
1815
- '; end
1816
- _buf &lt;&lt; '&lt;/div&gt;
1817
- ';
1818
- _buf.to_s
1819
- </pre>
1820
- <p>Notice that DeleteIndentEnhancer isn't intelligent.
1821
- It deletes indentations even if they are in &lt;PRE&gt;&lt;/PRE&gt;.
1822
- </p>
1823
- <p>DeleteIndentEnhancer is language-independent.
1824
- </p>
1825
- <br>
1826
-
1827
-
1828
- <br>
1829
-
1830
-
1831
- <a name="lang"></a>
1832
- <h2 class="section1">Multi-Language Support</h2>
1833
- <p>Erubis supports the following languages<sup>(<a href="#fnref:2" name="fnlink:2">*2</a>)</sup>:
1834
- </p>
1835
- <ul type="disc">
1836
- <li>Ruby
1837
- </li>
1838
- <li><a href="#lang-php">PHP</a>
1839
- </li>
1840
- <li><a href="#lang-c">C</a>
1841
- </li>
1842
- <li><a href="#lang-java">Java</a>
1843
- </li>
1844
- <li><a href="#lang-scheme">Scheme</a>
1845
- </li>
1846
- <li><a href="#lang-perl">Perl</a>
1847
- </li>
1848
- <li><a href="#lang-javascript">JavaScript</a>
1849
- </li>
1850
- </ul>
1851
- <div class="footnote">
1852
- <dl compact>
1853
- <dt>(<a name="fnref:2" href="#fnlink:2">*2</a>)</dt>
1854
- <dd>If you need template engine in pure PHP/Perl/JavaScript, try <a href="http://www.kuwata-lab.com/tenjin/">Tenjin</a> (<a href="http://www.kuwata-lab.com/tenjin/">http://www.kuwata-lab.com/tenjin/</a>). Tenjin is a very fast and full-featured template engine implemented in pure PHP/Perl/JavaScript.</dd>
1855
- </dl>
1856
- </div>
1857
- <a name="lang-php"></a>
1858
- <h3 class="section2">PHP</h3>
1859
- <a name="example.ephp"></a>
1860
- <div class="program_caption">
1861
- example.ephp</div>
1862
- <pre class="program">&lt;?xml version="1.0"?&gt;
1863
- &lt;html&gt;
1864
- &lt;body&gt;
1865
- &lt;p&gt;Hello <strong>&lt;%= $user %&gt;</strong>!&lt;/p&gt;
1866
- &lt;table&gt;
1867
- &lt;tbody&gt;
1868
- <strong>&lt;% $i = 0; %&gt;</strong>
1869
- <strong>&lt;% foreach ($list as $item) { %&gt;</strong>
1870
- <strong>&lt;% $i++; %&gt;</strong>
1871
- &lt;tr bgcolor=<strong>"&lt;%= $i % 2 == 0 ? '#FFCCCC' : '#CCCCFF' %&gt;"</strong>&gt;
1872
- &lt;td&gt;<strong>&lt;%= $i %&gt;</strong>&lt;/td&gt;
1873
- &lt;td&gt;<strong>&lt;%== $item %&gt;</strong>&lt;/td&gt;
1874
- &lt;/tr&gt;
1875
- <strong>&lt;% } %&gt;</strong>
1876
- &lt;/tbody&gt;
1877
- &lt;/table&gt;
1878
- &lt;/body&gt;
1879
- &lt;/html&gt;
1880
- </pre>
1881
- <a name="example_php.result"></a>
1882
- <div class="terminal_caption">
1883
- compiled source code</div>
1884
- <pre class="terminal">$ erubis -l php example.ephp
1885
- &lt;&lt;?php ?&gt;?xml version="1.0"?&gt;
1886
- &lt;html&gt;
1887
- &lt;body&gt;
1888
- &lt;p&gt;Hello &lt;?php echo $user; ?&gt;!&lt;/p&gt;
1889
- &lt;table&gt;
1890
- &lt;tbody&gt;
1891
- &lt;?php $i = 0; ?&gt;
1892
- &lt;?php foreach ($list as $item) { ?&gt;
1893
- &lt;?php $i++; ?&gt;
1894
- &lt;tr bgcolor="&lt;?php echo $i % 2 == 0 ? '#FFCCCC' : '#CCCCFF'; ?&gt;"&gt;
1895
- &lt;td&gt;&lt;?php echo $i; ?&gt;&lt;/td&gt;
1896
- &lt;td&gt;&lt;?php echo htmlspecialchars($item); ?&gt;&lt;/td&gt;
1897
- &lt;/tr&gt;
1898
- &lt;?php } ?&gt;
1899
- &lt;/tbody&gt;
1900
- &lt;/table&gt;
1901
- &lt;/body&gt;
1902
- &lt;/html&gt;
1903
- </pre>
1904
- <br>
1905
-
1906
-
1907
- <a name="lang-c"></a>
1908
- <h3 class="section2">C</h3>
1909
- <a name="example.ec"></a>
1910
- <div class="program_caption">
1911
- example.ec</div>
1912
- <pre class="program"><strong>&lt;%
1913
- #include &lt;stdio.h&gt;
1914
-
1915
- int main(int argc, char *argv[])
1916
- {
1917
- int i;
1918
-
1919
- %&gt;</strong>
1920
- &lt;html&gt;
1921
- &lt;body&gt;
1922
- &lt;p&gt;Hello <strong>&lt;%= "%s", argv[0] %&gt;</strong>!&lt;/p&gt;
1923
- &lt;table&gt;
1924
- &lt;tbody&gt;
1925
- <strong>&lt;% for (i = 1; i &lt; argc; i++) { %&gt;</strong>
1926
- &lt;tr bgcolor="<strong>&lt;%= i % 2 == 0 ? "#FFCCCC" : "#CCCCFF" %&gt;</strong>"&gt;
1927
- &lt;td&gt;<strong>&lt;%= "%d", i %&gt;</strong>&lt;/td&gt;
1928
- &lt;td&gt;<strong>&lt;%= "%s", argv[i] %&gt;</strong>&lt;/td&gt;
1929
- &lt;/tr&gt;
1930
- <strong>&lt;% } %&gt;</strong>
1931
- &lt;/tbody&gt;
1932
- &lt;/table&gt;
1933
- &lt;/body&gt;
1934
- &lt;/html&gt;
1935
- <strong>&lt;%
1936
- return 0;
1937
- }
1938
- %&gt;</strong>
1939
- </pre>
1940
- <a name="example_c.result"></a>
1941
- <div class="terminal_caption">
1942
- compiled source code</div>
1943
- <pre class="terminal">$ erubis -l c example.ec
1944
- #line 1 "example.ec"
1945
-
1946
- #include &lt;stdio.h&gt;
1947
-
1948
- int main(int argc, char *argv[])
1949
- {
1950
- int i;
1951
-
1952
-
1953
- fputs("&lt;html&gt;\n"
1954
- " &lt;body&gt;\n"
1955
- " &lt;p&gt;Hello ", stdout); fprintf(stdout, "%s", argv[0]); fputs("!&lt;/p&gt;\n"
1956
- " &lt;table&gt;\n"
1957
- " &lt;tbody&gt;\n", stdout);
1958
- for (i = 1; i &lt; argc; i++) {
1959
- fputs(" &lt;tr bgcolor=\"", stdout); fprintf(stdout, i % 2 == 0 ? "#FFCCCC" : "#CCCCFF"); fputs("\"&gt;\n"
1960
- " &lt;td&gt;", stdout); fprintf(stdout, "%d", i); fputs("&lt;/td&gt;\n"
1961
- " &lt;td&gt;", stdout); fprintf(stdout, "%s", argv[i]); fputs("&lt;/td&gt;\n"
1962
- " &lt;/tr&gt;\n", stdout);
1963
- }
1964
- fputs(" &lt;/tbody&gt;\n"
1965
- " &lt;/table&gt;\n"
1966
- " &lt;/body&gt;\n"
1967
- "&lt;/html&gt;\n", stdout);
1968
-
1969
- return 0;
1970
- }
1971
-
1972
- </pre>
1973
- <br>
1974
-
1975
-
1976
- <a name="lang-java"></a>
1977
- <h3 class="section2">Java</h3>
1978
- <a name="Example.ejava"></a>
1979
- <div class="program_caption">
1980
- Example.ejava</div>
1981
- <pre class="program"><strong>&lt;%
1982
- import java.util.*;
1983
-
1984
- public class Example {
1985
- private String user;
1986
- private String[] list;
1987
- public example(String user, String[] list) {
1988
- this.user = user;
1989
- this.list = list;
1990
- }
1991
-
1992
- public String view() {
1993
- StringBuffer _buf = new StringBuffer();
1994
- %&gt;</strong>
1995
- &lt;html&gt;
1996
- &lt;body&gt;
1997
- &lt;p&gt;Hello <strong>&lt;%= user %&gt;</strong>!&lt;/p&gt;
1998
- &lt;table&gt;
1999
- &lt;tbody&gt;
2000
- <strong>&lt;% for (int i = 0; i &lt; list.length; i++) { %&gt;</strong>
2001
- &lt;tr bgcolor=<strong>"&lt;%= i % 2 == 0 ? "#FFCCCC" : "#CCCCFF" %&gt;"</strong>&gt;
2002
- &lt;td&gt;<strong>&lt;%= i + 1 %&gt;</strong>&lt;/td&gt;
2003
- &lt;td&gt;<strong>&lt;%== list[i] %&gt;</strong>&lt;/td&gt;
2004
- &lt;/tr&gt;
2005
- <strong>&lt;% } %&gt;</strong>
2006
- &lt;/tbody&gt;
2007
- &lt;/table&gt;
2008
- &lt;body&gt;
2009
- &lt;/html&gt;
2010
- <strong>&lt;%
2011
- return _buf.toString();
2012
- }
2013
-
2014
- public static void main(String[] args) {
2015
- String[] list = { "&lt;aaa&gt;", "b&amp;b", "\"ccc\"" };
2016
- Example ex = Example.new("Erubis", list);
2017
- System.out.print(ex.view());
2018
- }
2019
-
2020
- public static String escape(String s) {
2021
- StringBuffer sb = new StringBuffer();
2022
- for (int i = 0; i &lt; s.length(); i++) {
2023
- char ch = s.charAt(i);
2024
- switch (ch) {
2025
- case '&lt;': sb.append("&amp;lt;"); break;
2026
- case '&gt;': sb.append("&amp;gt;"); break;
2027
- case '&amp;': sb.append("&amp;amp;"); break;
2028
- case '"': sb.append("&amp;quot;"); break;
2029
- default: sb.append(ch);
2030
- }
2031
- }
2032
- return sb.toString();
2033
- }
2034
- }
2035
- %&gt;</strong>
2036
- </pre>
2037
- <a name="example_java.result"></a>
2038
- <div class="terminal_caption">
2039
- compiled source code</div>
2040
- <pre class="terminal">$ erubis -b -l java example.ejava
2041
-
2042
- import java.util.*;
2043
-
2044
- public class Example {
2045
- private String user;
2046
- private String[] list;
2047
- public example(String user, String[] list) {
2048
- this.user = user;
2049
- this.list = list;
2050
- }
2051
-
2052
- public String view() {
2053
- StringBuffer _buf = new StringBuffer();
2054
-
2055
- _buf.append("&lt;html&gt;\n"
2056
- + " &lt;body&gt;\n"
2057
- + " &lt;p&gt;Hello "); _buf.append(user); _buf.append("!&lt;/p&gt;\n"
2058
- + " &lt;table&gt;\n"
2059
- + " &lt;tbody&gt;\n");
2060
- for (int i = 0; i &lt; list.length; i++) {
2061
- _buf.append(" &lt;tr bgcolor=\""); _buf.append(i % 2 == 0 ? "#FFCCCC" : "#CCCCFF"); _buf.append("\"&gt;\n"
2062
- + " &lt;td&gt;"); _buf.append(i + 1); _buf.append("&lt;/td&gt;\n"
2063
- + " &lt;td&gt;"); _buf.append(escape(list[i])); _buf.append("&lt;/td&gt;\n"
2064
- + " &lt;/tr&gt;\n");
2065
- }
2066
- _buf.append(" &lt;/tbody&gt;\n"
2067
- + " &lt;/table&gt;\n"
2068
- + " &lt;body&gt;\n"
2069
- + "&lt;/html&gt;\n");
2070
-
2071
- return _buf.toString();
2072
- }
2073
-
2074
- public static void main(String[] args) {
2075
- String[] list = { "&lt;aaa&gt;", "b&amp;b", "\"ccc\"" };
2076
- Example ex = Example.new("Erubis", list);
2077
- System.out.print(ex.view());
2078
- }
2079
-
2080
- public static String escape(String s) {
2081
- StringBuffer sb = new StringBuffer();
2082
- for (int i = 0; i &lt; s.length(); i++) {
2083
- char ch = s.charAt(i);
2084
- switch (ch) {
2085
- case '&lt;': sb.append("&amp;lt;"); break;
2086
- case '&gt;': sb.append("&amp;gt;"); break;
2087
- case '&amp;': sb.append("&amp;amp;"); break;
2088
- case '"': sb.append("&amp;quot;"); break;
2089
- default: sb.append(ch);
2090
- }
2091
- }
2092
- return sb.toString();
2093
- }
2094
- }
2095
-
2096
- </pre>
2097
- <br>
2098
-
2099
-
2100
- <a name="lang-scheme"></a>
2101
- <h3 class="section2">Scheme</h3>
2102
- <a name="example.escheme"></a>
2103
- <div class="program_caption">
2104
- example.escheme</div>
2105
- <pre class="program">&lt;html&gt;
2106
- &lt;body&gt;
2107
- <strong>&lt;%
2108
- (let ((user "Erubis")
2109
- (items '("&lt;aaa&gt;" "b&amp;b" "\"ccc\""))
2110
- (i 0))
2111
- %&gt;</strong>
2112
- &lt;p&gt;Hello <strong>&lt;%= user %&gt;</strong>!&lt;/p&gt;
2113
- &lt;table&gt;
2114
- <strong>&lt;%
2115
- (for-each
2116
- (lambda (item)
2117
- (set! i (+ i 1))
2118
- %&gt;</strong>
2119
- &lt;tr bgcolor="<strong>&lt;%= (if (= (modulo i 2) 0) "#FFCCCC" "#CCCCFF") %&gt;</strong>"&gt;
2120
- &lt;td&gt;<strong>&lt;%= i %&gt;</strong>&lt;/td&gt;
2121
- &lt;td&gt;<strong>&lt;%= item %&gt;</strong>&lt;/td&gt;
2122
- &lt;/tr&gt;
2123
- <strong>&lt;%
2124
- ) ; lambda end
2125
- items) ; for-each end
2126
- %&gt;</strong>
2127
- &lt;/table&gt;
2128
- <strong>&lt;%
2129
- ) ; let end
2130
- %&gt;</strong>
2131
- &lt;/body&gt;
2132
- &lt;/html&gt;
2133
- </pre>
2134
- <a name="example_scheme.result"></a>
2135
- <div class="terminal_caption">
2136
- compiled source code</div>
2137
- <pre class="terminal">$ erubis -l scheme example.escheme
2138
- (let ((_buf '())) (define (_add x) (set! _buf (cons x _buf))) (_add "&lt;html&gt;
2139
- &lt;body&gt;\n")
2140
-
2141
- (let ((user "Erubis")
2142
- (items '("&lt;aaa&gt;" "b&amp;b" "\"ccc\""))
2143
- (i 0))
2144
-
2145
- (_add " &lt;p&gt;Hello ")(_add user)(_add "!&lt;/p&gt;
2146
- &lt;table&gt;\n")
2147
-
2148
- (for-each
2149
- (lambda (item)
2150
- (set! i (+ i 1))
2151
-
2152
- (_add " &lt;tr bgcolor=\"")(_add (if (= (modulo i 2) 0) "#FFCCCC" "#CCCCFF"))(_add "\"&gt;
2153
- &lt;td&gt;")(_add i)(_add "&lt;/td&gt;
2154
- &lt;td&gt;")(_add item)(_add "&lt;/td&gt;
2155
- &lt;/tr&gt;\n")
2156
-
2157
- ) ; lambda end
2158
- items) ; for-each end
2159
-
2160
- (_add " &lt;/table&gt;\n")
2161
-
2162
- ) ; let end
2163
-
2164
- (_add " &lt;/body&gt;
2165
- &lt;/html&gt;\n")
2166
- (reverse _buf))
2167
- </pre>
2168
- <a name="example_scheme_display.result"></a>
2169
- <div class="terminal_caption">
2170
- compiled source code (with <code>--func=display</code> property)</div>
2171
- <pre class="terminal">$ erubis -l scheme --func=display example.escheme
2172
- (display "&lt;html&gt;
2173
- &lt;body&gt;\n")
2174
-
2175
- (let ((user "Erubis")
2176
- (items '("&lt;aaa&gt;" "b&amp;b" "\"ccc\""))
2177
- (i 0))
2178
-
2179
- (display " &lt;p&gt;Hello ")(display user)(display "!&lt;/p&gt;
2180
- &lt;table&gt;\n")
2181
-
2182
- (for-each
2183
- (lambda (item)
2184
- (set! i (+ i 1))
2185
-
2186
- (display " &lt;tr bgcolor=\"")(display (if (= (modulo i 2) 0) "#FFCCCC" "#CCCCFF"))(display "\"&gt;
2187
- &lt;td&gt;")(display i)(display "&lt;/td&gt;
2188
- &lt;td&gt;")(display item)(display "&lt;/td&gt;
2189
- &lt;/tr&gt;\n")
2190
-
2191
- ) ; lambda end
2192
- items) ; for-each end
2193
-
2194
- (display " &lt;/table&gt;\n")
2195
-
2196
- ) ; let end
2197
-
2198
- (display " &lt;/body&gt;
2199
- &lt;/html&gt;\n")
2200
- </pre>
2201
- <br>
2202
-
2203
-
2204
- <a name="lang-perl"></a>
2205
- <h3 class="section2">Perl</h3>
2206
- <a name="example.eperl"></a>
2207
- <div class="program_caption">
2208
- example.eprl</div>
2209
- <pre class="program"><strong>&lt;%
2210
- my $user = 'Erubis';
2211
- my @list = ('&lt;aaa&gt;', 'b&amp;b', '"ccc"');
2212
- %&gt;</strong>
2213
- &lt;html&gt;
2214
- &lt;body&gt;
2215
- &lt;p&gt;Hello <strong>&lt;%= $user %&gt;</strong>!&lt;/p&gt;
2216
- &lt;table&gt;
2217
- <strong>&lt;% $i = 0; %&gt;</strong>
2218
- <strong>&lt;% for $item (@list) { %&gt;</strong>
2219
- &lt;tr bgcolor=<strong>&lt;%= ++$i % 2 == 0 ? '#FFCCCC' : '#CCCCFF' %&gt;</strong>"&gt;
2220
- &lt;td&gt;<strong>&lt;%= $i %&gt;</strong>&lt;/td&gt;
2221
- &lt;td&gt;<strong>&lt;%= $item %&gt;</strong>&lt;/td&gt;
2222
- &lt;/tr&gt;
2223
- <strong>&lt;% } %&gt;</strong>
2224
- &lt;/table&gt;
2225
- &lt;/body&gt;
2226
- &lt;/html&gt;
2227
- </pre>
2228
- <a name="example_perl.result"></a>
2229
- <div class="terminal_caption">
2230
- compiled source code</div>
2231
- <pre class="terminal">$ erubis -l perl example.eperl
2232
- use HTML::Entities;
2233
- my $user = 'Erubis';
2234
- my @list = ('&lt;aaa&gt;', 'b&amp;b', '"ccc"');
2235
-
2236
- print('&lt;html&gt;
2237
- &lt;body&gt;
2238
- &lt;p&gt;Hello '); print($user); print('!&lt;/p&gt;
2239
- &lt;table&gt;
2240
- '); $i = 0;
2241
- for $item (@list) {
2242
- print(' &lt;tr bgcolor='); print(++$i % 2 == 0 ? '#FFCCCC' : '#CCCCFF'); print('"&gt;
2243
- &lt;td&gt;'); print($i); print('&lt;/td&gt;
2244
- &lt;td&gt;'); print($item); print('&lt;/td&gt;
2245
- &lt;/tr&gt;
2246
- '); }
2247
- print(' &lt;/table&gt;
2248
- &lt;/body&gt;
2249
- &lt;/html&gt;
2250
- ');
2251
- </pre>
2252
- <br>
2253
-
2254
-
2255
- <a name="lang-javascript"></a>
2256
- <h3 class="section2">JavaScript</h3>
2257
- <a name="example.ejs"></a>
2258
- <div class="program_caption">
2259
- example.ejs</div>
2260
- <pre class="program"><strong>&lt;%
2261
- var user = 'Erubis';
2262
- var list = ['&lt;aaa&gt;', 'b&amp;b', '"ccc"'];
2263
- %&gt;</strong>
2264
- &lt;html&gt;
2265
- &lt;body&gt;
2266
- &lt;p&gt;Hello <strong>&lt;%= user %&gt;</strong>!&lt;/p&gt;
2267
- &lt;table&gt;
2268
- &lt;tbody&gt;
2269
- <strong>&lt;% var i; %&gt;</strong>
2270
- <strong>&lt;% for (i = 0; i &lt; list.length; i++) { %&gt;</strong>
2271
- &lt;tr bgcolor="<strong>&lt;%= i % 2 == 0 ? '#FFCCCC' : '#CCCCFF' %&gt;</strong>"&gt;
2272
- &lt;td&gt;<strong>&lt;%= i + 1 %&gt;</strong>&lt;/td&gt;
2273
- &lt;td&gt;<strong>&lt;%= list[i] %&gt;</strong>&lt;/td&gt;
2274
- &lt;/tr&gt;
2275
- <strong>&lt;% } %&gt;</strong>
2276
- &lt;/tbody&gt;
2277
- &lt;/table&gt;
2278
- &lt;/body&gt;
2279
- &lt;/html&gt;
2280
- </pre>
2281
- <a name="example_js.result"></a>
2282
- <div class="terminal_caption">
2283
- compiled source code</div>
2284
- <pre class="terminal">$ erubis -l js example.ejs
2285
- var _buf = [];
2286
- var user = 'Erubis';
2287
- var list = ['&lt;aaa&gt;', 'b&amp;b', '"ccc"'];
2288
-
2289
- _buf.push("&lt;html&gt;\n\
2290
- &lt;body&gt;\n\
2291
- &lt;p&gt;Hello "); _buf.push(user); _buf.push("!&lt;/p&gt;\n\
2292
- &lt;table&gt;\n\
2293
- &lt;tbody&gt;\n");
2294
- var i;
2295
- for (i = 0; i &lt; list.length; i++) {
2296
- _buf.push(" &lt;tr bgcolor=\""); _buf.push(i % 2 == 0 ? '#FFCCCC' : '#CCCCFF'); _buf.push("\"&gt;\n\
2297
- &lt;td&gt;"); _buf.push(i + 1); _buf.push("&lt;/td&gt;\n\
2298
- &lt;td&gt;"); _buf.push(list[i]); _buf.push("&lt;/td&gt;\n\
2299
- &lt;/tr&gt;\n");
2300
- }
2301
- _buf.push(" &lt;/tbody&gt;\n\
2302
- &lt;/table&gt;\n\
2303
- &lt;/body&gt;\n\
2304
- &lt;/html&gt;\n");
2305
- document.write(_buf.join(""));
2306
- </pre>
2307
- <p>If command-line option '<code>--docwrite=false</code>' is specified,
2308
- '<code>_buf.join("");</code>' is used instead of '<code>document.write(_buf.join(""));</code>'.
2309
- This is useful when passing converted source code to eval() function in JavaScript.
2310
- </p>
2311
- <p>You can pass <code>:docwrite=&gt;false</code> to Erubis::Ejavascript.new() in your Ruby script.
2312
- </p>
2313
- <pre class="program">s = File.read('example.jshtml')
2314
- engine = Erubis::Ejavascript.new(s, <code>:docwrite=&gt;false</code>)
2315
- </pre>
2316
- <p>If you want to specify any JavaScript code, use '--postamble=...'.
2317
- </p>
2318
- <p>Notice that default value of 'docwrite' property will be false in the future release.
2319
- </p>
2320
- <br>
2321
-
2322
-
2323
- <br>
2324
-
2325
-
2326
- <a name="rails"></a>
2327
- <h2 class="section1">Ruby on Rails Support</h2>
2328
- <p>Erubis supports Ruby on Rails.
2329
- This section describes how to use Erubis with Ruby on Rails.
2330
- </p>
2331
- <a name="rails-settings"></a>
2332
- <h3 class="section2">Settings</h3>
2333
- <p>Add the following code to your 'config/environment.rb' and restart web server.
2334
- This replaces ERB in Rails by Erubis entirely.
2335
- </p>
2336
- <div class="program_caption">
2337
- config/environment.rb</div>
2338
- <pre class="program">require 'erubis/helpers/rails_helper'
2339
- #Erubis::Helpers::RailsHelper.engine_class = Erubis::Eruby # or Erubis::FastEruby
2340
- #Erubis::Helpers::RailsHelper.init_properties = {}
2341
- #Erubis::Helpers::RailsHelper.show_src = nil
2342
- #Erubis::Helpers::RailsHelper.preprocessing = false
2343
- </pre>
2344
- <p>Options:
2345
- </p>
2346
- <dl class="dl2">
2347
- <dt class="dt2">
2348
- Erubis::Helpers::RailsHelper.engine_class (=Erubis::Eruby)</dt>
2349
- <dd class="dd2">
2350
- <p> Erubis engine class (default Erubis::Eruby).
2351
- </p>
2352
- </dd>
2353
- <dt class="dt2">
2354
- Erubis::Helpers::RailsHelper.init_properties (={})</dt>
2355
- <dd class="dd2">
2356
- <p> Optional arguments for Erubis::Eruby#initialize() method (default {}).
2357
- </p>
2358
- </dd>
2359
- <dt class="dt2">
2360
- Erubis::Helpers::RailsHelper.show_src (=nil)</dt>
2361
- <dd class="dd2">
2362
- <p> Whether to print converted Ruby code into log file.
2363
- If true, Erubis prints coverted code into log file.
2364
- If false, Erubis doesn't.
2365
- If nil, Erubis prints when ENV['RAILS_ENV'] == 'development'.
2366
- Default is nil.
2367
- </p>
2368
- </dd>
2369
- <dt class="dt2">
2370
- Erubis::Helpers::RailsHelper.preprocessing (=false)</dt>
2371
- <dd class="dd2">
2372
- <p> Enable preprocessing if true (default false).
2373
- </p>
2374
- </dd>
2375
- </dl>
2376
- <br>
2377
-
2378
-
2379
- <a name="rails-preprocessing"></a>
2380
- <h3 class="section2">Preprosessing</h3>
2381
- <p>Erubis supports preprocessing of template files.
2382
- Preprocessing make your Ruby on Rails application about 20-40 percent faster.
2383
- To enable preprocessing, set Erubis::Helpers::RailsHelper.preprocessing to true in your 'environment.rb' file.
2384
- </p>
2385
- <p>For example, assume the following template.
2386
- This is slow because link_to() method is called every time when template is rendered.
2387
- </p>
2388
- <pre class="program">&lt;%= link_to 'Create', :action=&gt;'create' %&gt;
2389
- </pre>
2390
- <p>The following is faster than the above, but not flexible because url is fixed.
2391
- </p>
2392
- <pre class="program">&lt;a href="/users/create"&gt;Create&lt;/a&gt;
2393
- </pre>
2394
- <p>Preprocessing solves this problem.
2395
- If you use '[%= %]' instead of '&lt;%= %&gt;', preprocessor evaluate it only once when template is loaded.
2396
- </p>
2397
- <pre class="program"><strong>[%= link_to 'Create', :action=&gt;'create'%]</strong>
2398
- </pre>
2399
- <p>The above is evaluated by preprocessor and replaced to the following code automatically.
2400
- </p>
2401
- <pre class="program">&lt;a href="/users/create"&gt;Create&lt;/a&gt;
2402
- </pre>
2403
- <p>Notice that this is done only once when template file is loaded.
2404
- It means that link_to() method is not called when template is rendered.
2405
- </p>
2406
- <p>If link_to() method have variable arguments, use <code>_?()</code> helper method.
2407
- </p>
2408
- <pre class="program">&lt;% for user in @users %&gt;
2409
- [%= link_to <strong>_?('user.name')</strong>, :action=&gt;'show', :id=&gt;<strong>_?('user.id')</strong> %]
2410
- &lt;% end %&gt;
2411
- </pre>
2412
- <p>The above is evaluated by preprocessor when template is loaded and expanded into the following code.
2413
- This will be much faster because link_to() method is not called when rendering.
2414
- </p>
2415
- <pre class="program">&lt;% for user in @users %&gt;
2416
- &lt;a href="/users/show/<strong>&lt;%=user.id%&gt;</strong>"&gt;<strong>&lt;%=user.name%&gt;</strong>&lt;/a&gt;
2417
- &lt;% end %&gt;
2418
- </pre>
2419
- <p>Preprocessing statement (<code>[% %]</code>) is also available as well as preprocessing expression (<code>[%= %]</code>).
2420
- </p>
2421
- <pre class="program">&lt;select name="state"&gt;
2422
- &lt;option value=""&gt;-&lt;/option&gt;
2423
- <strong>[% for code in states.keys.sort %]</strong>
2424
- &lt;option value="<strong>[%= code %]</strong>"&gt;<strong>[%= states[code] %]</strong>&lt;/option&gt;
2425
- <strong>[% end %]</strong>
2426
- &lt;/select&gt;
2427
- </pre>
2428
- <p>The above will be evaluated by preprocessor and expanded into the following when template is loaded.
2429
- In the result, rendering speed will be much faster because for-loop is not executed when rendering.
2430
- </p>
2431
- <pre class="program">&lt;select name="state"&gt;
2432
- &lt;option value=""&gt;-&lt;/option&gt;
2433
- &lt;option value="AK"&gt;Alaska&lt;/option&gt;
2434
- &lt;option value="AL"&gt;Alabama&lt;/option&gt;
2435
- &lt;option value="AR"&gt;Arkansas&lt;/option&gt;
2436
- &lt;option value="AS"&gt;American Samoa&lt;/option&gt;
2437
- &lt;option value="AZ"&gt;Arizona&lt;/option&gt;
2438
- &lt;option value="CA"&gt;California&lt;/option&gt;
2439
- &lt;option value="CO"&gt;Colorado&lt;/option&gt;
2440
- ....
2441
- &lt;/select&gt;
2442
- </pre>
2443
- <p>Notice that it is not recommended to use preprocessing with tag helpers,
2444
- because tag helpers generate different html code when form parameter has errors or not.
2445
- </p>
2446
- <p>Helper methods of Ruby on Rails are divided into two groups.
2447
- </p>
2448
- <ul type="disc">
2449
- <li>link_to() or _() (method of gettext package) are not need to call for every time
2450
- as template is rendered because it returns same value when same arguments are passed.
2451
- These methods can be got faster by preprocessing.
2452
- </li>
2453
- <li>Tag helper methods should be called for every time as template is rendered
2454
- because it may return differrent value even if the same arguments are passed.
2455
- Preprocessing is not available with these methods.
2456
- </li>
2457
- </ul>
2458
- <p>In Ruby on Rails 2.0, <code>_?('user_id')</code> is OK but <code>_?('user.id')</code> is NG
2459
- because the latter contains period ('.') character.
2460
- </p>
2461
- <pre class="program">&lt;!-- NG in Rails 2.0, because _?('') contains period --&gt;
2462
- [%= link_to 'Edit', edit_user_path(<strong>_?('@user.id')</strong>) %]
2463
- [%= link_to 'Show', <strong>@user</strong> %]
2464
- [%= link_to 'Delete', <strong>@user</strong>, :confirm=&gt;'OK?', :method=&gt;:delete %]
2465
-
2466
- &lt;!-- OK in Rails 2.0 --&gt;
2467
- <strong>&lt;%= user_id = @user.id %&gt;</strong>
2468
- [%= link_to 'Edit', edit_user_path(<strong>_?('user_id')</strong>) %]
2469
- [%= link_to 'Show', <strong>:action=&gt;'show', :id=&gt;_?('user_id')</strong> %]
2470
- [%= link_to 'Delete', <strong>{:action=&gt;'destroy', :id=&gt;_?('user_id')}</strong>,
2471
- {:confirm=&gt;'OK?', :method=&gt;:delete} %]
2472
- </pre>
2473
- <br>
2474
-
2475
-
2476
- <a name="rails-formhelpers"></a>
2477
- <h3 class="section2">Form Helpers for Preprocessing</h3>
2478
- <p><strong>(Experimental)</strong>
2479
- </p>
2480
- <p>Erubis provides form helper methods for preprocessing.
2481
- These are defined in 'erubis/helpers/rails_form_helper.rb'.
2482
- If you want to use it, require it and include Erubis::Helpers::RailsFormHelper in 'app/helpers/applition_helper.rb'
2483
- </p>
2484
- <div class="program_caption">
2485
- app/helpers/xxx_helper.rb</div>
2486
- <pre class="program">require 'erubis/helpers/rails_form_helper'
2487
- module ApplicationHelper
2488
- include Erubis::Helpers::RailsFormHelper
2489
- end
2490
- </pre>
2491
- <p>Form helper methods defined in Erubis::Helpers::RailsFormHelper are named as 'pp_xxxx'
2492
- ('pp' represents preprocessing).
2493
- </p>
2494
- <p>Assume the following view template:
2495
- </p>
2496
- <div class="program_caption">
2497
- _form.rhtml</div>
2498
- <pre class="program"> &lt;p&gt;
2499
- Name: &lt;%= text_field :user, :name %&gt;
2500
- &lt;/p&gt;
2501
- &lt;p&gt;
2502
- Name: <strong>[%= pp_text_field :user, :name %]</strong>
2503
- &lt;/p&gt;
2504
- </pre>
2505
- <p>Erubis preprocessor converts it to the following eRuby string:
2506
- </p>
2507
- <div class="program_caption">
2508
- preprocessed</div>
2509
- <pre class="program"> &lt;p&gt;
2510
- Name: &lt;%= text_field :user, :name %&gt;
2511
- &lt;/p&gt;
2512
- &lt;p&gt;
2513
- Name: <strong>&lt;input id="stock_name" name="stock[name]" size="30" type="text" value="&lt;%=h @stock.name%&gt;" /&gt;</strong>
2514
- &lt;/p&gt;
2515
- </pre>
2516
- <p>Erubis converts it to the following Ruby code:
2517
- </p>
2518
- <div class="program_caption">
2519
- Ruby code</div>
2520
- <pre class="program"> _buf &lt;&lt; ' &lt;p&gt;
2521
- Name: '; _buf &lt;&lt; ( text_field :stock, :name ).to_s; _buf &lt;&lt; '
2522
- '; _buf &lt;&lt; ' &lt;/p&gt;
2523
- &lt;p&gt;
2524
- Name: &lt;input id="stock_name" name="stock[name]" size="30" type="text" value="'; _buf &lt;&lt; (h @stock.name).to_s; _buf &lt;&lt; '" /&gt;
2525
- &lt;/p&gt;
2526
- ';
2527
- </pre>
2528
- <p>The above Ruby code shows that text_field() is called everytime when rendering,
2529
- but pp_text_field() is called only once when template is loaded.
2530
- This means that pp_text_field() with preprocessing makes view layer very fast.
2531
- </p>
2532
- <p>Module Erubis::Helpers::RailsFormHelper defines the following form helper methods.
2533
- </p>
2534
- <ul type="disc">
2535
- <li>pp_render_partial(basename)
2536
- </li>
2537
- <li>pp_form_tag(url_for_options={}, options={}, *parameters_for_url, &amp;block)
2538
- </li>
2539
- <li>pp_text_field(object_name, method, options={})
2540
- </li>
2541
- <li>pp_password_field(object_name, method, options={})
2542
- </li>
2543
- <li>pp_hidden_field(object_name, method, options={})
2544
- </li>
2545
- <li>pp_file_field(object_name, method, options={})
2546
- </li>
2547
- <li>pp_text_area(object_name, method, options={})
2548
- </li>
2549
- <li>pp_check_box(object_name, method, options={}, checked_value="1", unchecked_value="0")
2550
- </li>
2551
- <li>pp_radio_button(object_name, method, tag_value, options={})
2552
- </li>
2553
- <li>pp_select(object, method, collection, options={}, html_options={})
2554
- </li>
2555
- <li>pp_collection_select(object, method, collection, value_method, text_method, options={}, html_options={})
2556
- </li>
2557
- <li>pp_country_select(object, method, priority_countries=nil, options={}, html_options={})
2558
- </li>
2559
- <li>pp_time_zone_select(object, method, priority_zones=nil, options={}, html_options={})
2560
- </li>
2561
- <li>pp_submit_tag(value="Save changes", options={})
2562
- </li>
2563
- <li>pp_image_submit_tag(source, options={})
2564
- </li>
2565
- </ul>
2566
- <p>Notice that pp_form_for() is not provided.
2567
- </p>
2568
- <p><span style="color:#FF0000">CAUTION:</span> These are experimental and may not work in Ruby on Rails 2.0.
2569
- </p>
2570
- <br>
2571
-
2572
-
2573
- <a name="rails-others"></a>
2574
- <h3 class="section2">Others</h3>
2575
- <ul type="disc">
2576
- <li>ActionView::Helpers::CaptureHelper#capture() and ActionView::Helpers::Texthelper#concat() are available.
2577
- </li>
2578
- </ul>
2579
- <ul type="disc">
2580
- <li>Form helper methods are not tested in Ruby on Rails 2.0.
2581
- </li>
2582
- </ul>
2583
- <ul type="disc">
2584
- <li>ERB::Util.h() is redefined if you require 'erubis/helpers/rails_helper.rb'.
2585
- Original definition of ERB::Util.h() is the following and it is slow
2586
- because it scans string four times.
2587
- <pre class="program"> def html_escape(s)
2588
- s.to_s.gsub(/&amp;/, "&amp;amp;").gsub(/\"/, "&amp;quot;").gsub(/&gt;/, "&amp;gt;").gsub(/&lt;/, "&amp;lt;")
2589
- end
2590
- alias h html_escape
2591
- </pre>
2592
- <p> New definition in 'erubis/helpers/rails_helper.rb' is faster than the above
2593
- because it scans string only once.
2594
- </p>
2595
- <pre class="program"> ESCAPE_TABLE = { '&amp;'=&gt;'&amp;amp;', '&lt;'=&gt;'&amp;lt;', '&gt;'=&gt;'&amp;gt;', '"'=&gt;'&amp;quot;', "'"=&gt;'&amp;#039;', }
2596
- def h(value)
2597
- value.to_s.gsub(/[&amp;&lt;&gt;"]/) { |s| ESCAPE_TABLE[s] }
2598
- end
2599
- </pre>
2600
- <p> Notice that the new definition may be slow if string contains
2601
- many '&lt; &gt; &amp; "' characters because block is call many time.
2602
- You should use ERB::Util.html_hscape() if string contains a lot of '&lt; &gt; &amp; "'
2603
- characters.
2604
- </p>
2605
- </li>
2606
- </ul>
2607
- <br>
2608
-
2609
-
2610
- <br>
2611
-
2612
-
2613
- <a name="topics"></a>
2614
- <h2 class="section1">Other Topics</h2>
2615
- <a name="'&lt;%= =%&gt;' and '&lt;%= -%&gt;'"></a>
2616
- <h3 class="section2">'&lt;%= =%&gt;' and '&lt;%= -%&gt;'</h3>
2617
- <p>Since 2.6.0, '&lt;%= -%&gt;' remove tail spaces and newline.
2618
- This is for compatibiliy with ERB when trim mode is '-'.
2619
- '&lt;%= =%&gt;' also removes tail spaces and newlines, and this is
2620
- Erubis-original enhancement (cooler than '&lt;%= -%&gt;', isn't it?).
2621
- </p>
2622
- <a name="tailnewline.rhtml.comment_filter"></a>
2623
- <div class="program_caption">
2624
- tailnewline.rhtml</div>
2625
- <pre class="program">&lt;div&gt;
2626
- &lt;%= @var -%&gt; # or &lt;%= @var =%&gt;
2627
- &lt;/div&gt;
2628
- </pre>
2629
- <div class="terminal_caption">
2630
- result (version 2.5.0):</div>
2631
- <pre class="terminal">$ erubis -c '{var: "AAA\n"}' tailnewline.rhtml
2632
- &lt;div&gt;
2633
- AAA
2634
-
2635
- &lt;/div&gt;
2636
- </pre>
2637
- <a name="tail_260.result"></a>
2638
- <div class="terminal_caption">
2639
- result (version 2.6.0):</div>
2640
- <pre class="terminal">$ erubis -c '{var: "AAA\n"}' tailnewline.rhtml
2641
- &lt;div&gt;
2642
- AAA
2643
- &lt;/div&gt;
2644
- </pre>
2645
- <br>
2646
-
2647
-
2648
- <a name="'&lt;%% %&gt;' and '&lt;%%= %&gt;'"></a>
2649
- <h3 class="section2">'&lt;%% %&gt;' and '&lt;%%= %&gt;'</h3>
2650
- <p>Since 2.6.0, '&lt;%% %&gt;' and '&lt;%%= %&gt;' are converted into '&lt;% %&gt;' and '&lt;%= %&gt;' respectively.
2651
- This is for compatibility with ERB.
2652
- </p>
2653
- <div class="program_caption">
2654
- doublepercent.rhtml:</div>
2655
- <pre class="program">&lt;ul&gt;
2656
- &lt;%% for item in @list %&gt;
2657
- &lt;li&gt;&lt;%%= item %&gt;&lt;/li&gt;
2658
- &lt;%% end %&gt;
2659
- &lt;/ul&gt;
2660
- </pre>
2661
- <div class="terminal_caption">
2662
- result:</div>
2663
- <pre class="terminal">$ erubis doublepercent.rhtml
2664
- &lt;ul&gt;
2665
- &lt;% for item in @list %&gt;
2666
- &lt;li&gt;&lt;%= item %&gt;&lt;/li&gt;
2667
- &lt;% end %&gt;
2668
- &lt;/ul&gt;
2669
- </pre>
2670
- <br>
2671
-
2672
-
2673
- <a name="topics-context-vs-binding"></a>
2674
- <h3 class="section2">evaluate(context) v.s. result(binding)</h3>
2675
- <p>It is recommended to use 'Erubis::Eruby#evaluate(context)' instead of 'Erubis::Eruby#result(binding)' because Ruby's Binding object has some problems.
2676
- </p>
2677
- <ul type="disc">
2678
- <li>It is not able to specify variables to use.
2679
- Using binding() method, all of local variables are passed to templates.
2680
- </li>
2681
- <li>Changing local variables in templates may affect to varialbes in main program.
2682
- If you assign '10' to local variable 'x' in templates, it may change variable 'x' in main program unintendedly.
2683
- </li>
2684
- </ul>
2685
- <p>The following example shows that assignment of some values into variable 'x' in templates affect to local variable 'x' in main program unintendedly.
2686
- </p>
2687
- <a name="template1.rhtml"></a>
2688
- <div class="program_caption">
2689
- template1.rhtml (intended to be passed 'items' from main program)</div>
2690
- <pre class="program">&lt;% for <strong>x</strong> in <strong>items</strong> %&gt;
2691
- item = &lt;%= x %&gt;
2692
- &lt;% end %&gt;
2693
- ** debug: local variables=&lt;%= local_variables().inspect() %&gt;
2694
- </pre>
2695
- <a name="main_program1.rb"></a>
2696
- <div class="program_caption">
2697
- main_program1.rb (intended to pass 'items' to template)</div>
2698
- <pre class="program">require 'erubis'
2699
- eruby = Erubis::Eruby.new(File.read('template1.rhtml'))
2700
- items = ['foo', 'bar', 'baz']
2701
- x = 1
2702
- ## local variable 'x' and 'eruby' are passed to template as well as 'items'!
2703
- print <strong>eruby.result(binding())</strong>
2704
- ## local variable 'x' is changed unintendedly because it is changed in template!
2705
- puts "** debug: x=#{x.inspect}" #=&gt; "baz"
2706
- </pre>
2707
- <a name="main_program1.result"></a>
2708
- <div class="terminal_caption">
2709
- Result:</div>
2710
- <pre class="terminal">$ ruby main_program1.rb
2711
- item = foo
2712
- item = bar
2713
- item = baz
2714
- ** debug: local variables=["eruby", "items", "x", "_buf"]
2715
- ** debug: x="baz"
2716
- </pre>
2717
- <p>This problem is caused because Ruby's Binding class is poor to use in template engine.
2718
- Binding class should support the following features.
2719
- </p>
2720
- <pre class="program">b = Binding.new # create empty Binding object
2721
- b['x'] = 1 # set local variables using binding object
2722
- </pre>
2723
- <p>But the above features are not implemented in Ruby.
2724
- </p>
2725
- <p>A pragmatic solution is to use 'Erubis::Eruby#evaluate(context)' instead of 'Erubis::Eruby#result(binding)'.
2726
- 'evaluate(context)' uses Erubis::Context object and instance variables instead of Binding object and local variables.
2727
- </p>
2728
- <a name="template2.rhtml"></a>
2729
- <div class="program_caption">
2730
- template2.rhtml (intended to be passed '@items' from main program)</div>
2731
- <pre class="program">&lt;% for <strong>x</strong> in <strong>@items</strong> %&gt;
2732
- item = &lt;%= x %&gt;
2733
- &lt;% end %&gt;
2734
- ** debug: local variables=&lt;%= local_variables().inspect() %&gt;
2735
- </pre>
2736
- <a name="main_program2.rb"></a>
2737
- <div class="program_caption">
2738
- main_program2.rb (intended to pass '@items' to template)</div>
2739
- <pre class="program">require 'erubis'
2740
- eruby = Erubis::Eruby.new(File.read('template2.rhtml'))
2741
- items = ['foo', 'bar', 'baz']
2742
- x = 1
2743
- ## only 'items' are passed to template
2744
- print <strong>eruby.evaluate(:items=&gt;items)</strong>
2745
- ## local variable 'x' is not changed!
2746
- puts "** debug: x=#{x.inspect}" #=&gt; 1
2747
- </pre>
2748
- <a name="main_program2.result"></a>
2749
- <div class="terminal_caption">
2750
- Result:</div>
2751
- <pre class="terminal">$ ruby main_program2.rb
2752
- item = foo
2753
- item = bar
2754
- item = baz
2755
- ** debug: local variables=["_context", "x", "_buf"]
2756
- ** debug: x=1
2757
- </pre>
2758
- <br>
2759
-
2760
-
2761
- <a name="topics-fasteruby"></a>
2762
- <h3 class="section2">Class Erubis::FastEruby</h3>
2763
- <p>[experimental]
2764
- </p>
2765
- <p>Erubis provides Erubis::FastEruby class which includes <a href="#interpolation-enhancer">InterpolationEnhancer</a> and <a href="#topics-benchmark">works faster than Erubis::Eruby class</a>.
2766
- If you desire more speed, try Erubis::FastEruby class.
2767
- </p>
2768
- <a name="fasteruby.rhtml"></a>
2769
- <div class="program_caption">
2770
- File 'fasteruby.rhtml':</div>
2771
- <pre class="program">&lt;html&gt;
2772
- &lt;body&gt;
2773
- &lt;h1&gt;&lt;%== @title %&gt;&lt;/h1&gt;
2774
- &lt;table&gt;
2775
- &lt;% i = 0 %&gt;
2776
- &lt;% for item in @list %&gt;
2777
- &lt;% i += 1 %&gt;
2778
- &lt;tr&gt;
2779
- &lt;td&gt;&lt;%= i %&gt;&lt;/td&gt;
2780
- &lt;td&gt;&lt;%== item %&gt;&lt;/td&gt;
2781
- &lt;/tr&gt;
2782
- &lt;% end %&gt;
2783
- &lt;/table&gt;
2784
- &lt;/body&gt;
2785
- &lt;/html&gt;
2786
- </pre>
2787
- <a name="fasteruby.rb"></a>
2788
- <div class="program_caption">
2789
- File 'fasteruby.rb':</div>
2790
- <pre class="program">require 'erubis'
2791
- input = File.read('fasteruby.rhtml')
2792
- eruby = <strong>Erubis::FastEruby.new(input)</strong> # create Eruby object
2793
-
2794
- puts "---------- script source ---"
2795
- puts eruby.src
2796
-
2797
- puts "---------- result ----------"
2798
- context = { :title=&gt;'Example', :list=&gt;['aaa', 'bbb', 'ccc'] }
2799
- output = eruby.evaluate(context)
2800
- print output
2801
- </pre>
2802
- <a name="fasteruby.result"></a>
2803
- <div class="terminal_caption">
2804
- output</div>
2805
- <pre class="terminal">$ ruby fasteruby.rb
2806
- ---------- script source ---
2807
- _buf = ''; _buf &lt;&lt; <strong>%Q`</strong>&lt;html&gt;
2808
- &lt;body&gt;
2809
- &lt;h1&gt;<strong>#{Erubis::XmlHelper.escape_xml( @title )}</strong>&lt;/h1&gt;
2810
- &lt;table&gt;\n<strong>`</strong>
2811
- i = 0
2812
- for item in @list
2813
- i += 1
2814
- _buf &lt;&lt; <strong>%Q`</strong> &lt;tr&gt;
2815
- &lt;td&gt;<strong>#{ i }</strong>&lt;/td&gt;
2816
- &lt;td&gt;<strong>#{Erubis::XmlHelper.escape_xml( item )}</strong>&lt;/td&gt;
2817
- &lt;/tr&gt;\n<strong>`</strong>
2818
- end
2819
- _buf &lt;&lt; <strong>%Q`</strong> &lt;/table&gt;
2820
- &lt;/body&gt;
2821
- &lt;/html&gt;\n<strong>`</strong>
2822
- _buf.to_s
2823
- ---------- result ----------
2824
- &lt;html&gt;
2825
- &lt;body&gt;
2826
- &lt;h1&gt;Example&lt;/h1&gt;
2827
- &lt;table&gt;
2828
- &lt;tr&gt;
2829
- &lt;td&gt;1&lt;/td&gt;
2830
- &lt;td&gt;aaa&lt;/td&gt;
2831
- &lt;/tr&gt;
2832
- &lt;tr&gt;
2833
- &lt;td&gt;2&lt;/td&gt;
2834
- &lt;td&gt;bbb&lt;/td&gt;
2835
- &lt;/tr&gt;
2836
- &lt;tr&gt;
2837
- &lt;td&gt;3&lt;/td&gt;
2838
- &lt;td&gt;ccc&lt;/td&gt;
2839
- &lt;/tr&gt;
2840
- &lt;/table&gt;
2841
- &lt;/body&gt;
2842
- &lt;/html&gt;
2843
- </pre>
2844
- <br>
2845
-
2846
-
2847
- <a name="topics-syntax"></a>
2848
- <h3 class="section2">Syntax Checking</h3>
2849
- <p>Command-line option '-z' checks syntax. It is similar to 'erubis -x file.rhtml | ruby -wc', but it can take several file names.
2850
- </p>
2851
- <div class="terminal_caption">
2852
- example of command-line option '-z'</div>
2853
- <pre class="terminal">$ erubis <strong>-z</strong> app/views/*/*.rhtml
2854
- Syntax OK
2855
- </pre>
2856
- <br>
2857
-
2858
-
2859
- <a name="topics-caching"></a>
2860
- <h3 class="section2">File Caching</h3>
2861
- <p>Erubis::Eruby.load_file(filename) convert file into Ruby script and return Eruby object.
2862
- In addition, it caches converted Ruby script into cache file (filename + '.cache') if cache file is old or not exist.
2863
- If cache file exists and is newer than eruby file, Erubis::Eruby.load_file() loads cache file.
2864
- </p>
2865
- <div class="program_caption">
2866
- example of Erubis::Eruby.load_file()</div>
2867
- <pre class="program">require 'erubis'
2868
- filename = 'example.rhtml'
2869
- eruby = <strong>Erubis::Eruby.load_file(filename)</strong>
2870
- cachename = filename + '.cache'
2871
- if test(?f, cachename)
2872
- puts "*** cache file '#{cachename}' created."
2873
- end
2874
- </pre>
2875
- <p>Since 2.6.0, it is able to specify cache filename.
2876
- </p>
2877
- <div class="program_caption">
2878
- specify cache filename.</div>
2879
- <pre class="program">filename = 'example.rhtml'
2880
- eruby = Erubis::Eruby.load_file(filename, :cachename=&gt;filename+'.cache')
2881
- </pre>
2882
- <p>Caching makes Erubis about 40-50 percent faster than no-caching.
2883
- See <a href="#topics-benchmark">benchmark</a> for details.
2884
- </p>
2885
- <br>
2886
-
2887
-
2888
- <a name="topics-tinyeruby"></a>
2889
- <h3 class="section2">Erubis::TinyEruby class</h3>
2890
- <p>Erubis::TinyEruby class in 'erubis/tiny.rb' is the smallest implementation of eRuby.
2891
- If you don't need any enhancements of Erubis and only require simple eRuby implementation,
2892
- try Erubis::TinyEruby class.
2893
- </p>
2894
- <br>
2895
-
2896
-
2897
- <a name="topics-php"></a>
2898
- <h3 class="section2">NoTextEnhancer and NoCodeEnhancer in PHP</h3>
2899
- <p>NoTextEnhancer and NoCodEnahncer are quite useful not only for eRuby but also for PHP.
2900
- The former "drops" HTML text and show up embedded Ruby/PHP code
2901
- and the latter drops embedded Ruby/PHP code and leave HTML text.
2902
- </p>
2903
- <p>For example, see the following PHP script.
2904
- </p>
2905
- <a name="notext-example.php"></a>
2906
- <div class="program_caption">
2907
- notext-example.php</div>
2908
- <pre class="program">&lt;html&gt;
2909
- &lt;body&gt;
2910
- &lt;h3&gt;List&lt;/h3&gt;
2911
- &lt;?php if (!$list || count($list) == 0) { ?&gt;
2912
- &lt;p&gt;not found.&lt;/p&gt;
2913
- &lt;?php } else { ?&gt;
2914
- &lt;table&gt;
2915
- &lt;tbody&gt;
2916
- &lt;?php $i = 0; ?&gt;
2917
- &lt;?php foreach ($list as $item) { ?&gt;
2918
- &lt;tr bgcolor="&lt;?php echo ++$i % 2 == 1 ? '#FFCCCC' : '#CCCCFF'; ?&gt;"&gt;
2919
- &lt;td&gt;&lt;?php echo $item; ?&gt;&lt;/td&gt;
2920
- &lt;/tr&gt;
2921
- &lt;?php } ?&gt;
2922
- &lt;/tbody&gt;
2923
- &lt;/table&gt;
2924
- &lt;?php } ?&gt;
2925
- &lt;/body&gt;
2926
- &lt;/html&gt;
2927
- </pre>
2928
- <p>This is complex because PHP code and HTML document are mixed.
2929
- NoTextEnhancer can separate PHP code from HTML document.
2930
- </p>
2931
- <a name="notext-php.result"></a>
2932
- <div class="terminal_caption">
2933
- example of using NoTextEnhancer with PHP file</div>
2934
- <pre class="terminal">$ erubis -l php --pi=php -N -E NoText --trim=false notext-example.php
2935
- 1:
2936
- 2:
2937
- 3:
2938
- 4: &lt;?php if (!$list || count($list) == 0) { ?&gt;
2939
- 5:
2940
- 6: &lt;?php } else { ?&gt;
2941
- 7:
2942
- 8:
2943
- 9: &lt;?php $i = 0; ?&gt;
2944
- 10: &lt;?php foreach ($list as $item) { ?&gt;
2945
- 11: &lt;?php echo ++$i % 2 == 1 ? '#FFCCCC' : '#CCCCFF'; ?&gt;
2946
- 12: &lt;?php echo $item; ?&gt;
2947
- 13:
2948
- 14: &lt;?php } ?&gt;
2949
- 15:
2950
- 16:
2951
- 17: &lt;?php } ?&gt;
2952
- 18:
2953
- 19:
2954
- </pre>
2955
- <p>In the same way, NoCodeEnhancer can extract HTML tags.
2956
- </p>
2957
- <a name="nocode-php.result"></a>
2958
- <div class="terminal_caption">
2959
- example of using NoCodeEnhancer with PHP file</div>
2960
- <pre class="terminal">$ erubis -l php --pi=php -N -E NoCode --trim=false notext-example.php
2961
- 1: &lt;html&gt;
2962
- 2: &lt;body&gt;
2963
- 3: &lt;h3&gt;List&lt;/h3&gt;
2964
- 4:
2965
- 5: &lt;p&gt;not found.&lt;/p&gt;
2966
- 6:
2967
- 7: &lt;table&gt;
2968
- 8: &lt;tbody&gt;
2969
- 9:
2970
- 10:
2971
- 11: &lt;tr bgcolor=""&gt;
2972
- 12: &lt;td&gt;&lt;/td&gt;
2973
- 13: &lt;/tr&gt;
2974
- 14:
2975
- 15: &lt;/tbody&gt;
2976
- 16: &lt;/table&gt;
2977
- 17:
2978
- 18: &lt;/body&gt;
2979
- 19: &lt;/html&gt;
2980
- </pre>
2981
- <br>
2982
-
2983
-
2984
- <a name="topcs-modruby"></a>
2985
- <h3 class="section2">Helper Class for mod_ruby</h3>
2986
- <p>Thanks Andrew R Jackson, he developed 'erubis-run.rb' which enables you to use Erubis with mod_ruby.
2987
- </p>
2988
- <ol type="1">
2989
- <li>Copy 'erubis-2.6.2/contrib/erubis-run.rb' to the 'RUBYLIBDIR/apache' directory (for example '/usr/local/lib/ruby/1.8/apache') which contains 'ruby-run.rb', 'eruby-run.rb', and so on.
2990
- <pre class="terminal">$ cd erubis-2.6.2/
2991
- $ sudo copy contrib/erubis-run.rb /usr/local/lib/ruby/1.8/apache/
2992
- </pre>
2993
- </li>
2994
- <li>Add the following example to your 'httpd.conf' (for example '/usr/local/apache2/conf/httpd.conf')
2995
- <pre class="program">LoadModule ruby_module modules/mod_ruby.so
2996
- &lt;IfModule mod_ruby.c&gt;
2997
- RubyRequire apache/ruby-run
2998
- RubyRequire apache/eruby-run
2999
- RubyRequire apache/erubis-run
3000
- &lt;Location /erubis&gt;
3001
- SetHandler ruby-object
3002
- RubyHandler Apache::ErubisRun.instance
3003
- &lt;/Location&gt;
3004
- &lt;Files *.rhtml&gt;
3005
- SetHandler ruby-object
3006
- RubyHandler Apache::ErubisRun.instance
3007
- &lt;/Files&gt;
3008
- &lt;/IfModule&gt;
3009
- </pre>
3010
- </li>
3011
- <li>Restart Apache web server.
3012
- <pre class="terminal">$ sudo /usr/local/apache2/bin/apachectl stop
3013
- $ sudo /usr/local/apache2/bin/apachectl start
3014
- </pre>
3015
- </li>
3016
- <li>Create *.rhtml file, for example:
3017
- <pre class="program">&lt;html&gt;
3018
- &lt;body&gt;
3019
- Now is &lt;%= Time.now %&gt;
3020
- Erubis version is &lt;%= Erubis::VERSION %&gt;
3021
- &lt;/body&gt;
3022
- &lt;/html&gt;
3023
- </pre>
3024
- </li>
3025
- <li>Change mode of your directory to be writable by web server process.
3026
- <pre class="terminal">$ cd /usr/local/apache2/htdocs/erubis
3027
- $ sudo chgrp daemon .
3028
- $ sudo chmod 775 .
3029
- </pre>
3030
- </li>
3031
- <li>Access the *.rhtml file and you'll get the web page.
3032
- </li>
3033
- </ol>
3034
- <p>You must set your directories to be writable by web server process, because
3035
- Apache::ErubisRun calls Erubis::Eruby.load_file() internally which creates cache files
3036
- in the same directory in which '*.rhtml' file exists.
3037
- </p>
3038
- <br>
3039
-
3040
-
3041
- <a name="topics-defmethod"></a>
3042
- <h3 class="section2">Define method</h3>
3043
- <p>Erubis::Eruby#def_method() defines instance method or singleton method.
3044
- </p>
3045
- <a name="def_method.rb"></a>
3046
- <pre class="program">require 'erubis'
3047
- s = "hello &lt;%= name %&gt;"
3048
- eruby = Erubis::Eruby.new(s)
3049
- filename = 'hello.rhtml'
3050
-
3051
- ## define instance method to Dummy class (or module)
3052
- class Dummy; end
3053
- <strong>eruby.def_method(Dummy, 'render(name)', filename)</strong> # filename is optional
3054
- p Dummy.new.render('world') #=&gt; "hello world"
3055
-
3056
- ## define singleton method to dummy object
3057
- obj = Object.new
3058
- <strong>eruby.def_method(obj, 'render(name)', filename)</strong> # filename is optional
3059
- p obj.render('world') #=&gt; "hello world"
3060
- </pre>
3061
- <br>
3062
-
3063
-
3064
- <a name="topics-benchmark"></a>
3065
- <h3 class="section2">Benchmark</h3>
3066
- <p>A benchmark script is included in Erubis package at 'erubis-2.6.2/benchark/' directory.
3067
- Here is an example result of benchmark.
3068
- </p>
3069
- <div class="terminal_caption">
3070
- MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Ruby1.8.6, eruby1.0.5, gcc4.0.1</div>
3071
- <pre class="terminal">$ cd erubis-2.6.2/benchmark/
3072
- $ ruby bench.rb -n 10000 -m execute
3073
- *** ntimes=10000, testmode=execute
3074
- user system total real
3075
- eruby 12.720000 0.240000 <strong>12.960000</strong> ( 12.971888)
3076
- ERB 36.760000 0.350000 <strong>37.110000</strong> ( 37.112019)
3077
- ERB(cached) 11.990000 0.440000 <strong>12.430000</strong> ( 12.430375)
3078
- Erubis::Eruby 10.840000 0.300000 <strong>11.140000</strong> ( 11.144426)
3079
- Erubis::Eruby(cached) 7.540000 0.410000 <strong>7.950000</strong> ( 7.969305)
3080
- Erubis::FastEruby 10.440000 0.300000 <strong>10.740000</strong> ( 10.737808)
3081
- Erubis::FastEruby(cached) 6.940000 0.410000 <strong>7.350000</strong> ( 7.353666)
3082
- Erubis::TinyEruby 9.550000 0.290000 9.840000 ( 9.851729)
3083
- Erubis::ArrayBufferEruby 11.010000 0.300000 11.310000 ( 11.314339)
3084
- Erubis::PrintOutEruby 11.640000 0.290000 11.930000 ( 11.942141)
3085
- Erubis::StdoutEruby 11.590000 0.300000 11.890000 ( 11.886512)
3086
- </pre>
3087
- <p>This shows that...
3088
- </p>
3089
- <ul type="disc">
3090
- <li>Erubis::Eruby runs more than 10 percent faster than eruby.
3091
- </li>
3092
- <li>Erubis::Eruby runs about 3 times faster than ERB.
3093
- </li>
3094
- <li>Caching (by Erubis::Eruby.load_file()) makes Erubis about 40-50 percent faster.
3095
- </li>
3096
- <li>Erubis::FastEruby is a litte faster than Erubis::Eruby.
3097
- </li>
3098
- <li>Array buffer (ArrayBufferEnhancer) is a little slower than string buffer (StringBufferEnhancer which Erubis::Eruby includes)
3099
- </li>
3100
- <li>$stdout and print() make Erubis a little slower.
3101
- </li>
3102
- <li>Erubis::TinyEruby (at 'erubis/tiny.rb') is the fastest in all eRuby implementations when no caching.
3103
- </li>
3104
- </ul>
3105
- <p>Escaping HTML characters (such as '&lt; &gt; &amp; "') makes Erubis more faster than eruby and ERB,
3106
- because Erubis::XmlHelper#escape_xml() works faster than CGI.escapeHTML() and ERB::Util#h().
3107
- The following shows that Erubis runs more than 40 percent (when no-cached) or 90 percent (when cached) faster than eruby if HTML characters are escaped.
3108
- </p>
3109
- <div class="terminal_caption">
3110
- When escaping HTML characters with option '-e'</div>
3111
- <pre class="terminal">$ ruby bench.rb -n 10000 -m execute -ep
3112
- *** ntimes=10000, testmode=execute
3113
- user system total real
3114
- eruby 21.700000 0.290000 <strong>21.990000</strong> ( 22.050687)
3115
- ERB 45.140000 0.390000 <strong>45.530000</strong> ( 45.536976)
3116
- ERB(cached) 20.340000 0.470000 <strong>20.810000</strong> ( 20.822653)
3117
- Erubis::Eruby 14.830000 0.310000 <strong>15.140000</strong> ( 15.147930)
3118
- Erubis::Eruby(cached) 11.090000 0.420000 <strong>11.510000</strong> ( 11.514954)
3119
- Erubis::FastEruby 14.850000 0.310000 <strong>15.160000</strong> ( 15.172499)
3120
- Erubis::FastEruby(cached) 10.970000 0.430000 <strong>11.400000</strong> ( 11.399605)
3121
- Erubis::ArrayBufferEruby 14.970000 0.300000 15.270000 ( 15.281061)
3122
- Erubis::PrintOutEruby 15.780000 0.300000 16.080000 ( 16.088289)
3123
- Erubis::StdoutEruby 15.840000 0.310000 16.150000 ( 16.235338)
3124
- </pre>
3125
- <br>
3126
-
3127
-
3128
- <br>
3129
-
3130
-
3131
- <a name="command"></a>
3132
- <h2 class="section1">Command Reference</h2>
3133
- <a name="command-usage"></a>
3134
- <h3 class="section2">Usage</h3>
3135
- <p>erubis [..options..] [<em>file</em> ...]
3136
- </p>
3137
- <br>
3138
-
3139
-
3140
- <a name="command-options"></a>
3141
- <h3 class="section2">Options</h3>
3142
- <dl class="dl3" compact>
3143
- <dt class="dt3"><b>
3144
- -h, --help </b></dt>
3145
- <dd class="dd3">
3146
- Help.
3147
- </dd>
3148
- <dt class="dt3"><b>
3149
- -v </b></dt>
3150
- <dd class="dd3">
3151
- Release version.
3152
- </dd>
3153
- <dt class="dt3"><b>
3154
- -x </b></dt>
3155
- <dd class="dd3">
3156
- Show compiled source.
3157
- </dd>
3158
- <dt class="dt3"><b>
3159
- -X </b></dt>
3160
- <dd class="dd3">
3161
- Show compiled source but only Ruby code.
3162
- This is equivarent to '-E NoText'.
3163
- </dd>
3164
- <dt class="dt3"><b>
3165
- -N </b></dt>
3166
- <dd class="dd3">
3167
- Numbering: add line numbers. (for '-x/-X')
3168
- </dd>
3169
- <dt class="dt3"><b>
3170
- -U </b></dt>
3171
- <dd class="dd3">
3172
- Unique mode: zip empty lines into a line. (for '-x/-X')
3173
- </dd>
3174
- <dt class="dt3"><b>
3175
- -C </b></dt>
3176
- <dd class="dd3">
3177
- Compact: remove empty lines. (for '-x/-X')
3178
- </dd>
3179
- <dt class="dt3"><b>
3180
- -b </b></dt>
3181
- <dd class="dd3">
3182
- Body only: no preamble nor postamble. (for '-x/-X')
3183
- This is equivarent to '--preamble=false --postamble=false'.
3184
- </dd>
3185
- <dt class="dt3"><b>
3186
- -z </b></dt>
3187
- <dd class="dd3">
3188
- Syntax checking.
3189
- </dd>
3190
- <dt class="dt3"><b>
3191
- -e </b></dt>
3192
- <dd class="dd3">
3193
- Escape. This is equivarent to '-E Escape'.
3194
- </dd>
3195
- <dt class="dt3"><b>
3196
- -p pattern </b></dt>
3197
- <dd class="dd3">
3198
- Embedded pattern (default '&lt;% %&gt;').
3199
- This is equivarent to '--pattern=<em>pattern</em>'.
3200
- </dd>
3201
- <dt class="dt3"><b>
3202
- -l lang </b></dt>
3203
- <dd class="dd3">
3204
- Language name.
3205
- This option makes erubis command to compile script but no execute.
3206
- </dd>
3207
- <dt class="dt3"><b>
3208
- -E enhacers </b></dt>
3209
- <dd class="dd3">
3210
- Enhancer name (Escape, PercentLine, ...).
3211
- It is able to specify several enhancer name separating with ','
3212
- (ex. -f Escape,PercentLine,HeaderFooter).
3213
- </dd>
3214
- <dt class="dt3"><b>
3215
- -I path </b></dt>
3216
- <dd class="dd3">
3217
- Require library path ($:).
3218
- It is able to specify several paths separating with ','
3219
- (ex. -f path1,path2,path3).
3220
- </dd>
3221
- <dt class="dt3"><b>
3222
- -K kanji </b></dt>
3223
- <dd class="dd3">
3224
- Kanji code (euc, sjis, utf8, or none) (default none).
3225
- </dd>
3226
- <dt class="dt3"><b>
3227
- -f datafile </b></dt>
3228
- <dd class="dd3">
3229
- Context data file in YAML format ('*.yaml', '*.yml') or
3230
- Ruby script ('*.rb').
3231
- It is able to specify several filenames separating with ','
3232
- (ex. -f file1,file2,file3).
3233
- </dd>
3234
- <dt class="dt3"><b>
3235
- -c context </b></dt>
3236
- <dd class="dd3">
3237
- Context data string in YAML inline style or Ruby code.
3238
- </dd>
3239
- <dt class="dt3"><b>
3240
- -T </b></dt>
3241
- <dd class="dd3">
3242
- Don't expand tab characters in YAML file.
3243
- </dd>
3244
- <dt class="dt3"><b>
3245
- -S </b></dt>
3246
- <dd class="dd3">
3247
- Convert mapping key from string to symbol in YAML file.
3248
- </dd>
3249
- <dt class="dt3"><b>
3250
- -B </b></dt>
3251
- <dd class="dd3">
3252
- invoke Eruby#result() instead of Eruby#evaluate()
3253
- </dd>
3254
- <dt class="dt3"><b>
3255
- --pi[=name] </b></dt>
3256
- <dd class="dd3">
3257
- parse '&lt;?name ... ?&gt;' instead of '&lt;% ... %&gt;'
3258
- </dd>
3259
- <dt class="dt3"><b>
3260
- --trim=false </b></dt>
3261
- <dd class="dd3">
3262
- No trimming spaces around '&lt;% %&gt;'.
3263
- </dd>
3264
- </dl>
3265
- <br>
3266
-
3267
-
3268
- <a name="command-props"></a>
3269
- <h3 class="section2">Properties</h3>
3270
- <p>Some Eruby classes can take optional properties to change it's compile option.
3271
- For example, property '--indent=" "' may change indentation of compiled source code.
3272
- Try 'erubis -h' for details.
3273
- </p>
3274
- <br>
3275
-
3276
-
3277
- <br>
3278
-
3279
-
3280
-
3281
- </div>
3282
- </blockquote>
3283
-
3284
- </body>
3285
- </html>