simple-templater 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (874) hide show
  1. data/CHANGELOG +10 -0
  2. data/LICENSE +20 -0
  3. data/README.textile +136 -0
  4. data/Rakefile +79 -0
  5. data/TODO.txt +15 -0
  6. data/bin/simple-templater +66 -0
  7. data/deps.rip +7 -0
  8. data/lib/simple-templater/argv_parsing.rb +27 -0
  9. data/lib/simple-templater/builder.rb +134 -0
  10. data/lib/simple-templater/discoverer.rb +20 -0
  11. data/lib/simple-templater/discoverers/gems.rb +79 -0
  12. data/lib/simple-templater/discoverers/plain.rb +1 -0
  13. data/lib/simple-templater/discoverers/rip.rb +1 -0
  14. data/lib/simple-templater/dsl.rb +27 -0
  15. data/lib/simple-templater/generator.rb +129 -0
  16. data/lib/simple-templater/generator_set.rb +45 -0
  17. data/lib/simple-templater/helpers.rb +34 -0
  18. data/lib/simple-templater/hooks/hook.rb +76 -0
  19. data/lib/simple-templater/hooks/postprocess/git_repository.rb +25 -0
  20. data/lib/simple-templater/hooks/postprocess/github.rb +20 -0
  21. data/lib/simple-templater/hooks/preprocess/full_name.rb +17 -0
  22. data/lib/simple-templater/hooks/preprocess/github.rb +25 -0
  23. data/lib/simple-templater.rb +97 -0
  24. data/script/spec +14 -0
  25. data/simple-templater.gemspec +45 -0
  26. data/simple-templater.scope +6 -0
  27. data/spec/simple-templater/argv_parsing_spec.rb +41 -0
  28. data/spec/simple-templater/builder_spec.rb +1 -0
  29. data/spec/simple-templater/discoverers/gems_spec.rb +0 -0
  30. data/spec/simple-templater/discoverers/plain_spec.rb +0 -0
  31. data/spec/simple-templater/discoverers/rip_spec.rb +0 -0
  32. data/spec/simple-templater/generator_set_spec.rb +55 -0
  33. data/spec/simple-templater/generator_spec.rb +30 -0
  34. data/spec/simple-templater/helpers_spec.rb +81 -0
  35. data/spec/simple-templater/hooks/hook_spec.rb +100 -0
  36. data/spec/simple-templater/hooks/postprocess/git_repository_spec.rb +25 -0
  37. data/spec/simple-templater/hooks/postprocess/github_spec.rb +8 -0
  38. data/spec/simple-templater_spec.rb +112 -0
  39. data/spec/spec.opts +5 -0
  40. data/spec/spec_helper.rb +19 -0
  41. data/spec/stubs/gems/cache/test_generator-0.0.1.gem +0 -0
  42. data/spec/stubs/gems/gems/test_generator-0.0.1/simple-generator.scope +8 -0
  43. data/spec/stubs/gems/gems/test_generator-0.0.1/simple-templater.scope +8 -0
  44. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%1_test.rb.rbt +1 -0
  45. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%_test.rb +0 -0
  46. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/README.textile +3 -0
  47. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/script.rb.rbt +1 -0
  48. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%1_test.rb.rbt +1 -0
  49. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%_test.rb +0 -0
  50. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/README.textile +3 -0
  51. data/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/script.rb.rbt +1 -0
  52. data/spec/stubs/gems/gems/test_generator-0.0.1/test_generator.gemspec +19 -0
  53. data/spec/stubs/gems/specifications/test_generator-0.0.1.gemspec +28 -0
  54. data/spec/stubs/simple-templater.scope +8 -0
  55. data/spec/stubs/test_generator/simple-templater.scope +8 -0
  56. data/spec/stubs/test_generator/stubs/test/content/%name%1_test.rb.rbt +1 -0
  57. data/spec/stubs/test_generator/stubs/test/content/%name%_test.rb +0 -0
  58. data/spec/stubs/test_generator/stubs/test/content/README.textile +3 -0
  59. data/spec/stubs/test_generator/stubs/test/content/script.rb.rbt +1 -0
  60. data/spec/stubs/test_generator/test_generator-0.0.1.gem +0 -0
  61. data/spec/stubs/test_generator/test_generator.gemspec +19 -0
  62. data/stubs/project/content/%name%.gemspec.rbt +37 -0
  63. data/stubs/project/content/CHANGELOG +2 -0
  64. data/stubs/project/content/LICENSE.rbt +20 -0
  65. data/stubs/project/content/README.textile.rbt +19 -0
  66. data/stubs/project/content/Rakefile +39 -0
  67. data/stubs/project/content/TODO.txt +0 -0
  68. data/stubs/project/content/bin/%name%.rbt +14 -0
  69. data/stubs/project/content/deps.rip +5 -0
  70. data/stubs/project/content/lib/%name%.rb.rbt +5 -0
  71. data/stubs/project/content/spec/%name%_spec.rb.rbt +10 -0
  72. data/stubs/project/content/spec/spec.opts +5 -0
  73. data/stubs/project/content/spec/spec_helper.rb.rbt +11 -0
  74. data/stubs/project/metadata.yml +3 -0
  75. data/stubs/project/postprocess.rb +13 -0
  76. data/stubs/project/setup.rb +13 -0
  77. data/stubs/stub/content/metadata.yml.rbt +3 -0
  78. data/stubs/stub/content/postprocess.rb +11 -0
  79. data/stubs/stub/content/setup.rb +10 -0
  80. data/stubs/stub/metadata.yml +3 -0
  81. data/stubs/stub/postprocess.rb +9 -0
  82. data/stubs/stub/setup.rb +15 -0
  83. data/vendor/abstract/ChangeLog +3 -0
  84. data/vendor/abstract/README.txt +57 -0
  85. data/vendor/abstract/abstract.gemspec +48 -0
  86. data/vendor/abstract/doc/classes/Kernel.html +134 -0
  87. data/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
  88. data/vendor/abstract/doc/classes/Module.html +140 -0
  89. data/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
  90. data/vendor/abstract/doc/created.rid +1 -0
  91. data/vendor/abstract/doc/files/README_txt.html +173 -0
  92. data/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
  93. data/vendor/abstract/doc/fr_class_index.html +28 -0
  94. data/vendor/abstract/doc/fr_file_index.html +28 -0
  95. data/vendor/abstract/doc/fr_method_index.html +28 -0
  96. data/vendor/abstract/doc/index.html +24 -0
  97. data/vendor/abstract/doc/rdoc-style.css +208 -0
  98. data/vendor/abstract/lib/abstract.rb +75 -0
  99. data/vendor/abstract/setup.rb +1331 -0
  100. data/vendor/abstract/test/test.rb +91 -0
  101. data/vendor/cli/CHANGELOG +2 -0
  102. data/vendor/cli/LICENSE +20 -0
  103. data/vendor/cli/README.textile +0 -0
  104. data/vendor/cli/Rakefile +62 -0
  105. data/vendor/cli/TODO.txt +0 -0
  106. data/vendor/cli/cli.gemspec +42 -0
  107. data/vendor/cli/deps.rip +5 -0
  108. data/vendor/cli/lib/cli.rb +33 -0
  109. data/vendor/cli/script/spec +12 -0
  110. data/vendor/cli/spec/cli_spec.rb +56 -0
  111. data/vendor/cli/spec/spec.opts +5 -0
  112. data/vendor/cli/spec/spec_helper.rb +18 -0
  113. data/vendor/erubis/CHANGES.txt +717 -0
  114. data/vendor/erubis/MIT-LICENSE +20 -0
  115. data/vendor/erubis/README.txt +102 -0
  116. data/vendor/erubis/benchmark/Makefile +6 -0
  117. data/vendor/erubis/benchmark/bench.rb +314 -0
  118. data/vendor/erubis/benchmark/bench_context.yaml +141 -0
  119. data/vendor/erubis/benchmark/templates/_footer.html +4 -0
  120. data/vendor/erubis/benchmark/templates/_header.html +52 -0
  121. data/vendor/erubis/benchmark/templates/bench_erb.rhtml +29 -0
  122. data/vendor/erubis/benchmark/templates/bench_erubis.rhtml +29 -0
  123. data/vendor/erubis/benchmark/templates/bench_eruby.rhtml +29 -0
  124. data/vendor/erubis/bin/erubis +11 -0
  125. data/vendor/erubis/contrib/erubis +11 -0
  126. data/vendor/erubis/contrib/erubis-run.rb +132 -0
  127. data/vendor/erubis/contrib/inline-require +153 -0
  128. data/vendor/erubis/doc/docstyle.css +188 -0
  129. data/vendor/erubis/doc/users-guide.html +3285 -0
  130. data/vendor/erubis/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +181 -0
  131. data/vendor/erubis/doc-api/classes/ActionView.html +105 -0
  132. data/vendor/erubis/doc-api/classes/ERB.html +101 -0
  133. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEnhancer.html +175 -0
  134. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEruby.html +120 -0
  135. data/vendor/erubis/doc-api/classes/Erubis/ArrayEnhancer.html +174 -0
  136. data/vendor/erubis/doc-api/classes/Erubis/ArrayEruby.html +120 -0
  137. data/vendor/erubis/doc-api/classes/Erubis/Basic/Converter.html +327 -0
  138. data/vendor/erubis/doc-api/classes/Erubis/Basic/Engine.html +130 -0
  139. data/vendor/erubis/doc-api/classes/Erubis/Basic.html +112 -0
  140. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEnhancer.html +215 -0
  141. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEruby.html +120 -0
  142. data/vendor/erubis/doc-api/classes/Erubis/CGenerator.html +386 -0
  143. data/vendor/erubis/doc-api/classes/Erubis/CommandOptionError.html +113 -0
  144. data/vendor/erubis/doc-api/classes/Erubis/Context.html +344 -0
  145. data/vendor/erubis/doc-api/classes/Erubis/Converter.html +283 -0
  146. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEnhancer.html +150 -0
  147. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEruby.html +120 -0
  148. data/vendor/erubis/doc-api/classes/Erubis/Ec.html +126 -0
  149. data/vendor/erubis/doc-api/classes/Erubis/Ejava.html +126 -0
  150. data/vendor/erubis/doc-api/classes/Erubis/Ejavascript.html +126 -0
  151. data/vendor/erubis/doc-api/classes/Erubis/Engine.html +305 -0
  152. data/vendor/erubis/doc-api/classes/Erubis/Eperl.html +126 -0
  153. data/vendor/erubis/doc-api/classes/Erubis/Ephp.html +126 -0
  154. data/vendor/erubis/doc-api/classes/Erubis/ErboutEnhancer.html +175 -0
  155. data/vendor/erubis/doc-api/classes/Erubis/ErboutEruby.html +120 -0
  156. data/vendor/erubis/doc-api/classes/Erubis/ErubisError.html +117 -0
  157. data/vendor/erubis/doc-api/classes/Erubis/Eruby.html +132 -0
  158. data/vendor/erubis/doc-api/classes/Erubis/EscapeEnhancer.html +165 -0
  159. data/vendor/erubis/doc-api/classes/Erubis/EscapedEc.html +120 -0
  160. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjava.html +120 -0
  161. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjavascript.html +120 -0
  162. data/vendor/erubis/doc-api/classes/Erubis/EscapedEperl.html +120 -0
  163. data/vendor/erubis/doc-api/classes/Erubis/EscapedEphp.html +120 -0
  164. data/vendor/erubis/doc-api/classes/Erubis/EscapedEruby.html +127 -0
  165. data/vendor/erubis/doc-api/classes/Erubis/EscapedEscheme.html +120 -0
  166. data/vendor/erubis/doc-api/classes/Erubis/Escheme.html +126 -0
  167. data/vendor/erubis/doc-api/classes/Erubis/Evaluator.html +212 -0
  168. data/vendor/erubis/doc-api/classes/Erubis/FastEruby.html +131 -0
  169. data/vendor/erubis/doc-api/classes/Erubis/Generator.html +416 -0
  170. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEnhancer.html +267 -0
  171. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEruby.html +120 -0
  172. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +787 -0
  173. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +164 -0
  174. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper.html +349 -0
  175. data/vendor/erubis/doc-api/classes/Erubis/Helpers.html +116 -0
  176. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEnhancer.html +306 -0
  177. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEruby.html +120 -0
  178. data/vendor/erubis/doc-api/classes/Erubis/JavaGenerator.html +359 -0
  179. data/vendor/erubis/doc-api/classes/Erubis/JavascriptGenerator.html +386 -0
  180. data/vendor/erubis/doc-api/classes/Erubis/Main.html +340 -0
  181. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEnhancer.html +249 -0
  182. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEruby.html +120 -0
  183. data/vendor/erubis/doc-api/classes/Erubis/NoTextEnhancer.html +159 -0
  184. data/vendor/erubis/doc-api/classes/Erubis/NoTextEruby.html +120 -0
  185. data/vendor/erubis/doc-api/classes/Erubis/NotSupportedError.html +119 -0
  186. data/vendor/erubis/doc-api/classes/Erubis/OptimizedEruby.html +163 -0
  187. data/vendor/erubis/doc-api/classes/Erubis/OptimizedGenerator.html +439 -0
  188. data/vendor/erubis/doc-api/classes/Erubis/OptimizedXmlEruby.html +163 -0
  189. data/vendor/erubis/doc-api/classes/Erubis/PI/Converter.html +266 -0
  190. data/vendor/erubis/doc-api/classes/Erubis/PI/Ec.html +166 -0
  191. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejava.html +166 -0
  192. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejavascript.html +166 -0
  193. data/vendor/erubis/doc-api/classes/Erubis/PI/Engine.html +122 -0
  194. data/vendor/erubis/doc-api/classes/Erubis/PI/Eperl.html +166 -0
  195. data/vendor/erubis/doc-api/classes/Erubis/PI/Ephp.html +166 -0
  196. data/vendor/erubis/doc-api/classes/Erubis/PI/Eruby.html +155 -0
  197. data/vendor/erubis/doc-api/classes/Erubis/PI/Escheme.html +166 -0
  198. data/vendor/erubis/doc-api/classes/Erubis/PI/TinyEruby.html +293 -0
  199. data/vendor/erubis/doc-api/classes/Erubis/PI.html +124 -0
  200. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEnhancer.html +179 -0
  201. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEruby.html +120 -0
  202. data/vendor/erubis/doc-api/classes/Erubis/PerlGenerator.html +344 -0
  203. data/vendor/erubis/doc-api/classes/Erubis/PhpGenerator.html +350 -0
  204. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingEruby.html +183 -0
  205. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingHelper.html +212 -0
  206. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEnhancer.html +212 -0
  207. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEruby.html +120 -0
  208. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEnhancer.html +244 -0
  209. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEruby.html +120 -0
  210. data/vendor/erubis/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +121 -0
  211. data/vendor/erubis/doc-api/classes/Erubis/RubyEvaluator.html +227 -0
  212. data/vendor/erubis/doc-api/classes/Erubis/RubyGenerator.html +327 -0
  213. data/vendor/erubis/doc-api/classes/Erubis/SchemeGenerator.html +382 -0
  214. data/vendor/erubis/doc-api/classes/Erubis/SimplifiedEruby.html +120 -0
  215. data/vendor/erubis/doc-api/classes/Erubis/SimplifyEnhancer.html +191 -0
  216. data/vendor/erubis/doc-api/classes/Erubis/StdoutEnhancer.html +173 -0
  217. data/vendor/erubis/doc-api/classes/Erubis/StdoutEruby.html +120 -0
  218. data/vendor/erubis/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +121 -0
  219. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEnhancer.html +174 -0
  220. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEruby.html +120 -0
  221. data/vendor/erubis/doc-api/classes/Erubis/StringIOEruby.html +120 -0
  222. data/vendor/erubis/doc-api/classes/Erubis/TinyEruby.html +299 -0
  223. data/vendor/erubis/doc-api/classes/Erubis/XmlEruby.html +130 -0
  224. data/vendor/erubis/doc-api/classes/Erubis/XmlHelper.html +255 -0
  225. data/vendor/erubis/doc-api/classes/Erubis.html +353 -0
  226. data/vendor/erubis/doc-api/created.rid +1 -0
  227. data/vendor/erubis/doc-api/files/README_txt.html +247 -0
  228. data/vendor/erubis/doc-api/files/erubis/context_rb.html +107 -0
  229. data/vendor/erubis/doc-api/files/erubis/converter_rb.html +114 -0
  230. data/vendor/erubis/doc-api/files/erubis/engine/ec_rb.html +115 -0
  231. data/vendor/erubis/doc-api/files/erubis/engine/ejava_rb.html +115 -0
  232. data/vendor/erubis/doc-api/files/erubis/engine/ejavascript_rb.html +115 -0
  233. data/vendor/erubis/doc-api/files/erubis/engine/enhanced_rb.html +115 -0
  234. data/vendor/erubis/doc-api/files/erubis/engine/eperl_rb.html +115 -0
  235. data/vendor/erubis/doc-api/files/erubis/engine/ephp_rb.html +115 -0
  236. data/vendor/erubis/doc-api/files/erubis/engine/eruby_rb.html +115 -0
  237. data/vendor/erubis/doc-api/files/erubis/engine/escheme_rb.html +115 -0
  238. data/vendor/erubis/doc-api/files/erubis/engine/optimized_rb.html +114 -0
  239. data/vendor/erubis/doc-api/files/erubis/engine_rb.html +117 -0
  240. data/vendor/erubis/doc-api/files/erubis/enhancer_rb.html +107 -0
  241. data/vendor/erubis/doc-api/files/erubis/error_rb.html +107 -0
  242. data/vendor/erubis/doc-api/files/erubis/evaluator_rb.html +115 -0
  243. data/vendor/erubis/doc-api/files/erubis/generator_rb.html +114 -0
  244. data/vendor/erubis/doc-api/files/erubis/helper_rb.html +107 -0
  245. data/vendor/erubis/doc-api/files/erubis/helpers/rails_form_helper_rb.html +107 -0
  246. data/vendor/erubis/doc-api/files/erubis/helpers/rails_helper_rb.html +116 -0
  247. data/vendor/erubis/doc-api/files/erubis/local-setting_rb.html +107 -0
  248. data/vendor/erubis/doc-api/files/erubis/main_rb.html +127 -0
  249. data/vendor/erubis/doc-api/files/erubis/preprocessing_rb.html +114 -0
  250. data/vendor/erubis/doc-api/files/erubis/tiny_rb.html +107 -0
  251. data/vendor/erubis/doc-api/files/erubis_rb.html +118 -0
  252. data/vendor/erubis/doc-api/fr_class_index.html +122 -0
  253. data/vendor/erubis/doc-api/fr_file_index.html +51 -0
  254. data/vendor/erubis/doc-api/fr_method_index.html +248 -0
  255. data/vendor/erubis/doc-api/index.html +24 -0
  256. data/vendor/erubis/doc-api/rdoc-style.css +208 -0
  257. data/vendor/erubis/erubis.gemspec +66 -0
  258. data/vendor/erubis/examples/basic/Makefile +53 -0
  259. data/vendor/erubis/examples/basic/example.ec +42 -0
  260. data/vendor/erubis/examples/basic/example.ejava +45 -0
  261. data/vendor/erubis/examples/basic/example.ejs +16 -0
  262. data/vendor/erubis/examples/basic/example.eperl +16 -0
  263. data/vendor/erubis/examples/basic/example.ephp +17 -0
  264. data/vendor/erubis/examples/basic/example.eruby +15 -0
  265. data/vendor/erubis/examples/basic/example.escheme +26 -0
  266. data/vendor/erubis/examples/pi/Makefile +54 -0
  267. data/vendor/erubis/examples/pi/example.ec +42 -0
  268. data/vendor/erubis/examples/pi/example.ejava +45 -0
  269. data/vendor/erubis/examples/pi/example.ejs +16 -0
  270. data/vendor/erubis/examples/pi/example.eperl +16 -0
  271. data/vendor/erubis/examples/pi/example.ephp +17 -0
  272. data/vendor/erubis/examples/pi/example.eruby +15 -0
  273. data/vendor/erubis/examples/pi/example.escheme +26 -0
  274. data/vendor/erubis/lib/erubis/context.rb +84 -0
  275. data/vendor/erubis/lib/erubis/converter.rb +358 -0
  276. data/vendor/erubis/lib/erubis/engine/ec.rb +118 -0
  277. data/vendor/erubis/lib/erubis/engine/ejava.rb +111 -0
  278. data/vendor/erubis/lib/erubis/engine/ejavascript.rb +120 -0
  279. data/vendor/erubis/lib/erubis/engine/enhanced.rb +122 -0
  280. data/vendor/erubis/lib/erubis/engine/eperl.rb +96 -0
  281. data/vendor/erubis/lib/erubis/engine/ephp.rb +100 -0
  282. data/vendor/erubis/lib/erubis/engine/eruby.rb +125 -0
  283. data/vendor/erubis/lib/erubis/engine/escheme.rb +115 -0
  284. data/vendor/erubis/lib/erubis/engine/optimized.rb +128 -0
  285. data/vendor/erubis/lib/erubis/engine.rb +121 -0
  286. data/vendor/erubis/lib/erubis/enhancer.rb +681 -0
  287. data/vendor/erubis/lib/erubis/error.rb +24 -0
  288. data/vendor/erubis/lib/erubis/evaluator.rb +89 -0
  289. data/vendor/erubis/lib/erubis/generator.rb +86 -0
  290. data/vendor/erubis/lib/erubis/helper.rb +48 -0
  291. data/vendor/erubis/lib/erubis/helpers/rails_form_helper.rb +198 -0
  292. data/vendor/erubis/lib/erubis/helpers/rails_helper.rb +325 -0
  293. data/vendor/erubis/lib/erubis/local-setting.rb +10 -0
  294. data/vendor/erubis/lib/erubis/main.rb +491 -0
  295. data/vendor/erubis/lib/erubis/preprocessing.rb +59 -0
  296. data/vendor/erubis/lib/erubis/tiny.rb +146 -0
  297. data/vendor/erubis/lib/erubis.rb +73 -0
  298. data/vendor/erubis/setup.rb +1331 -0
  299. data/vendor/erubis/test/assert-text-equal.rb +45 -0
  300. data/vendor/erubis/test/assert-text-equal.rbc +0 -0
  301. data/vendor/erubis/test/data/users-guide/Example.ejava +55 -0
  302. data/vendor/erubis/test/data/users-guide/array_example.result +9 -0
  303. data/vendor/erubis/test/data/users-guide/arraybuffer_example.result +9 -0
  304. data/vendor/erubis/test/data/users-guide/bipattern-example.rhtml +4 -0
  305. data/vendor/erubis/test/data/users-guide/bipattern_example.result +6 -0
  306. data/vendor/erubis/test/data/users-guide/context.rb +6 -0
  307. data/vendor/erubis/test/data/users-guide/context.yaml +8 -0
  308. data/vendor/erubis/test/data/users-guide/def_method.rb +14 -0
  309. data/vendor/erubis/test/data/users-guide/def_method.result +3 -0
  310. data/vendor/erubis/test/data/users-guide/escape_example.result +9 -0
  311. data/vendor/erubis/test/data/users-guide/example.ec +27 -0
  312. data/vendor/erubis/test/data/users-guide/example.ejs +20 -0
  313. data/vendor/erubis/test/data/users-guide/example.eperl +18 -0
  314. data/vendor/erubis/test/data/users-guide/example.ephp +18 -0
  315. data/vendor/erubis/test/data/users-guide/example.eruby +6 -0
  316. data/vendor/erubis/test/data/users-guide/example.escheme +28 -0
  317. data/vendor/erubis/test/data/users-guide/example1.eruby +6 -0
  318. data/vendor/erubis/test/data/users-guide/example1.rb +17 -0
  319. data/vendor/erubis/test/data/users-guide/example1.result +16 -0
  320. data/vendor/erubis/test/data/users-guide/example10.rb +4 -0
  321. data/vendor/erubis/test/data/users-guide/example10.result +17 -0
  322. data/vendor/erubis/test/data/users-guide/example10.xhtml +14 -0
  323. data/vendor/erubis/test/data/users-guide/example10_x.result +17 -0
  324. data/vendor/erubis/test/data/users-guide/example11.php +20 -0
  325. data/vendor/erubis/test/data/users-guide/example11.result +23 -0
  326. data/vendor/erubis/test/data/users-guide/example11.rhtml +21 -0
  327. data/vendor/erubis/test/data/users-guide/example11_C.result +10 -0
  328. data/vendor/erubis/test/data/users-guide/example11_N.result +16 -0
  329. data/vendor/erubis/test/data/users-guide/example11_U.result +16 -0
  330. data/vendor/erubis/test/data/users-guide/example11_php.result +15 -0
  331. data/vendor/erubis/test/data/users-guide/example1_x.result +9 -0
  332. data/vendor/erubis/test/data/users-guide/example2.eruby +7 -0
  333. data/vendor/erubis/test/data/users-guide/example2.rb +10 -0
  334. data/vendor/erubis/test/data/users-guide/example2.result +27 -0
  335. data/vendor/erubis/test/data/users-guide/example2_trim.result +10 -0
  336. data/vendor/erubis/test/data/users-guide/example2_x.result +10 -0
  337. data/vendor/erubis/test/data/users-guide/example3.eruby +6 -0
  338. data/vendor/erubis/test/data/users-guide/example3.rb +10 -0
  339. data/vendor/erubis/test/data/users-guide/example31.result +22 -0
  340. data/vendor/erubis/test/data/users-guide/example32.result +4 -0
  341. data/vendor/erubis/test/data/users-guide/example3_e.result +8 -0
  342. data/vendor/erubis/test/data/users-guide/example4.eruby +3 -0
  343. data/vendor/erubis/test/data/users-guide/example4.rb +11 -0
  344. data/vendor/erubis/test/data/users-guide/example4.result +10 -0
  345. data/vendor/erubis/test/data/users-guide/example4_x.result +5 -0
  346. data/vendor/erubis/test/data/users-guide/example5.eruby +6 -0
  347. data/vendor/erubis/test/data/users-guide/example5.rb +16 -0
  348. data/vendor/erubis/test/data/users-guide/example5.result +7 -0
  349. data/vendor/erubis/test/data/users-guide/example6.rb +12 -0
  350. data/vendor/erubis/test/data/users-guide/example6.result +7 -0
  351. data/vendor/erubis/test/data/users-guide/example7.eruby +8 -0
  352. data/vendor/erubis/test/data/users-guide/example71.result +13 -0
  353. data/vendor/erubis/test/data/users-guide/example72.result +13 -0
  354. data/vendor/erubis/test/data/users-guide/example8.eruby +6 -0
  355. data/vendor/erubis/test/data/users-guide/example8_ruby.result +7 -0
  356. data/vendor/erubis/test/data/users-guide/example8_yaml.result +7 -0
  357. data/vendor/erubis/test/data/users-guide/example9.eruby +3 -0
  358. data/vendor/erubis/test/data/users-guide/example9.rb +8 -0
  359. data/vendor/erubis/test/data/users-guide/example9.result +9 -0
  360. data/vendor/erubis/test/data/users-guide/example91.result +5 -0
  361. data/vendor/erubis/test/data/users-guide/example92.result +4 -0
  362. data/vendor/erubis/test/data/users-guide/example_c.result +29 -0
  363. data/vendor/erubis/test/data/users-guide/example_java.result +56 -0
  364. data/vendor/erubis/test/data/users-guide/example_js.result +22 -0
  365. data/vendor/erubis/test/data/users-guide/example_perl.result +20 -0
  366. data/vendor/erubis/test/data/users-guide/example_php.result +19 -0
  367. data/vendor/erubis/test/data/users-guide/example_scheme.result +30 -0
  368. data/vendor/erubis/test/data/users-guide/example_scheme_display.result +29 -0
  369. data/vendor/erubis/test/data/users-guide/fasteruby.rb +11 -0
  370. data/vendor/erubis/test/data/users-guide/fasteruby.result +38 -0
  371. data/vendor/erubis/test/data/users-guide/fasteruby.rhtml +15 -0
  372. data/vendor/erubis/test/data/users-guide/headerfooter-example.eruby +9 -0
  373. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rb +8 -0
  374. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rhtml +10 -0
  375. data/vendor/erubis/test/data/users-guide/headerfooter_example.result +11 -0
  376. data/vendor/erubis/test/data/users-guide/headerfooter_example2.result +13 -0
  377. data/vendor/erubis/test/data/users-guide/interpolation_example.result +9 -0
  378. data/vendor/erubis/test/data/users-guide/main_program1.rb +8 -0
  379. data/vendor/erubis/test/data/users-guide/main_program1.result +6 -0
  380. data/vendor/erubis/test/data/users-guide/main_program2.rb +8 -0
  381. data/vendor/erubis/test/data/users-guide/main_program2.result +6 -0
  382. data/vendor/erubis/test/data/users-guide/nocode-example.eruby +14 -0
  383. data/vendor/erubis/test/data/users-guide/nocode-php.result +20 -0
  384. data/vendor/erubis/test/data/users-guide/nocode_example.result +15 -0
  385. data/vendor/erubis/test/data/users-guide/normal-eruby-test.eruby +9 -0
  386. data/vendor/erubis/test/data/users-guide/normal_eruby_test.result +11 -0
  387. data/vendor/erubis/test/data/users-guide/notext-example.eruby +14 -0
  388. data/vendor/erubis/test/data/users-guide/notext-example.php +19 -0
  389. data/vendor/erubis/test/data/users-guide/notext-php.result +20 -0
  390. data/vendor/erubis/test/data/users-guide/notext_example.result +16 -0
  391. data/vendor/erubis/test/data/users-guide/percentline-example.rhtml +4 -0
  392. data/vendor/erubis/test/data/users-guide/percentline_example.result +7 -0
  393. data/vendor/erubis/test/data/users-guide/printenable_example.result +4 -0
  394. data/vendor/erubis/test/data/users-guide/printenabled-example.eruby +3 -0
  395. data/vendor/erubis/test/data/users-guide/printenabled-example.rb +8 -0
  396. data/vendor/erubis/test/data/users-guide/printstatement_example.result +8 -0
  397. data/vendor/erubis/test/data/users-guide/simplify_example.result +9 -0
  398. data/vendor/erubis/test/data/users-guide/stdout_exmple.result +9 -0
  399. data/vendor/erubis/test/data/users-guide/stringbuffer_example.result +9 -0
  400. data/vendor/erubis/test/data/users-guide/tail_260.result +4 -0
  401. data/vendor/erubis/test/data/users-guide/tailnewline.rhtml +3 -0
  402. data/vendor/erubis/test/data/users-guide/template1.rhtml +4 -0
  403. data/vendor/erubis/test/data/users-guide/template2.rhtml +4 -0
  404. data/vendor/erubis/test/hoge.rb +5 -0
  405. data/vendor/erubis/test/test-engines.rb +370 -0
  406. data/vendor/erubis/test/test-engines.rbc +0 -0
  407. data/vendor/erubis/test/test-enhancers.rb +571 -0
  408. data/vendor/erubis/test/test-erubis.rb +884 -0
  409. data/vendor/erubis/test/test-erubis.rbc +0 -0
  410. data/vendor/erubis/test/test-main.rb +674 -0
  411. data/vendor/erubis/test/test-users-guide.rb +58 -0
  412. data/vendor/erubis/test/test-users-guide.rbc +0 -0
  413. data/vendor/erubis/test/test.rb +30 -0
  414. data/vendor/erubis/test/test.rbc +0 -0
  415. data/vendor/erubis/test/testutil.rb +101 -0
  416. data/vendor/erubis/test/testutil.rbc +0 -0
  417. data/vendor/fakefs/CONTRIBUTORS +17 -0
  418. data/vendor/fakefs/LICENSE +20 -0
  419. data/vendor/fakefs/README.markdown +101 -0
  420. data/vendor/fakefs/Rakefile +47 -0
  421. data/vendor/fakefs/lib/fakefs/base.rb +38 -0
  422. data/vendor/fakefs/lib/fakefs/dir.rb +114 -0
  423. data/vendor/fakefs/lib/fakefs/fake/dir.rb +45 -0
  424. data/vendor/fakefs/lib/fakefs/fake/file.rb +79 -0
  425. data/vendor/fakefs/lib/fakefs/fake/symlink.rb +32 -0
  426. data/vendor/fakefs/lib/fakefs/file.rb +330 -0
  427. data/vendor/fakefs/lib/fakefs/file_system.rb +136 -0
  428. data/vendor/fakefs/lib/fakefs/fileutils.rb +129 -0
  429. data/vendor/fakefs/lib/fakefs/safe.rb +11 -0
  430. data/vendor/fakefs/lib/fakefs/spec_helpers.rb +46 -0
  431. data/vendor/fakefs/lib/fakefs/version.rb +9 -0
  432. data/vendor/fakefs/lib/fakefs.rb +3 -0
  433. data/vendor/fakefs/spec/fakefs/spec_helpers_spec.rb +57 -0
  434. data/vendor/fakefs/spec/spec.opts +1 -0
  435. data/vendor/fakefs/spec/spec_helper.rb +3 -0
  436. data/vendor/fakefs/test/fake/file_test.rb +88 -0
  437. data/vendor/fakefs/test/fake/symlink_test.rb +12 -0
  438. data/vendor/fakefs/test/fakefs_test.rb +1334 -0
  439. data/vendor/fakefs/test/file/stat_test.rb +70 -0
  440. data/vendor/fakefs/test/safe_test.rb +42 -0
  441. data/vendor/fakefs/test/verify.rb +27 -0
  442. data/vendor/rspec/History.rdoc +1510 -0
  443. data/vendor/rspec/License.txt +22 -0
  444. data/vendor/rspec/Manifest.txt +383 -0
  445. data/vendor/rspec/README.rdoc +55 -0
  446. data/vendor/rspec/Rakefile +145 -0
  447. data/vendor/rspec/Ruby1.9.rdoc +31 -0
  448. data/vendor/rspec/TODO.txt +17 -0
  449. data/vendor/rspec/Upgrade.rdoc +199 -0
  450. data/vendor/rspec/bin/autospec +4 -0
  451. data/vendor/rspec/bin/spec +5 -0
  452. data/vendor/rspec/cucumber.yml +5 -0
  453. data/vendor/rspec/examples/failing/README.txt +11 -0
  454. data/vendor/rspec/examples/failing/diffing_spec.rb +36 -0
  455. data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  456. data/vendor/rspec/examples/failing/failure_in_after.rb +10 -0
  457. data/vendor/rspec/examples/failing/failure_in_before.rb +10 -0
  458. data/vendor/rspec/examples/failing/mocking_example.rb +38 -0
  459. data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +26 -0
  460. data/vendor/rspec/examples/failing/mocking_with_mocha.rb +25 -0
  461. data/vendor/rspec/examples/failing/mocking_with_rr.rb +27 -0
  462. data/vendor/rspec/examples/failing/partial_mock_example.rb +18 -0
  463. data/vendor/rspec/examples/failing/pending_example.rb +7 -0
  464. data/vendor/rspec/examples/failing/predicate_example.rb +32 -0
  465. data/vendor/rspec/examples/failing/raising_example.rb +47 -0
  466. data/vendor/rspec/examples/failing/syntax_error_example.rb +7 -0
  467. data/vendor/rspec/examples/failing/team_spec.rb +41 -0
  468. data/vendor/rspec/examples/failing/timeout_behaviour.rb +5 -0
  469. data/vendor/rspec/examples/passing/custom_formatter.rb +11 -0
  470. data/vendor/rspec/examples/passing/custom_matchers.rb +54 -0
  471. data/vendor/rspec/examples/passing/dynamic_spec.rb +7 -0
  472. data/vendor/rspec/examples/passing/file_accessor.rb +18 -0
  473. data/vendor/rspec/examples/passing/file_accessor_spec.rb +37 -0
  474. data/vendor/rspec/examples/passing/filtered_formatter.rb +17 -0
  475. data/vendor/rspec/examples/passing/filtered_formatter_example.rb +31 -0
  476. data/vendor/rspec/examples/passing/greeter_spec.rb +30 -0
  477. data/vendor/rspec/examples/passing/helper_method_example.rb +12 -0
  478. data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +16 -0
  479. data/vendor/rspec/examples/passing/io_processor.rb +8 -0
  480. data/vendor/rspec/examples/passing/io_processor_spec.rb +20 -0
  481. data/vendor/rspec/examples/passing/mocking_example.rb +25 -0
  482. data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  483. data/vendor/rspec/examples/passing/nested_classes_example.rb +35 -0
  484. data/vendor/rspec/examples/passing/options_example.rb +29 -0
  485. data/vendor/rspec/examples/passing/options_formatter.rb +20 -0
  486. data/vendor/rspec/examples/passing/partial_mock_example.rb +27 -0
  487. data/vendor/rspec/examples/passing/pending_example.rb +18 -0
  488. data/vendor/rspec/examples/passing/predicate_example.rb +25 -0
  489. data/vendor/rspec/examples/passing/shared_example_group_example.rb +79 -0
  490. data/vendor/rspec/examples/passing/shared_stack_examples.rb +36 -0
  491. data/vendor/rspec/examples/passing/simple_matcher_example.rb +29 -0
  492. data/vendor/rspec/examples/passing/stack.rb +36 -0
  493. data/vendor/rspec/examples/passing/stack_spec.rb +63 -0
  494. data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  495. data/vendor/rspec/examples/passing/stubbing_example.rb +67 -0
  496. data/vendor/rspec/examples/passing/yielding_example.rb +31 -0
  497. data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  498. data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  499. data/vendor/rspec/features/command_line/line_number_option.feature +56 -0
  500. data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  501. data/vendor/rspec/features/example_groups/define_example_attribute.feature +41 -0
  502. data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
  503. data/vendor/rspec/features/example_groups/implicit_docstrings.feature +59 -0
  504. data/vendor/rspec/features/example_groups/nested_groups.feature +32 -0
  505. data/vendor/rspec/features/expectations/customized_message.feature +54 -0
  506. data/vendor/rspec/features/expectations/expect_change.feature +65 -0
  507. data/vendor/rspec/features/expectations/expect_error.feature +44 -0
  508. data/vendor/rspec/features/extensions/custom_example_group.feature +19 -0
  509. data/vendor/rspec/features/formatters/custom_formatter.feature +30 -0
  510. data/vendor/rspec/features/interop/examples_and_tests_together.feature +84 -0
  511. data/vendor/rspec/features/interop/rspec_output.feature +25 -0
  512. data/vendor/rspec/features/interop/test_but_not_test_unit.feature +26 -0
  513. data/vendor/rspec/features/interop/test_case_with_should_methods.feature +46 -0
  514. data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
  515. data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
  516. data/vendor/rspec/features/matchers/define_diffable_matcher.feature +26 -0
  517. data/vendor/rspec/features/matchers/define_matcher.feature +179 -0
  518. data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
  519. data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  520. data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
  521. data/vendor/rspec/features/matchers/match_unless_raises.feature +60 -0
  522. data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
  523. data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
  524. data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
  525. data/vendor/rspec/features/mock_framework_integration/use_rr.feature +27 -0
  526. data/vendor/rspec/features/mocks/block_local_expectations.feature +62 -0
  527. data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
  528. data/vendor/rspec/features/mocks/stub_implementation.feature +26 -0
  529. data/vendor/rspec/features/pending/pending_examples.feature +81 -0
  530. data/vendor/rspec/features/runner/specify_line_number.feature +32 -0
  531. data/vendor/rspec/features/spec_helper/spec_helper.feature +25 -0
  532. data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
  533. data/vendor/rspec/features/subject/explicit_subject.feature +31 -0
  534. data/vendor/rspec/features/subject/implicit_subject.feature +43 -0
  535. data/vendor/rspec/features/support/env.rb +82 -0
  536. data/vendor/rspec/features/support/matchers/smart_match.rb +12 -0
  537. data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
  538. data/vendor/rspec/features-pending/heckle/heckle.feature +56 -0
  539. data/vendor/rspec/geminstaller.yml +28 -0
  540. data/vendor/rspec/init.rb +9 -0
  541. data/vendor/rspec/lib/autotest/discover.rb +3 -0
  542. data/vendor/rspec/lib/autotest/rspec.rb +54 -0
  543. data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  544. data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  545. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  546. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  547. data/vendor/rspec/lib/spec/autorun.rb +3 -0
  548. data/vendor/rspec/lib/spec/deprecation.rb +40 -0
  549. data/vendor/rspec/lib/spec/dsl/main.rb +92 -0
  550. data/vendor/rspec/lib/spec/dsl.rb +1 -0
  551. data/vendor/rspec/lib/spec/example/args_and_options.rb +27 -0
  552. data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
  553. data/vendor/rspec/lib/spec/example/errors.rb +25 -0
  554. data/vendor/rspec/lib/spec/example/example_group.rb +10 -0
  555. data/vendor/rspec/lib/spec/example/example_group_factory.rb +82 -0
  556. data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
  557. data/vendor/rspec/lib/spec/example/example_group_methods.rb +282 -0
  558. data/vendor/rspec/lib/spec/example/example_group_proxy.rb +61 -0
  559. data/vendor/rspec/lib/spec/example/example_matcher.rb +43 -0
  560. data/vendor/rspec/lib/spec/example/example_methods.rb +148 -0
  561. data/vendor/rspec/lib/spec/example/example_proxy.rb +41 -0
  562. data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
  563. data/vendor/rspec/lib/spec/example/pending.rb +18 -0
  564. data/vendor/rspec/lib/spec/example/predicate_matchers.rb +46 -0
  565. data/vendor/rspec/lib/spec/example/shared_example_group.rb +59 -0
  566. data/vendor/rspec/lib/spec/example/subject.rb +108 -0
  567. data/vendor/rspec/lib/spec/example.rb +164 -0
  568. data/vendor/rspec/lib/spec/expectations/errors.rb +12 -0
  569. data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
  570. data/vendor/rspec/lib/spec/expectations/extensions.rb +1 -0
  571. data/vendor/rspec/lib/spec/expectations/fail_with.rb +45 -0
  572. data/vendor/rspec/lib/spec/expectations/handler.rb +50 -0
  573. data/vendor/rspec/lib/spec/expectations.rb +35 -0
  574. data/vendor/rspec/lib/spec/extensions/instance_exec.rb +31 -0
  575. data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
  576. data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
  577. data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
  578. data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  579. data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  580. data/vendor/rspec/lib/spec/interop/test.rb +44 -0
  581. data/vendor/rspec/lib/spec/matchers/be.rb +211 -0
  582. data/vendor/rspec/lib/spec/matchers/be_close.rb +32 -0
  583. data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
  584. data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
  585. data/vendor/rspec/lib/spec/matchers/change.rb +151 -0
  586. data/vendor/rspec/lib/spec/matchers/compatibility.rb +14 -0
  587. data/vendor/rspec/lib/spec/matchers/dsl.rb +20 -0
  588. data/vendor/rspec/lib/spec/matchers/eql.rb +42 -0
  589. data/vendor/rspec/lib/spec/matchers/equal.rb +53 -0
  590. data/vendor/rspec/lib/spec/matchers/errors.rb +5 -0
  591. data/vendor/rspec/lib/spec/matchers/exist.rb +16 -0
  592. data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
  593. data/vendor/rspec/lib/spec/matchers/has.rb +35 -0
  594. data/vendor/rspec/lib/spec/matchers/have.rb +152 -0
  595. data/vendor/rspec/lib/spec/matchers/include.rb +44 -0
  596. data/vendor/rspec/lib/spec/matchers/match.rb +21 -0
  597. data/vendor/rspec/lib/spec/matchers/match_array.rb +71 -0
  598. data/vendor/rspec/lib/spec/matchers/matcher.rb +102 -0
  599. data/vendor/rspec/lib/spec/matchers/method_missing.rb +9 -0
  600. data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
  601. data/vendor/rspec/lib/spec/matchers/pretty.rb +37 -0
  602. data/vendor/rspec/lib/spec/matchers/raise_error.rb +129 -0
  603. data/vendor/rspec/lib/spec/matchers/respond_to.rb +71 -0
  604. data/vendor/rspec/lib/spec/matchers/satisfy.rb +47 -0
  605. data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
  606. data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
  607. data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
  608. data/vendor/rspec/lib/spec/matchers.rb +195 -0
  609. data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
  610. data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
  611. data/vendor/rspec/lib/spec/mocks/error_generator.rb +92 -0
  612. data/vendor/rspec/lib/spec/mocks/errors.rb +10 -0
  613. data/vendor/rspec/lib/spec/mocks/example_methods.rb +69 -0
  614. data/vendor/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  615. data/vendor/rspec/lib/spec/mocks/extensions.rb +1 -0
  616. data/vendor/rspec/lib/spec/mocks/framework.rb +15 -0
  617. data/vendor/rspec/lib/spec/mocks/message_expectation.rb +343 -0
  618. data/vendor/rspec/lib/spec/mocks/methods.rb +89 -0
  619. data/vendor/rspec/lib/spec/mocks/mock.rb +71 -0
  620. data/vendor/rspec/lib/spec/mocks/order_group.rb +29 -0
  621. data/vendor/rspec/lib/spec/mocks/proxy.rb +245 -0
  622. data/vendor/rspec/lib/spec/mocks/space.rb +28 -0
  623. data/vendor/rspec/lib/spec/mocks.rb +200 -0
  624. data/vendor/rspec/lib/spec/rake/spectask.rb +230 -0
  625. data/vendor/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  626. data/vendor/rspec/lib/spec/ruby.rb +9 -0
  627. data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
  628. data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  629. data/vendor/rspec/lib/spec/runner/command_line.rb +15 -0
  630. data/vendor/rspec/lib/spec/runner/configuration.rb +194 -0
  631. data/vendor/rspec/lib/spec/runner/differs/default.rb +93 -0
  632. data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  633. data/vendor/rspec/lib/spec/runner/drb_command_line.rb +26 -0
  634. data/vendor/rspec/lib/spec/runner/example_group_runner.rb +59 -0
  635. data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
  636. data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
  637. data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  638. data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  639. data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  640. data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
  641. data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  642. data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  643. data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  644. data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  645. data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  646. data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  647. data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  648. data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  649. data/vendor/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  650. data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  651. data/vendor/rspec/lib/spec/runner/line_number_query.rb +78 -0
  652. data/vendor/rspec/lib/spec/runner/option_parser.rb +223 -0
  653. data/vendor/rspec/lib/spec/runner/options.rb +400 -0
  654. data/vendor/rspec/lib/spec/runner/reporter.rb +171 -0
  655. data/vendor/rspec/lib/spec/runner.rb +66 -0
  656. data/vendor/rspec/lib/spec/stubs/cucumber.rb +5 -0
  657. data/vendor/rspec/lib/spec/test/unit.rb +10 -0
  658. data/vendor/rspec/lib/spec/version.rb +14 -0
  659. data/vendor/rspec/lib/spec.rb +8 -0
  660. data/vendor/rspec/resources/helpers/cmdline.rb +8 -0
  661. data/vendor/rspec/resources/rake/examples.rake +7 -0
  662. data/vendor/rspec/resources/rake/examples_with_rcov.rake +9 -0
  663. data/vendor/rspec/resources/rake/failing_examples_with_html.rake +9 -0
  664. data/vendor/rspec/resources/rake/verify_rcov.rake +7 -0
  665. data/vendor/rspec/spec/README.jruby +15 -0
  666. data/vendor/rspec/spec/autotest/autotest_helper.rb +8 -0
  667. data/vendor/rspec/spec/autotest/autotest_matchers.rb +38 -0
  668. data/vendor/rspec/spec/autotest/discover_spec.rb +8 -0
  669. data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
  670. data/vendor/rspec/spec/autotest/rspec_spec.rb +126 -0
  671. data/vendor/rspec/spec/ruby_forker.rb +13 -0
  672. data/vendor/rspec/spec/spec/dsl/main_spec.rb +95 -0
  673. data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  674. data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
  675. data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +759 -0
  676. data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
  677. data/vendor/rspec/spec/spec/example/example_group_spec.rb +643 -0
  678. data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
  679. data/vendor/rspec/spec/spec/example/example_methods_spec.rb +162 -0
  680. data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
  681. data/vendor/rspec/spec/spec/example/helper_method_spec.rb +24 -0
  682. data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
  683. data/vendor/rspec/spec/spec/example/pending_module_spec.rb +58 -0
  684. data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
  685. data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
  686. data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  687. data/vendor/rspec/spec/spec/example/subject_spec.rb +103 -0
  688. data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
  689. data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  690. data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
  691. data/vendor/rspec/spec/spec/expectations/handler_spec.rb +206 -0
  692. data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  693. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  694. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  695. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  696. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  697. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  698. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  699. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  700. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  701. data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  702. data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  703. data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  704. data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  705. data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  706. data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
  707. data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  708. data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  709. data/vendor/rspec/spec/spec/matchers/be_spec.rb +419 -0
  710. data/vendor/rspec/spec/spec/matchers/change_spec.rb +349 -0
  711. data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
  712. data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
  713. data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
  714. data/vendor/rspec/spec/spec/matchers/eql_spec.rb +33 -0
  715. data/vendor/rspec/spec/spec/matchers/equal_spec.rb +57 -0
  716. data/vendor/rspec/spec/spec/matchers/exist_spec.rb +65 -0
  717. data/vendor/rspec/spec/spec/matchers/has_spec.rb +190 -0
  718. data/vendor/rspec/spec/spec/matchers/have_spec.rb +396 -0
  719. data/vendor/rspec/spec/spec/matchers/include_spec.rb +88 -0
  720. data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
  721. data/vendor/rspec/spec/spec/matchers/match_spec.rb +57 -0
  722. data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  723. data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +273 -0
  724. data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
  725. data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  726. data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
  727. data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
  728. data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  729. data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  730. data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  731. data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +117 -0
  732. data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  733. data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  734. data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  735. data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  736. data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  737. data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  738. data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  739. data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  740. data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  741. data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  742. data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  743. data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  744. data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  745. data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  746. data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  747. data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  748. data/vendor/rspec/spec/spec/mocks/double_spec.rb +12 -0
  749. data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  750. data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  751. data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  752. data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  753. data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  754. data/vendor/rspec/spec/spec/mocks/mock_spec.rb +594 -0
  755. data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  756. data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  757. data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  758. data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  759. data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
  760. data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
  761. data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  762. data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  763. data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  764. data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  765. data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
  766. data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  767. data/vendor/rspec/spec/spec/mocks/stub_spec.rb +203 -0
  768. data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  769. data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  770. data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
  771. data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
  772. data/vendor/rspec/spec/spec/rake/spectask_spec.rb +150 -0
  773. data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  774. data/vendor/rspec/spec/spec/runner/command_line_spec.rb +141 -0
  775. data/vendor/rspec/spec/spec/runner/configuration_spec.rb +320 -0
  776. data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +107 -0
  777. data/vendor/rspec/spec/spec/runner/empty_file.txt +0 -0
  778. data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
  779. data/vendor/rspec/spec/spec/runner/examples.txt +2 -0
  780. data/vendor/rspec/spec/spec/runner/failed.txt +3 -0
  781. data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  782. data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  783. data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  784. data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  785. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  786. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  787. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  788. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  789. data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  790. data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  791. data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  792. data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  793. data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  794. data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  795. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  796. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  797. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  798. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  799. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  800. data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
  801. data/vendor/rspec/spec/spec/runner/heckler_spec.rb +20 -0
  802. data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  803. data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
  804. data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  805. data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +545 -0
  806. data/vendor/rspec/spec/spec/runner/options_spec.rb +547 -0
  807. data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
  808. data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  809. data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
  810. data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +123 -0
  811. data/vendor/rspec/spec/spec/runner/reporter_spec.rb +244 -0
  812. data/vendor/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  813. data/vendor/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  814. data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
  815. data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  816. data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  817. data/vendor/rspec/spec/spec/runner/spec.opts +2 -0
  818. data/vendor/rspec/spec/spec/runner/spec_drb.opts +2 -0
  819. data/vendor/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  820. data/vendor/rspec/spec/spec/runner_spec.rb +13 -0
  821. data/vendor/rspec/spec/spec.opts +6 -0
  822. data/vendor/rspec/spec/spec_helper.rb +112 -0
  823. data/vendor/rspec/spec/support/macros.rb +29 -0
  824. data/vendor/rspec/spec/support/spec_classes.rb +133 -0
  825. data/vendor/rubyexts/CHANGELOG +2 -0
  826. data/vendor/rubyexts/LICENSE +20 -0
  827. data/vendor/rubyexts/README.textile +0 -0
  828. data/vendor/rubyexts/Rakefile +62 -0
  829. data/vendor/rubyexts/TODO.txt +6 -0
  830. data/vendor/rubyexts/lib/rubyexts/array.rb +20 -0
  831. data/vendor/rubyexts/lib/rubyexts/attribute.rb +150 -0
  832. data/vendor/rubyexts/lib/rubyexts/capture_io.rb +32 -0
  833. data/vendor/rubyexts/lib/rubyexts/class.rb +177 -0
  834. data/vendor/rubyexts/lib/rubyexts/colored_string.rb +103 -0
  835. data/vendor/rubyexts/lib/rubyexts/enumerable.rb +30 -0
  836. data/vendor/rubyexts/lib/rubyexts/file.rb +84 -0
  837. data/vendor/rubyexts/lib/rubyexts/hash.rb +147 -0
  838. data/vendor/rubyexts/lib/rubyexts/kernel.rb +91 -0
  839. data/vendor/rubyexts/lib/rubyexts/module.rb +53 -0
  840. data/vendor/rubyexts/lib/rubyexts/object.rb +56 -0
  841. data/vendor/rubyexts/lib/rubyexts/object_space.rb +16 -0
  842. data/vendor/rubyexts/lib/rubyexts/os.rb +89 -0
  843. data/vendor/rubyexts/lib/rubyexts/platform.rb +27 -0
  844. data/vendor/rubyexts/lib/rubyexts/random.rb +25 -0
  845. data/vendor/rubyexts/lib/rubyexts/string.rb +92 -0
  846. data/vendor/rubyexts/lib/rubyexts/time.rb +15 -0
  847. data/vendor/rubyexts/lib/rubyexts/time_dsl.rb +62 -0
  848. data/vendor/rubyexts/lib/rubyexts/unique_array.rb +16 -0
  849. data/vendor/rubyexts/lib/rubyexts.rb +102 -0
  850. data/vendor/rubyexts/rubyexts.gemspec +36 -0
  851. data/vendor/rubyexts/script/spec +12 -0
  852. data/vendor/rubyexts/spec/rubyexts/array_spec.rb +19 -0
  853. data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +37 -0
  854. data/vendor/rubyexts/spec/rubyexts/class_spec.rb +1 -0
  855. data/vendor/rubyexts/spec/rubyexts/cli_spec.rb +0 -0
  856. data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +9 -0
  857. data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +52 -0
  858. data/vendor/rubyexts/spec/rubyexts/file_spec.rb +78 -0
  859. data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +91 -0
  860. data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +9 -0
  861. data/vendor/rubyexts/spec/rubyexts/module_spec.rb +0 -0
  862. data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +17 -0
  863. data/vendor/rubyexts/spec/rubyexts/object_spec.rb +57 -0
  864. data/vendor/rubyexts/spec/rubyexts/os_spec.rb +121 -0
  865. data/vendor/rubyexts/spec/rubyexts/platform_spec.rb +0 -0
  866. data/vendor/rubyexts/spec/rubyexts/random_spec.rb +31 -0
  867. data/vendor/rubyexts/spec/rubyexts/string_spec.rb +23 -0
  868. data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +88 -0
  869. data/vendor/rubyexts/spec/rubyexts/time_spec.rb +11 -0
  870. data/vendor/rubyexts/spec/rubyexts/unique_array_spec.rb +0 -0
  871. data/vendor/rubyexts/spec/rubyexts_spec.rb +182 -0
  872. data/vendor/rubyexts/spec/spec.opts +5 -0
  873. data/vendor/rubyexts/spec/spec_helper.rb +16 -0
  874. metadata +955 -0
@@ -0,0 +1,491 @@
1
+ ###
2
+ ### $Rev: 116 $
3
+ ### $Release: 2.6.2 $
4
+ ### copyright(c) 2006-2008 kuwata-lab.com all rights reserved.
5
+ ###
6
+
7
+ require 'yaml'
8
+ require 'erubis'
9
+ require 'erubis/tiny'
10
+ require 'erubis/engine/enhanced'
11
+ require 'erubis/engine/optimized'
12
+ require 'erubis/engine/eruby'
13
+ require 'erubis/engine/ephp'
14
+ require 'erubis/engine/ec'
15
+ require 'erubis/engine/ejava'
16
+ require 'erubis/engine/escheme'
17
+ require 'erubis/engine/eperl'
18
+ require 'erubis/engine/ejavascript'
19
+
20
+
21
+ module Erubis
22
+
23
+
24
+ Ejs = Ejavascript
25
+ EscapedEjs = EscapedEjavascript
26
+
27
+
28
+ class CommandOptionError < ErubisError
29
+ end
30
+
31
+
32
+ ##
33
+ ## main class of command
34
+ ##
35
+ ## ex.
36
+ ## Main.main(ARGV)
37
+ ##
38
+ class Main
39
+
40
+ def self.main(argv=ARGV)
41
+ status = 0
42
+ begin
43
+ Main.new.execute(ARGV)
44
+ rescue CommandOptionError => ex
45
+ $stderr.puts ex.message
46
+ status = 1
47
+ end
48
+ exit(status)
49
+ end
50
+
51
+ def initialize
52
+ @single_options = "hvxztTSbeBXNUC"
53
+ @arg_options = "pcrfKIlaE" #C
54
+ @option_names = {
55
+ 'h' => :help,
56
+ 'v' => :version,
57
+ 'x' => :source,
58
+ 'z' => :syntax,
59
+ 'T' => :unexpand,
60
+ 't' => :untabify, # obsolete
61
+ 'S' => :intern,
62
+ 'b' => :bodyonly,
63
+ 'B' => :binding,
64
+ 'p' => :pattern,
65
+ 'c' => :context,
66
+ #'C' => :class,
67
+ 'e' => :escape,
68
+ 'r' => :requires,
69
+ 'f' => :datafiles,
70
+ 'K' => :kanji,
71
+ 'I' => :includes,
72
+ 'l' => :lang,
73
+ 'a' => :action,
74
+ 'E' => :enhancers,
75
+ 'X' => :notext,
76
+ 'N' => :linenum,
77
+ 'U' => :unique,
78
+ 'C' => :compact,
79
+ }
80
+ assert unless @single_options.length + @arg_options.length == @option_names.length
81
+ (@single_options + @arg_options).each_byte do |ch|
82
+ assert unless @option_names.key?(ch.chr)
83
+ end
84
+ end
85
+
86
+
87
+ def execute(argv=ARGV)
88
+ ## parse command-line options
89
+ options, properties = parse_argv(argv, @single_options, @arg_options)
90
+ filenames = argv
91
+ options['h'] = true if properties[:help]
92
+ opts = Object.new
93
+ arr = @option_names.collect { |ch, name| "def #{name}; @#{name}; end\n" }
94
+ opts.instance_eval arr.join
95
+ options.each do |ch, val|
96
+ name = @option_names[ch]
97
+ opts.instance_variable_set("@#{name}", val)
98
+ end
99
+
100
+ ## help, version, enhancer list
101
+ if opts.help || opts.version
102
+ puts version() if opts.version
103
+ puts usage() if opts.help
104
+ puts show_properties() if opts.help
105
+ puts show_enhancers() if opts.help
106
+ return
107
+ end
108
+
109
+ ## include path
110
+ opts.includes.split(/,/).each do |path|
111
+ $: << path
112
+ end if opts.includes
113
+
114
+ ## require library
115
+ opts.requires.split(/,/).each do |library|
116
+ require library
117
+ end if opts.requires
118
+
119
+ ## action
120
+ action = opts.action
121
+ action ||= 'syntax' if opts.syntax
122
+ action ||= 'convert' if opts.source || opts.notext
123
+
124
+ ## lang
125
+ lang = opts.lang || 'ruby'
126
+ action ||= 'convert' if opts.lang
127
+
128
+ ## class name of Eruby
129
+ #classname = opts.class
130
+ classname = nil
131
+ klass = get_classobj(classname, lang, properties[:pi])
132
+
133
+ ## kanji code
134
+ $KCODE = opts.kanji if opts.kanji
135
+
136
+ ## read context values from yaml file
137
+ datafiles = opts.datafiles
138
+ context = load_datafiles(datafiles, opts)
139
+
140
+ ## parse context data
141
+ if opts.context
142
+ context = parse_context_data(opts.context, opts)
143
+ end
144
+
145
+ ## properties for engine
146
+ properties[:escape] = true if opts.escape && !properties.key?(:escape)
147
+ properties[:pattern] = opts.pattern if opts.pattern
148
+ #properties[:trim] = false if opts.notrim
149
+ properties[:preamble] = properties[:postamble] = false if opts.bodyonly
150
+ properties[:pi] = nil if properties[:pi] == true
151
+
152
+ ## create engine and extend enhancers
153
+ engine = klass.new(nil, properties)
154
+ enhancers = get_enhancers(opts.enhancers)
155
+ #enhancers.push(Erubis::EscapeEnhancer) if opts.escape
156
+ enhancers.each do |enhancer|
157
+ engine.extend(enhancer)
158
+ engine.bipattern = properties[:bipattern] if enhancer == Erubis::BiPatternEnhancer
159
+ end
160
+
161
+ ## no-text
162
+ engine.extend(Erubis::NoTextEnhancer) if opts.notext
163
+
164
+ ## convert and execute
165
+ val = nil
166
+ msg = "Syntax OK\n"
167
+ if filenames && !filenames.empty?
168
+ filenames.each do |filename|
169
+ test(?f, filename) or raise CommandOptionError.new("#{filename}: file not found.")
170
+ engine.filename = filename
171
+ engine.convert!(File.read(filename))
172
+ val = do_action(action, engine, context, filename, opts)
173
+ msg = nil if val
174
+ end
175
+ else
176
+ engine.filename = filename = '(stdin)'
177
+ engine.convert!($stdin.read())
178
+ val = do_action(action, engine, context, filename, opts)
179
+ msg = nil if val
180
+ end
181
+ print msg if action == 'syntax' && msg
182
+
183
+ end
184
+
185
+ private
186
+
187
+ def do_action(action, engine, context, filename, opts)
188
+ case action
189
+ when 'convert'
190
+ s = manipulate_src(engine.src, opts)
191
+ when nil, 'exec', 'execute'
192
+ s = opts.binding ? engine.result(context.to_hash) : engine.evaluate(context)
193
+ when 'syntax'
194
+ s = check_syntax(filename, engine.src)
195
+ else
196
+ raise "*** internal error"
197
+ end
198
+ print s if s
199
+ return s
200
+ end
201
+
202
+ def manipulate_src(source, opts)
203
+ flag_linenum = opts.linenum
204
+ flag_unique = opts.unique
205
+ flag_compact = opts.compact
206
+ if flag_linenum
207
+ n = 0
208
+ source.gsub!(/^/) { n += 1; "%5d: " % n }
209
+ source.gsub!(/^ *\d+:\s+?\n/, '') if flag_compact
210
+ source.gsub!(/(^ *\d+:\s+?\n)+/, "\n") if flag_unique
211
+ else
212
+ source.gsub!(/^\s*?\n/, '') if flag_compact
213
+ source.gsub!(/(^\s*?\n)+/, "\n") if flag_unique
214
+ end
215
+ return source
216
+ end
217
+
218
+ def usage(command=nil)
219
+ command ||= File.basename($0)
220
+ buf = []
221
+ buf << "erubis - embedded program converter for multi-language"
222
+ buf << "Usage: #{command} [..options..] [file ...]"
223
+ buf << " -h, --help : help"
224
+ buf << " -v : version"
225
+ buf << " -x : show converted code"
226
+ buf << " -X : show converted code, only ruby code and no text part"
227
+ buf << " -N : numbering: add line numbers (for '-x/-X')"
228
+ buf << " -U : unique: compress empty lines to a line (for '-x/-X')"
229
+ buf << " -C : compact: remove empty lines (for '-x/-X')"
230
+ buf << " -b : body only: no preamble nor postamble (for '-x/-X')"
231
+ buf << " -z : syntax checking"
232
+ buf << " -e : escape (equal to '--E Escape')"
233
+ buf << " -p pattern : embedded pattern (default '<% %>')"
234
+ buf << " -l lang : convert but no execute (ruby/php/c/java/scheme/perl/js)"
235
+ buf << " -E e1,e2,... : enhancer names (Escape, PercentLine, BiPattern, ...)"
236
+ buf << " -I path : library include path"
237
+ buf << " -K kanji : kanji code (euc/sjis/utf8) (default none)"
238
+ buf << " -c context : context data string (yaml inline style or ruby code)"
239
+ buf << " -f datafile : context data file ('*.yaml', '*.yml', or '*.rb')"
240
+ #buf << " -t : expand tab characters in YAML file"
241
+ buf << " -T : don't expand tab characters in YAML file"
242
+ buf << " -S : convert mapping key from string to symbol in YAML file"
243
+ buf << " -B : invoke 'result(binding)' instead of 'evaluate(context)'"
244
+ buf << " --pi=name : parse '<?name ... ?>' instead of '<% ... %>'"
245
+ #'
246
+ # -T : don't trim spaces around '<% %>'
247
+ # -c class : class name (XmlEruby/PercentLineEruby/...) (default Eruby)
248
+ # -r library : require library
249
+ # -a : action (convert/execute)
250
+ return buf.join("\n")
251
+ end
252
+
253
+ def collect_supported_properties(erubis_klass)
254
+ list = []
255
+ erubis_klass.ancestors.each do |klass|
256
+ if klass.respond_to?(:supported_properties)
257
+ list.concat(klass.supported_properties)
258
+ end
259
+ end
260
+ return list
261
+ end
262
+
263
+ def show_properties
264
+ s = "supported properties:\n"
265
+ basic_props = collect_supported_properties(Erubis::Basic::Engine)
266
+ pi_props = collect_supported_properties(Erubis::PI::Engine)
267
+ list = []
268
+ common_props = basic_props & pi_props
269
+ list << ['(common)', common_props]
270
+ list << ['(basic)', basic_props - common_props]
271
+ list << ['(pi)', pi_props - common_props]
272
+ %w[ruby php c java scheme perl javascript].each do |lang|
273
+ klass = Erubis.const_get("E#{lang}")
274
+ list << [lang, collect_supported_properties(klass) - basic_props]
275
+ end
276
+ list.each do |lang, props|
277
+ s << " * #{lang}\n"
278
+ props.each do |name, default_val, desc|
279
+ s << (" --%-23s : %s\n" % ["#{name}=#{default_val.inspect}", desc])
280
+ end
281
+ end
282
+ s << "\n"
283
+ return s
284
+ end
285
+
286
+ def show_enhancers
287
+ s = "enhancers:\n"
288
+ list = []
289
+ ObjectSpace.each_object(Module) do |m| list << m end
290
+ list.sort_by { |m| m.name.to_s }.each do |m|
291
+ next unless m.name =~ /\AErubis::(.*)Enhancer\z/
292
+ name = $1
293
+ desc = m.desc
294
+ s << (" %-13s : %s\n" % [name, desc])
295
+ end
296
+ return s
297
+ end
298
+
299
+ def version
300
+ return Erubis::VERSION
301
+ end
302
+
303
+ def parse_argv(argv, arg_none='', arg_required='', arg_optional='')
304
+ options = {}
305
+ context = {}
306
+ while argv[0] && argv[0][0] == ?-
307
+ optstr = argv.shift
308
+ optstr = optstr[1, optstr.length-1]
309
+ #
310
+ if optstr[0] == ?- # context
311
+ unless optstr =~ /\A\-([-\w]+)(?:=(.*))?/
312
+ raise CommandOptionError.new("-#{optstr}: invalid context value.")
313
+ end
314
+ name = $1; value = $2
315
+ name = name.gsub(/-/, '_').intern
316
+ #value = value.nil? ? true : YAML.load(value) # error, why?
317
+ value = value.nil? ? true : YAML.load("---\n#{value}\n")
318
+ context[name] = value
319
+ #
320
+ else # options
321
+ while optstr && !optstr.empty?
322
+ optchar = optstr[0].chr
323
+ optstr[0,1] = ""
324
+ if arg_none.include?(optchar)
325
+ options[optchar] = true
326
+ elsif arg_required.include?(optchar)
327
+ arg = optstr.empty? ? argv.shift : optstr
328
+ unless arg
329
+ mesg = "-#{optchar.chr}: #{@option_args[optchar]} required."
330
+ raise CommandOptionError.new(mesg)
331
+ end
332
+ options[optchar] = arg
333
+ optstr = nil
334
+ elsif arg_optional.include?(optchar)
335
+ arg = optstr.empty? ? true : optstr
336
+ options[optchar] = arg
337
+ optstr = nil
338
+ else
339
+ raise CommandOptionError.new("-#{optchar.chr}: unknown option.")
340
+ end
341
+ end
342
+ end
343
+ #
344
+ end # end of while
345
+
346
+ return options, context
347
+ end
348
+
349
+
350
+ def untabify(str, width=8)
351
+ list = str.split(/\t/)
352
+ last = list.pop
353
+ sb = ''
354
+ list.each do |s|
355
+ column = (n = s.rindex(?\n)) ? s.length - n - 1 : s.length
356
+ n = width - (column % width)
357
+ sb << s << (' ' * n)
358
+ end
359
+ sb << last
360
+ return sb
361
+ end
362
+ #--
363
+ #def untabify(str, width=8)
364
+ # sb = ''
365
+ # str.scan(/(.*?)\t/m) do |s, |
366
+ # len = (n = s.rindex(?\n)) ? s.length - n - 1 : s.length
367
+ # sb << s << (" " * (width - len % width))
368
+ # end
369
+ # return $' ? (sb << $') : str
370
+ #end
371
+ #++
372
+
373
+
374
+ def get_classobj(classname, lang, pi)
375
+ classname ||= "E#{lang}"
376
+ base_module = pi ? Erubis::PI : Erubis
377
+ begin
378
+ klass = base_module.const_get(classname)
379
+ rescue NameError
380
+ klass = nil
381
+ end
382
+ unless klass
383
+ if lang
384
+ msg = "-l #{lang}: invalid language name (class #{base_module.name}::#{classname} not found)."
385
+ else
386
+ msg = "-c #{classname}: invalid class name."
387
+ end
388
+ raise CommandOptionError.new(msg)
389
+ end
390
+ return klass
391
+ end
392
+
393
+ def get_enhancers(enhancer_names)
394
+ return [] unless enhancer_names
395
+ enhancers = []
396
+ shortname = nil
397
+ begin
398
+ enhancer_names.split(/,/).each do |shortname|
399
+ enhancers << Erubis.const_get("#{shortname}Enhancer")
400
+ end
401
+ rescue NameError
402
+ raise CommandOptionError.new("#{shortname}: no such Enhancer (try '-E' to show all enhancers).")
403
+ end
404
+ return enhancers
405
+ end
406
+
407
+ def load_datafiles(filenames, opts)
408
+ context = Erubis::Context.new
409
+ return context unless filenames
410
+ filenames.split(/,/).each do |filename|
411
+ filename.strip!
412
+ test(?f, filename) or raise CommandOptionError.new("#{filename}: file not found.")
413
+ if filename =~ /\.ya?ml$/
414
+ if opts.unexpand
415
+ ydoc = YAML.load_file(filename)
416
+ else
417
+ ydoc = YAML.load(untabify(File.read(filename)))
418
+ end
419
+ ydoc.is_a?(Hash) or raise CommandOptionError.new("#{filename}: root object is not a mapping.")
420
+ intern_hash_keys(ydoc) if opts.intern
421
+ context.update(ydoc)
422
+ elsif filename =~ /\.rb$/
423
+ str = File.read(filename)
424
+ context2 = Erubis::Context.new
425
+ _instance_eval(context2, str)
426
+ context.update(context2)
427
+ else
428
+ CommandOptionError.new("#{filename}: '*.yaml', '*.yml', or '*.rb' required.")
429
+ end
430
+ end
431
+ return context
432
+ end
433
+
434
+ def _instance_eval(_context, _str)
435
+ _context.instance_eval(_str)
436
+ end
437
+
438
+ def parse_context_data(context_str, opts)
439
+ if context_str[0] == ?{
440
+ require 'yaml'
441
+ ydoc = YAML.load(context_str)
442
+ unless ydoc.is_a?(Hash)
443
+ raise CommandOptionError.new("-c: root object is not a mapping.")
444
+ end
445
+ intern_hash_keys(ydoc) if opts.intern
446
+ return ydoc
447
+ else
448
+ context = Erubis::Context.new
449
+ context.instance_eval(context_str, '-c')
450
+ return context
451
+ end
452
+ end
453
+
454
+ def intern_hash_keys(obj, done={})
455
+ return if done.key?(obj.__id__)
456
+ case obj
457
+ when Hash
458
+ done[obj.__id__] = obj
459
+ obj.keys.each do |key|
460
+ obj[key.intern] = obj.delete(key) if key.is_a?(String)
461
+ end
462
+ obj.values.each do |val|
463
+ intern_hash_keys(val, done) if val.is_a?(Hash) || val.is_a?(Array)
464
+ end
465
+ when Array
466
+ done[obj.__id__] = obj
467
+ obj.each do |val|
468
+ intern_hash_keys(val, done) if val.is_a?(Hash) || val.is_a?(Array)
469
+ end
470
+ end
471
+ end
472
+
473
+ def check_syntax(filename, src)
474
+ require 'open3'
475
+ command = (ENV['_'] || 'ruby') + ' -wc' # ENV['_'] stores command name
476
+ stdin, stdout, stderr = Open3.popen3(command)
477
+ stdin.write(src)
478
+ stdin.close
479
+ result = stdout.read()
480
+ stdout.close()
481
+ errmsg = stderr.read()
482
+ stderr.close()
483
+ return nil unless errmsg && !errmsg.empty?
484
+ errmsg =~ /\A-:(\d+): /
485
+ linenum, message = $1, $'
486
+ return "#{filename}:#{linenum}: #{message}"
487
+ end
488
+
489
+ end
490
+
491
+ end
@@ -0,0 +1,59 @@
1
+ ###
2
+ ### $Rev: 102 $
3
+ ### $Release: 2.6.2 $
4
+ ### copyright(c) 2006-2008 kuwata-lab.com all rights reserved.
5
+ ###
6
+
7
+ require 'cgi'
8
+
9
+
10
+ module Erubis
11
+
12
+
13
+ ##
14
+ ## for preprocessing
15
+ ##
16
+ class PreprocessingEruby < Erubis::Eruby
17
+
18
+ def initialize(input, params={})
19
+ params = params.dup
20
+ params[:pattern] ||= '\[% %\]' # use '[%= %]' instead of '<%= %>'
21
+ #params[:escape] = true # transport '[%= %]' and '[%== %]'
22
+ super
23
+ end
24
+
25
+ def add_expr_escaped(src, code)
26
+ add_expr_literal(src, "_decode((#{code}))")
27
+ end
28
+
29
+ end
30
+
31
+
32
+ ##
33
+ ## helper methods for preprocessing
34
+ ##
35
+ module PreprocessingHelper
36
+
37
+ module_function
38
+
39
+ def _p(arg)
40
+ return "<%=#{arg}%>"
41
+ end
42
+
43
+ def _P(arg)
44
+ return "<%=h(#{arg})%>"
45
+ end
46
+
47
+ alias _? _p
48
+
49
+ def _decode(arg)
50
+ arg = arg.to_s
51
+ arg.gsub!(/%3C%25(?:=|%3D)(.*?)%25%3E/) { "<%=#{CGI.unescape($1)}%>" }
52
+ arg.gsub!(/&lt;%=(.*?)%&gt;/) { "<%=#{CGI.unescapeHTML($1)}%>" }
53
+ return arg
54
+ end
55
+
56
+ end
57
+
58
+
59
+ end
@@ -0,0 +1,146 @@
1
+ ##
2
+ ## $Rev: 115 $
3
+ ## $Release: 2.6.2 $
4
+ ## copyright(c) 2006-2008 kuwata-lab.com all rights reserved.
5
+ ##
6
+
7
+ module Erubis
8
+
9
+ ##
10
+ ## tiny and the simplest implementation of eRuby
11
+ ##
12
+ ## ex.
13
+ ## eruby = TinyEruby.new(File.read('example.rhtml'))
14
+ ## print eruby.src # print ruby code
15
+ ## print eruby.result(binding()) # eval ruby code with Binding object
16
+ ## print eruby.evalute(context) # eval ruby code with context object
17
+ ##
18
+ class TinyEruby
19
+
20
+ def initialize(input=nil)
21
+ @src = convert(input) if input
22
+ end
23
+ attr_reader :src
24
+
25
+ EMBEDDED_PATTERN = /<%(=+|\#)?(.*?)-?%>/m
26
+
27
+ def convert(input)
28
+ src = "_buf = '';" # preamble
29
+ pos = 0
30
+ input.scan(EMBEDDED_PATTERN) do |indicator, code|
31
+ match = Regexp.last_match
32
+ len = match.begin(0) - pos
33
+ text = input[pos, len]
34
+ pos = match.end(0)
35
+ #src << " _buf << '" << escape_text(text) << "';"
36
+ text.gsub!(/['\\]/, '\\\\\&')
37
+ src << " _buf << '" << text << "';" unless text.empty?
38
+ if !indicator # <% %>
39
+ src << code << ";"
40
+ elsif indicator == '#' # <%# %>
41
+ src << ("\n" * code.count("\n"))
42
+ else # <%= %>
43
+ src << " _buf << (" << code << ").to_s;"
44
+ end
45
+ end
46
+ #rest = $' || input # ruby1.8
47
+ rest = pos == 0 ? input : input[pos..-1] # ruby1.9
48
+ #src << " _buf << '" << escape_text(rest) << "';"
49
+ rest.gsub!(/['\\]/, '\\\\\&')
50
+ src << " _buf << '" << rest << "';" unless rest.empty?
51
+ src << "\n_buf.to_s\n" # postamble
52
+ return src
53
+ end
54
+
55
+ #def escape_text(text)
56
+ # return text.gsub!(/['\\]/, '\\\\\&') || text
57
+ #end
58
+
59
+ def result(_binding=TOPLEVEL_BINDING)
60
+ eval @src, _binding
61
+ end
62
+
63
+ def evaluate(_context=Object.new)
64
+ if _context.is_a?(Hash)
65
+ _obj = Object.new
66
+ _context.each do |k, v| _obj.instance_variable_set("@#{k}", v) end
67
+ _context = _obj
68
+ end
69
+ _context.instance_eval @src
70
+ end
71
+
72
+ end
73
+
74
+
75
+
76
+ module PI
77
+ end
78
+
79
+ class PI::TinyEruby
80
+
81
+ def initialize(input=nil, options={})
82
+ @escape = options[:escape] || 'Erubis::XmlHelper.escape_xml'
83
+ @src = convert(input) if input
84
+ end
85
+
86
+ attr_reader :src
87
+
88
+ EMBEDDED_PATTERN = /(^[ \t]*)?<\?rb(\s.*?)\?>([ \t]*\r?\n)?|@(!+)?\{(.*?)\}@/m
89
+
90
+ def convert(input)
91
+ src = "_buf = '';" # preamble
92
+ pos = 0
93
+ input.scan(EMBEDDED_PATTERN) do |lspace, stmt, rspace, indicator, expr|
94
+ match = Regexp.last_match
95
+ len = match.begin(0) - pos
96
+ text = input[pos, len]
97
+ pos = match.end(0)
98
+ #src << " _buf << '" << escape_text(text) << "';"
99
+ text.gsub!(/['\\]/, '\\\\\&')
100
+ src << " _buf << '" << text << "';" unless text.empty?
101
+ if stmt # <?rb ... ?>
102
+ if lspace && rspace
103
+ src << "#{lspace}#{stmt}#{rspace}"
104
+ else
105
+ src << " _buf << '" << lspace << "';" if lspace
106
+ src << stmt << ";"
107
+ src << " _buf << '" << rspace << "';" if rspace
108
+ end
109
+ else # ${...}, $!{...}
110
+ if !indicator
111
+ src << " _buf << " << @escape << "(" << expr << ");"
112
+ elsif indicator == '!'
113
+ src << " _buf << (" << expr << ").to_s;"
114
+ end
115
+ end
116
+ end
117
+ #rest = $' || input # ruby1.8
118
+ rest = pos == 0 ? input : input[pos..-1] # ruby1.9
119
+ #src << " _buf << '" << escape_text(rest) << "';"
120
+ rest.gsub!(/['\\]/, '\\\\\&')
121
+ src << " _buf << '" << rest << "';" unless rest.empty?
122
+ src << "\n_buf.to_s\n" # postamble
123
+ return src
124
+ end
125
+
126
+ #def escape_text(text)
127
+ # return text.gsub!(/['\\]/, '\\\\\&') || text
128
+ #end
129
+
130
+ def result(_binding=TOPLEVEL_BINDING)
131
+ eval @src, _binding
132
+ end
133
+
134
+ def evaluate(_context=Object.new)
135
+ if _context.is_a?(Hash)
136
+ _obj = Object.new
137
+ _context.each do |k, v| _obj.instance_variable_set("@#{k}", v) end
138
+ _context = _obj
139
+ end
140
+ _context.instance_eval @src
141
+ end
142
+
143
+ end
144
+
145
+
146
+ end