rango 0.0.4 → 0.0.6

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 (1773) hide show
  1. data/CHANGELOG +22 -8
  2. data/README.textile +2 -2
  3. data/Rakefile +79 -0
  4. data/bin/rango +54 -22
  5. data/deps.rip +8 -0
  6. data/lib/rango.rb +4 -4
  7. data/lib/rango/boot.rb +4 -14
  8. data/lib/rango/contrib/pagination.rb +6 -8
  9. data/lib/rango/contrib/pagination/README.textile +2 -2
  10. data/lib/rango/contrib/pagination/_pagination.html.haml +4 -4
  11. data/lib/rango/contrib/pagination/adapters/datamapper.rb +16 -17
  12. data/lib/rango/contrib/pagination/helpers.rb +10 -0
  13. data/lib/rango/contrib/pagination/strategies.rb +1 -1
  14. data/lib/rango/controller.rb +40 -43
  15. data/lib/rango/exceptions.rb +49 -49
  16. data/lib/rango/gv.rb +93 -0
  17. data/lib/rango/helpers.rb +4 -4
  18. data/lib/rango/helpers/assets.rb +11 -2
  19. data/lib/rango/helpers/merb-helpers/core_ext/numeric.rb +1 -0
  20. data/lib/rango/helpers/merb-helpers/date_time_formatting.rb +5 -19
  21. data/lib/rango/helpers/merb-helpers/form/builder.rb +427 -424
  22. data/lib/rango/helpers/merb-helpers/form/helpers.rb +420 -418
  23. data/lib/rango/helpers/merb-helpers/form_helpers.rb +4 -2
  24. data/lib/rango/helpers/merb-helpers/text_helpers.rb +64 -54
  25. data/lib/rango/mixins/application.rb +1 -1
  26. data/lib/rango/mixins/configurable.rb +3 -4
  27. data/lib/rango/mixins/http_caching.rb +78 -0
  28. data/lib/rango/mixins/mini.rb +2 -2
  29. data/lib/rango/mixins/render.rb +152 -0
  30. data/lib/rango/orm/adapter.rb +46 -0
  31. data/lib/rango/orm/adapters/datamapper.rb +18 -0
  32. data/lib/rango/orm/adapters/sequel.rb +18 -0
  33. data/lib/rango/orm/orm.txt +11 -0
  34. data/lib/rango/orm/{adapters → support}/datamapper/fields.rb +0 -0
  35. data/lib/rango/orm/{adapters → support}/datamapper/support.rb +0 -0
  36. data/lib/rango/orm/tasks/datamapper.rake +34 -0
  37. data/{features/auth/warden.feature → lib/rango/orm/tasks/sequel.rake} +0 -0
  38. data/lib/rango/project.rb +8 -9
  39. data/lib/rango/rack/middlewares/basic.rb +50 -22
  40. data/lib/rango/rango.rb +29 -25
  41. data/lib/rango/router.rb +9 -0
  42. data/lib/rango/router/adapters/rack_mount.rb +17 -0
  43. data/lib/rango/router/adapters/usher.rb +9 -0
  44. data/lib/rango/settings.rb +13 -3
  45. data/lib/rango/settings/erubis.rb +2 -0
  46. data/lib/rango/settings/framework.rb +4 -10
  47. data/lib/rango/settings/haml.rb +6 -0
  48. data/lib/rango/settings/template.rb +3 -1
  49. data/lib/rango/tasks/spec.rake +7 -0
  50. data/lib/rango/templates/adapter.rb +1 -1
  51. data/lib/rango/templates/adapters/erb.rb +2 -2
  52. data/lib/rango/templates/adapters/erubis.rb +1 -1
  53. data/lib/rango/templates/adapters/haml.rb +1 -1
  54. data/lib/rango/templates/erubis.rb +84 -0
  55. data/lib/rango/templates/template.rb +33 -16
  56. data/lib/rango/templates/templates.txt +39 -0
  57. data/lib/rango/utils.rb +13 -0
  58. data/rango.gemspec +20 -15
  59. data/runcoderun.sh +19 -0
  60. data/script/erubis +11 -0
  61. data/script/rackup +2 -0
  62. data/script/rake2thor +86 -0
  63. data/script/spec +12 -0
  64. data/script/thor +12 -0
  65. data/simple-templater.scope +6 -0
  66. data/spec/factories.rb +4 -4
  67. data/spec/rango/controller_spec.rb +2 -2
  68. data/spec/rango/exceptions_spec.rb +3 -1
  69. data/{features/generators/bigapp.feature → spec/rango/gv_spec.rb} +0 -0
  70. data/{features/generators/features.feature → spec/rango/helpers/merb-helpers/core_ext/numeric_spec.rb} +0 -0
  71. data/{features/generators/flat.feature → spec/rango/helpers/merb-helpers/date_time_formatting_spec.rb} +0 -0
  72. data/{features/generators/project.feature → spec/rango/helpers/merb-helpers/date_time_helpers_spec.rb} +0 -0
  73. data/{features/generators/pupu.feature → spec/rango/helpers/merb-helpers/form/builder_spec.rb} +0 -0
  74. data/{features/generators/stub.feature → spec/rango/helpers/merb-helpers/form/helpers_spec.rb} +0 -0
  75. data/{features/routers/rack-router.feature → spec/rango/helpers/merb-helpers/form_helpers_spec.rb} +0 -0
  76. data/spec/rango/helpers/merb-helpers/merb_helpers_config_spec.rb +1 -0
  77. data/spec/rango/helpers/merb-helpers/merb_helpers_date_time_spec.rb +2 -0
  78. data/spec/rango/helpers/merb-helpers/merb_helpers_form_spec.rb +5 -3
  79. data/spec/rango/helpers/merb-helpers/merb_helpers_tag_helper_spec.rb +4 -0
  80. data/spec/rango/helpers/merb-helpers/merb_helpers_text_spec.rb +1 -0
  81. data/spec/rango/helpers/merb-helpers/numeric_extlib_spec.rb +8 -7
  82. data/spec/rango/helpers/merb-helpers/ordinalize_spec.rb +1 -0
  83. data/{features/routers/rack.feature → spec/rango/helpers/merb-helpers/tag_helpers_spec.rb} +0 -0
  84. data/{features/routers/urlmap.feature → spec/rango/helpers/merb-helpers/text_helpers_spec.rb} +0 -0
  85. data/{lib/rango/orm/adapters/sequel/tasks.thor → spec/rango/mixins/chainable_spec.rb} +0 -0
  86. data/spec/rango/{cli/generator_spec.rb → mixins/hookable_spec.rb} +0 -0
  87. data/spec/rango/{cli/templater_spec.rb → mixins/http_caching_spec.rb} +0 -0
  88. data/spec/rango/{generic_views_spec.rb → mixins/render_spec.rb} +0 -0
  89. data/spec/rango/{helpers/spec/core_ext_spec_spec.rb → orm/adapter_spec.rb} +0 -0
  90. data/spec/rango/{helpers/spec/fixture/app/controllers/application_spec.rb → orm/adapters/datamapper_spec.rb} +0 -0
  91. data/spec/rango/{helpers/spec/fixture/app/controllers/bound_check_box_spec.rb → orm/adapters/sequel_spec.rb} +0 -0
  92. data/spec/rango/orm/{adapters → support}/datamapper/fields_spec.rb +0 -0
  93. data/spec/rango/orm/{adapters → support}/datamapper/support_spec.rb +0 -0
  94. data/spec/rango/project_spec.rb +1 -4
  95. data/spec/rango/rack/request_spec.rb +2 -13
  96. data/spec/rango/{helpers/spec/fixture/app/controllers/bound_file_field_spec.rb → router/adapters/rack_router_spec.rb} +0 -0
  97. data/spec/rango/{helpers/spec/fixture/app/controllers/bound_hidden_field_spec.rb → router/adapters/urlmap_spec.rb} +0 -0
  98. data/spec/rango/{helpers/spec/fixture/app/controllers/bound_option_tag_spec.rb → router/adapters/usher_spec.rb} +0 -0
  99. data/spec/rango/{helpers/spec/fixture/config/router_spec.rb → router_spec.rb} +0 -0
  100. data/spec/rango/settings_spec.rb +2 -1
  101. data/spec/rango_spec.rb +3 -4
  102. data/stubs/app/content/init.rb.rbt +4 -1
  103. data/stubs/app/content/models.rb.rbt +9 -1
  104. data/stubs/app/content/views.rb.rbt +14 -4
  105. data/stubs/app/metadata.yml +1 -2
  106. data/stubs/app/setup.rb +13 -0
  107. data/stubs/bigapp/content/models/%model%.rb.rbt +6 -0
  108. data/stubs/bigapp/content/views/%controller%.rb.rbt +8 -0
  109. data/stubs/bigapp/metadata.yml +1 -2
  110. data/stubs/bigapp/setup.rb +12 -0
  111. data/stubs/features/metadata.yml +1 -2
  112. data/stubs/flat/content/flat.ru +21 -0
  113. data/stubs/flat/content/flat.ru.rbt +3 -2
  114. data/stubs/flat/metadata.yml +2 -3
  115. data/stubs/flat/postprocess.rb +12 -0
  116. data/stubs/flat/setup.rb +13 -0
  117. data/stubs/project/content/Gemfile.rbt +108 -0
  118. data/stubs/project/content/Rakefile.rbt +12 -0
  119. data/{spec/rango/helpers/spec/fixture/app/controllers/bound_password_field_spec.rb → stubs/project/content/TODO.txt} +0 -0
  120. data/stubs/project/content/config.ru.rbt +62 -0
  121. data/stubs/project/content/init.rb.rbt +49 -0
  122. data/stubs/project/content/settings.rb +15 -0
  123. data/stubs/project/content/spec/%name%/init_spec.rb.rbt +7 -0
  124. data/stubs/project/content/spec/%name%/models_spec.rb.rbt +10 -0
  125. data/stubs/project/content/spec/%name%/views_spec.rb.rbt +22 -0
  126. data/stubs/project/content/spec/spec.opts +5 -0
  127. data/stubs/project/content/spec/spec_helper.rb +27 -0
  128. data/stubs/project/content/templates/base.html.haml.rbt +9 -22
  129. data/stubs/project/content/templates/index.html.haml +24 -0
  130. data/stubs/project/metadata.yml +1 -2
  131. data/stubs/project/postprocess.rb +18 -4
  132. data/stubs/project/setup.rb +15 -0
  133. data/tasks/package.thor +0 -31
  134. data/tasks/prerelease.thor +34 -0
  135. data/tasks/release.thor +14 -3
  136. data/tasks/repair.thor +1 -1
  137. data/tasks/spec.thor +1 -0
  138. data/tasks/stats.thor +1 -1
  139. data/tasks/system.thor +158 -0
  140. data/vendor/abstract/ChangeLog +3 -0
  141. data/vendor/abstract/README.txt +57 -0
  142. data/vendor/abstract/abstract.gemspec +48 -0
  143. data/vendor/abstract/doc/classes/Kernel.html +134 -0
  144. data/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
  145. data/vendor/abstract/doc/classes/Module.html +140 -0
  146. data/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
  147. data/vendor/abstract/doc/created.rid +1 -0
  148. data/vendor/abstract/doc/files/README_txt.html +173 -0
  149. data/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
  150. data/vendor/abstract/doc/fr_class_index.html +28 -0
  151. data/vendor/abstract/doc/fr_file_index.html +28 -0
  152. data/vendor/abstract/doc/fr_method_index.html +28 -0
  153. data/vendor/abstract/doc/index.html +24 -0
  154. data/vendor/abstract/doc/rdoc-style.css +208 -0
  155. data/vendor/abstract/lib/abstract.rb +75 -0
  156. data/vendor/abstract/setup.rb +1331 -0
  157. data/vendor/abstract/test/test.rb +91 -0
  158. data/vendor/cli/CHANGELOG +2 -0
  159. data/vendor/cli/LICENSE +20 -0
  160. data/{spec/rango/helpers/spec/fixture/app/controllers/bound_radio_button_spec.rb → vendor/cli/README.textile} +0 -0
  161. data/vendor/cli/Rakefile +79 -0
  162. data/{spec/rango/helpers/spec/fixture/app/controllers/bound_radio_group_spec.rb → vendor/cli/TODO.txt} +0 -0
  163. data/vendor/cli/cli.gemspec +42 -0
  164. data/vendor/cli/deps.rip +5 -0
  165. data/vendor/cli/lib/cli.rb +33 -0
  166. data/vendor/cli/script/spec +12 -0
  167. data/vendor/cli/spec/cli_spec.rb +56 -0
  168. data/vendor/cli/spec/spec.opts +5 -0
  169. data/vendor/cli/spec/spec_helper.rb +18 -0
  170. data/vendor/erubis/CHANGES.txt +717 -0
  171. data/vendor/erubis/MIT-LICENSE +20 -0
  172. data/vendor/erubis/README.txt +102 -0
  173. data/vendor/erubis/benchmark/Makefile +6 -0
  174. data/vendor/erubis/benchmark/bench.rb +314 -0
  175. data/vendor/erubis/benchmark/bench_context.yaml +141 -0
  176. data/vendor/erubis/benchmark/templates/_footer.html +4 -0
  177. data/vendor/erubis/benchmark/templates/_header.html +52 -0
  178. data/vendor/erubis/benchmark/templates/bench_erb.rhtml +29 -0
  179. data/vendor/erubis/benchmark/templates/bench_erubis.rhtml +29 -0
  180. data/vendor/erubis/benchmark/templates/bench_eruby.rhtml +29 -0
  181. data/vendor/erubis/bin/erubis +11 -0
  182. data/vendor/erubis/contrib/erubis +11 -0
  183. data/vendor/erubis/contrib/erubis-run.rb +132 -0
  184. data/vendor/erubis/contrib/inline-require +153 -0
  185. data/vendor/erubis/doc-api/classes/ActionView.html +105 -0
  186. data/vendor/erubis/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +181 -0
  187. data/vendor/erubis/doc-api/classes/ERB.html +101 -0
  188. data/vendor/erubis/doc-api/classes/Erubis.html +353 -0
  189. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEnhancer.html +175 -0
  190. data/vendor/erubis/doc-api/classes/Erubis/ArrayBufferEruby.html +120 -0
  191. data/vendor/erubis/doc-api/classes/Erubis/ArrayEnhancer.html +174 -0
  192. data/vendor/erubis/doc-api/classes/Erubis/ArrayEruby.html +120 -0
  193. data/vendor/erubis/doc-api/classes/Erubis/Basic.html +112 -0
  194. data/vendor/erubis/doc-api/classes/Erubis/Basic/Converter.html +327 -0
  195. data/vendor/erubis/doc-api/classes/Erubis/Basic/Engine.html +130 -0
  196. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEnhancer.html +215 -0
  197. data/vendor/erubis/doc-api/classes/Erubis/BiPatternEruby.html +120 -0
  198. data/vendor/erubis/doc-api/classes/Erubis/CGenerator.html +386 -0
  199. data/vendor/erubis/doc-api/classes/Erubis/CommandOptionError.html +113 -0
  200. data/vendor/erubis/doc-api/classes/Erubis/Context.html +344 -0
  201. data/vendor/erubis/doc-api/classes/Erubis/Converter.html +283 -0
  202. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEnhancer.html +150 -0
  203. data/vendor/erubis/doc-api/classes/Erubis/DeleteIndentEruby.html +120 -0
  204. data/vendor/erubis/doc-api/classes/Erubis/Ec.html +126 -0
  205. data/vendor/erubis/doc-api/classes/Erubis/Ejava.html +126 -0
  206. data/vendor/erubis/doc-api/classes/Erubis/Ejavascript.html +126 -0
  207. data/vendor/erubis/doc-api/classes/Erubis/Engine.html +305 -0
  208. data/vendor/erubis/doc-api/classes/Erubis/Eperl.html +126 -0
  209. data/vendor/erubis/doc-api/classes/Erubis/Ephp.html +126 -0
  210. data/vendor/erubis/doc-api/classes/Erubis/ErboutEnhancer.html +175 -0
  211. data/vendor/erubis/doc-api/classes/Erubis/ErboutEruby.html +120 -0
  212. data/vendor/erubis/doc-api/classes/Erubis/ErubisError.html +117 -0
  213. data/vendor/erubis/doc-api/classes/Erubis/Eruby.html +132 -0
  214. data/vendor/erubis/doc-api/classes/Erubis/EscapeEnhancer.html +165 -0
  215. data/vendor/erubis/doc-api/classes/Erubis/EscapedEc.html +120 -0
  216. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjava.html +120 -0
  217. data/vendor/erubis/doc-api/classes/Erubis/EscapedEjavascript.html +120 -0
  218. data/vendor/erubis/doc-api/classes/Erubis/EscapedEperl.html +120 -0
  219. data/vendor/erubis/doc-api/classes/Erubis/EscapedEphp.html +120 -0
  220. data/vendor/erubis/doc-api/classes/Erubis/EscapedEruby.html +127 -0
  221. data/vendor/erubis/doc-api/classes/Erubis/EscapedEscheme.html +120 -0
  222. data/vendor/erubis/doc-api/classes/Erubis/Escheme.html +126 -0
  223. data/vendor/erubis/doc-api/classes/Erubis/Evaluator.html +212 -0
  224. data/vendor/erubis/doc-api/classes/Erubis/FastEruby.html +131 -0
  225. data/vendor/erubis/doc-api/classes/Erubis/Generator.html +416 -0
  226. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEnhancer.html +267 -0
  227. data/vendor/erubis/doc-api/classes/Erubis/HeaderFooterEruby.html +120 -0
  228. data/vendor/erubis/doc-api/classes/Erubis/Helpers.html +116 -0
  229. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +787 -0
  230. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper.html +349 -0
  231. data/vendor/erubis/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +164 -0
  232. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEnhancer.html +306 -0
  233. data/vendor/erubis/doc-api/classes/Erubis/InterpolationEruby.html +120 -0
  234. data/vendor/erubis/doc-api/classes/Erubis/JavaGenerator.html +359 -0
  235. data/vendor/erubis/doc-api/classes/Erubis/JavascriptGenerator.html +386 -0
  236. data/vendor/erubis/doc-api/classes/Erubis/Main.html +340 -0
  237. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEnhancer.html +249 -0
  238. data/vendor/erubis/doc-api/classes/Erubis/NoCodeEruby.html +120 -0
  239. data/vendor/erubis/doc-api/classes/Erubis/NoTextEnhancer.html +159 -0
  240. data/vendor/erubis/doc-api/classes/Erubis/NoTextEruby.html +120 -0
  241. data/vendor/erubis/doc-api/classes/Erubis/NotSupportedError.html +119 -0
  242. data/vendor/erubis/doc-api/classes/Erubis/OptimizedEruby.html +163 -0
  243. data/vendor/erubis/doc-api/classes/Erubis/OptimizedGenerator.html +439 -0
  244. data/vendor/erubis/doc-api/classes/Erubis/OptimizedXmlEruby.html +163 -0
  245. data/vendor/erubis/doc-api/classes/Erubis/PI.html +124 -0
  246. data/vendor/erubis/doc-api/classes/Erubis/PI/Converter.html +266 -0
  247. data/vendor/erubis/doc-api/classes/Erubis/PI/Ec.html +166 -0
  248. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejava.html +166 -0
  249. data/vendor/erubis/doc-api/classes/Erubis/PI/Ejavascript.html +166 -0
  250. data/vendor/erubis/doc-api/classes/Erubis/PI/Engine.html +122 -0
  251. data/vendor/erubis/doc-api/classes/Erubis/PI/Eperl.html +166 -0
  252. data/vendor/erubis/doc-api/classes/Erubis/PI/Ephp.html +166 -0
  253. data/vendor/erubis/doc-api/classes/Erubis/PI/Eruby.html +155 -0
  254. data/vendor/erubis/doc-api/classes/Erubis/PI/Escheme.html +166 -0
  255. data/vendor/erubis/doc-api/classes/Erubis/PI/TinyEruby.html +293 -0
  256. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEnhancer.html +179 -0
  257. data/vendor/erubis/doc-api/classes/Erubis/PercentLineEruby.html +120 -0
  258. data/vendor/erubis/doc-api/classes/Erubis/PerlGenerator.html +344 -0
  259. data/vendor/erubis/doc-api/classes/Erubis/PhpGenerator.html +350 -0
  260. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingEruby.html +183 -0
  261. data/vendor/erubis/doc-api/classes/Erubis/PreprocessingHelper.html +212 -0
  262. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEnhancer.html +212 -0
  263. data/vendor/erubis/doc-api/classes/Erubis/PrintEnabledEruby.html +120 -0
  264. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEnhancer.html +244 -0
  265. data/vendor/erubis/doc-api/classes/Erubis/PrintOutEruby.html +120 -0
  266. data/vendor/erubis/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +121 -0
  267. data/vendor/erubis/doc-api/classes/Erubis/RubyEvaluator.html +227 -0
  268. data/vendor/erubis/doc-api/classes/Erubis/RubyGenerator.html +327 -0
  269. data/vendor/erubis/doc-api/classes/Erubis/SchemeGenerator.html +382 -0
  270. data/vendor/erubis/doc-api/classes/Erubis/SimplifiedEruby.html +120 -0
  271. data/vendor/erubis/doc-api/classes/Erubis/SimplifyEnhancer.html +191 -0
  272. data/vendor/erubis/doc-api/classes/Erubis/StdoutEnhancer.html +173 -0
  273. data/vendor/erubis/doc-api/classes/Erubis/StdoutEruby.html +120 -0
  274. data/vendor/erubis/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +121 -0
  275. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEnhancer.html +174 -0
  276. data/vendor/erubis/doc-api/classes/Erubis/StringBufferEruby.html +120 -0
  277. data/vendor/erubis/doc-api/classes/Erubis/StringIOEruby.html +120 -0
  278. data/vendor/erubis/doc-api/classes/Erubis/TinyEruby.html +299 -0
  279. data/vendor/erubis/doc-api/classes/Erubis/XmlEruby.html +130 -0
  280. data/vendor/erubis/doc-api/classes/Erubis/XmlHelper.html +255 -0
  281. data/vendor/erubis/doc-api/created.rid +1 -0
  282. data/vendor/erubis/doc-api/files/README_txt.html +247 -0
  283. data/vendor/erubis/doc-api/files/erubis/context_rb.html +107 -0
  284. data/vendor/erubis/doc-api/files/erubis/converter_rb.html +114 -0
  285. data/vendor/erubis/doc-api/files/erubis/engine/ec_rb.html +115 -0
  286. data/vendor/erubis/doc-api/files/erubis/engine/ejava_rb.html +115 -0
  287. data/vendor/erubis/doc-api/files/erubis/engine/ejavascript_rb.html +115 -0
  288. data/vendor/erubis/doc-api/files/erubis/engine/enhanced_rb.html +115 -0
  289. data/vendor/erubis/doc-api/files/erubis/engine/eperl_rb.html +115 -0
  290. data/vendor/erubis/doc-api/files/erubis/engine/ephp_rb.html +115 -0
  291. data/vendor/erubis/doc-api/files/erubis/engine/eruby_rb.html +115 -0
  292. data/vendor/erubis/doc-api/files/erubis/engine/escheme_rb.html +115 -0
  293. data/vendor/erubis/doc-api/files/erubis/engine/optimized_rb.html +114 -0
  294. data/vendor/erubis/doc-api/files/erubis/engine_rb.html +117 -0
  295. data/vendor/erubis/doc-api/files/erubis/enhancer_rb.html +107 -0
  296. data/vendor/erubis/doc-api/files/erubis/error_rb.html +107 -0
  297. data/vendor/erubis/doc-api/files/erubis/evaluator_rb.html +115 -0
  298. data/vendor/erubis/doc-api/files/erubis/generator_rb.html +114 -0
  299. data/vendor/erubis/doc-api/files/erubis/helper_rb.html +107 -0
  300. data/vendor/erubis/doc-api/files/erubis/helpers/rails_form_helper_rb.html +107 -0
  301. data/vendor/erubis/doc-api/files/erubis/helpers/rails_helper_rb.html +116 -0
  302. data/vendor/erubis/doc-api/files/erubis/local-setting_rb.html +107 -0
  303. data/vendor/erubis/doc-api/files/erubis/main_rb.html +127 -0
  304. data/vendor/erubis/doc-api/files/erubis/preprocessing_rb.html +114 -0
  305. data/vendor/erubis/doc-api/files/erubis/tiny_rb.html +107 -0
  306. data/vendor/erubis/doc-api/files/erubis_rb.html +118 -0
  307. data/vendor/erubis/doc-api/fr_class_index.html +122 -0
  308. data/vendor/erubis/doc-api/fr_file_index.html +51 -0
  309. data/vendor/erubis/doc-api/fr_method_index.html +248 -0
  310. data/vendor/erubis/doc-api/index.html +24 -0
  311. data/vendor/erubis/doc-api/rdoc-style.css +208 -0
  312. data/vendor/erubis/doc/docstyle.css +188 -0
  313. data/vendor/erubis/doc/users-guide.html +3285 -0
  314. data/vendor/erubis/erubis.gemspec +66 -0
  315. data/vendor/erubis/examples/basic/Makefile +53 -0
  316. data/vendor/erubis/examples/basic/example.ec +42 -0
  317. data/vendor/erubis/examples/basic/example.ejava +45 -0
  318. data/vendor/erubis/examples/basic/example.ejs +16 -0
  319. data/vendor/erubis/examples/basic/example.eperl +16 -0
  320. data/vendor/erubis/examples/basic/example.ephp +17 -0
  321. data/vendor/erubis/examples/basic/example.eruby +15 -0
  322. data/vendor/erubis/examples/basic/example.escheme +26 -0
  323. data/vendor/erubis/examples/pi/Makefile +54 -0
  324. data/vendor/erubis/examples/pi/example.ec +42 -0
  325. data/vendor/erubis/examples/pi/example.ejava +45 -0
  326. data/vendor/erubis/examples/pi/example.ejs +16 -0
  327. data/vendor/erubis/examples/pi/example.eperl +16 -0
  328. data/vendor/erubis/examples/pi/example.ephp +17 -0
  329. data/vendor/erubis/examples/pi/example.eruby +15 -0
  330. data/vendor/erubis/examples/pi/example.escheme +26 -0
  331. data/vendor/erubis/lib/erubis.rb +73 -0
  332. data/vendor/erubis/lib/erubis/context.rb +84 -0
  333. data/vendor/erubis/lib/erubis/converter.rb +358 -0
  334. data/vendor/erubis/lib/erubis/engine.rb +121 -0
  335. data/vendor/erubis/lib/erubis/engine/ec.rb +118 -0
  336. data/vendor/erubis/lib/erubis/engine/ejava.rb +111 -0
  337. data/vendor/erubis/lib/erubis/engine/ejavascript.rb +120 -0
  338. data/vendor/erubis/lib/erubis/engine/enhanced.rb +122 -0
  339. data/vendor/erubis/lib/erubis/engine/eperl.rb +96 -0
  340. data/vendor/erubis/lib/erubis/engine/ephp.rb +100 -0
  341. data/vendor/erubis/lib/erubis/engine/eruby.rb +125 -0
  342. data/vendor/erubis/lib/erubis/engine/escheme.rb +115 -0
  343. data/vendor/erubis/lib/erubis/engine/optimized.rb +128 -0
  344. data/vendor/erubis/lib/erubis/enhancer.rb +681 -0
  345. data/vendor/erubis/lib/erubis/error.rb +24 -0
  346. data/vendor/erubis/lib/erubis/evaluator.rb +89 -0
  347. data/vendor/erubis/lib/erubis/generator.rb +86 -0
  348. data/vendor/erubis/lib/erubis/helper.rb +48 -0
  349. data/vendor/erubis/lib/erubis/helpers/rails_form_helper.rb +198 -0
  350. data/vendor/erubis/lib/erubis/helpers/rails_helper.rb +325 -0
  351. data/vendor/erubis/lib/erubis/local-setting.rb +10 -0
  352. data/vendor/erubis/lib/erubis/main.rb +491 -0
  353. data/vendor/erubis/lib/erubis/preprocessing.rb +59 -0
  354. data/vendor/erubis/lib/erubis/tiny.rb +146 -0
  355. data/vendor/erubis/setup.rb +1331 -0
  356. data/vendor/erubis/test/assert-text-equal.rb +45 -0
  357. data/vendor/erubis/test/assert-text-equal.rbc +0 -0
  358. data/vendor/erubis/test/data/users-guide/Example.ejava +55 -0
  359. data/vendor/erubis/test/data/users-guide/array_example.result +9 -0
  360. data/vendor/erubis/test/data/users-guide/arraybuffer_example.result +9 -0
  361. data/vendor/erubis/test/data/users-guide/bipattern-example.rhtml +4 -0
  362. data/vendor/erubis/test/data/users-guide/bipattern_example.result +6 -0
  363. data/vendor/erubis/test/data/users-guide/context.rb +6 -0
  364. data/vendor/erubis/test/data/users-guide/context.yaml +8 -0
  365. data/vendor/erubis/test/data/users-guide/def_method.rb +14 -0
  366. data/vendor/erubis/test/data/users-guide/def_method.result +3 -0
  367. data/vendor/erubis/test/data/users-guide/escape_example.result +9 -0
  368. data/vendor/erubis/test/data/users-guide/example.ec +27 -0
  369. data/vendor/erubis/test/data/users-guide/example.ejs +20 -0
  370. data/vendor/erubis/test/data/users-guide/example.eperl +18 -0
  371. data/vendor/erubis/test/data/users-guide/example.ephp +18 -0
  372. data/vendor/erubis/test/data/users-guide/example.eruby +6 -0
  373. data/vendor/erubis/test/data/users-guide/example.escheme +28 -0
  374. data/vendor/erubis/test/data/users-guide/example1.eruby +6 -0
  375. data/vendor/erubis/test/data/users-guide/example1.rb +17 -0
  376. data/vendor/erubis/test/data/users-guide/example1.result +16 -0
  377. data/vendor/erubis/test/data/users-guide/example10.rb +4 -0
  378. data/vendor/erubis/test/data/users-guide/example10.result +17 -0
  379. data/vendor/erubis/test/data/users-guide/example10.xhtml +14 -0
  380. data/vendor/erubis/test/data/users-guide/example10_x.result +17 -0
  381. data/vendor/erubis/test/data/users-guide/example11.php +20 -0
  382. data/vendor/erubis/test/data/users-guide/example11.result +23 -0
  383. data/vendor/erubis/test/data/users-guide/example11.rhtml +21 -0
  384. data/vendor/erubis/test/data/users-guide/example11_C.result +10 -0
  385. data/vendor/erubis/test/data/users-guide/example11_N.result +16 -0
  386. data/vendor/erubis/test/data/users-guide/example11_U.result +16 -0
  387. data/vendor/erubis/test/data/users-guide/example11_php.result +15 -0
  388. data/vendor/erubis/test/data/users-guide/example1_x.result +9 -0
  389. data/vendor/erubis/test/data/users-guide/example2.eruby +7 -0
  390. data/vendor/erubis/test/data/users-guide/example2.rb +10 -0
  391. data/vendor/erubis/test/data/users-guide/example2.result +27 -0
  392. data/vendor/erubis/test/data/users-guide/example2_trim.result +10 -0
  393. data/vendor/erubis/test/data/users-guide/example2_x.result +10 -0
  394. data/vendor/erubis/test/data/users-guide/example3.eruby +6 -0
  395. data/vendor/erubis/test/data/users-guide/example3.rb +10 -0
  396. data/vendor/erubis/test/data/users-guide/example31.result +22 -0
  397. data/vendor/erubis/test/data/users-guide/example32.result +4 -0
  398. data/vendor/erubis/test/data/users-guide/example3_e.result +8 -0
  399. data/vendor/erubis/test/data/users-guide/example4.eruby +3 -0
  400. data/vendor/erubis/test/data/users-guide/example4.rb +11 -0
  401. data/vendor/erubis/test/data/users-guide/example4.result +10 -0
  402. data/vendor/erubis/test/data/users-guide/example4_x.result +5 -0
  403. data/vendor/erubis/test/data/users-guide/example5.eruby +6 -0
  404. data/vendor/erubis/test/data/users-guide/example5.rb +16 -0
  405. data/vendor/erubis/test/data/users-guide/example5.result +7 -0
  406. data/vendor/erubis/test/data/users-guide/example6.rb +12 -0
  407. data/vendor/erubis/test/data/users-guide/example6.result +7 -0
  408. data/vendor/erubis/test/data/users-guide/example7.eruby +8 -0
  409. data/vendor/erubis/test/data/users-guide/example71.result +13 -0
  410. data/vendor/erubis/test/data/users-guide/example72.result +13 -0
  411. data/vendor/erubis/test/data/users-guide/example8.eruby +6 -0
  412. data/vendor/erubis/test/data/users-guide/example8_ruby.result +7 -0
  413. data/vendor/erubis/test/data/users-guide/example8_yaml.result +7 -0
  414. data/vendor/erubis/test/data/users-guide/example9.eruby +3 -0
  415. data/vendor/erubis/test/data/users-guide/example9.rb +8 -0
  416. data/vendor/erubis/test/data/users-guide/example9.result +9 -0
  417. data/vendor/erubis/test/data/users-guide/example91.result +5 -0
  418. data/vendor/erubis/test/data/users-guide/example92.result +4 -0
  419. data/vendor/erubis/test/data/users-guide/example_c.result +29 -0
  420. data/vendor/erubis/test/data/users-guide/example_java.result +56 -0
  421. data/vendor/erubis/test/data/users-guide/example_js.result +22 -0
  422. data/vendor/erubis/test/data/users-guide/example_perl.result +20 -0
  423. data/vendor/erubis/test/data/users-guide/example_php.result +19 -0
  424. data/vendor/erubis/test/data/users-guide/example_scheme.result +30 -0
  425. data/vendor/erubis/test/data/users-guide/example_scheme_display.result +29 -0
  426. data/vendor/erubis/test/data/users-guide/fasteruby.rb +11 -0
  427. data/vendor/erubis/test/data/users-guide/fasteruby.result +38 -0
  428. data/vendor/erubis/test/data/users-guide/fasteruby.rhtml +15 -0
  429. data/vendor/erubis/test/data/users-guide/headerfooter-example.eruby +9 -0
  430. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rb +8 -0
  431. data/vendor/erubis/test/data/users-guide/headerfooter-example2.rhtml +10 -0
  432. data/vendor/erubis/test/data/users-guide/headerfooter_example.result +11 -0
  433. data/vendor/erubis/test/data/users-guide/headerfooter_example2.result +13 -0
  434. data/vendor/erubis/test/data/users-guide/interpolation_example.result +9 -0
  435. data/vendor/erubis/test/data/users-guide/main_program1.rb +8 -0
  436. data/vendor/erubis/test/data/users-guide/main_program1.result +6 -0
  437. data/vendor/erubis/test/data/users-guide/main_program2.rb +8 -0
  438. data/vendor/erubis/test/data/users-guide/main_program2.result +6 -0
  439. data/vendor/erubis/test/data/users-guide/nocode-example.eruby +14 -0
  440. data/vendor/erubis/test/data/users-guide/nocode-php.result +20 -0
  441. data/vendor/erubis/test/data/users-guide/nocode_example.result +15 -0
  442. data/vendor/erubis/test/data/users-guide/normal-eruby-test.eruby +9 -0
  443. data/vendor/erubis/test/data/users-guide/normal_eruby_test.result +11 -0
  444. data/vendor/erubis/test/data/users-guide/notext-example.eruby +14 -0
  445. data/vendor/erubis/test/data/users-guide/notext-example.php +19 -0
  446. data/vendor/erubis/test/data/users-guide/notext-php.result +20 -0
  447. data/vendor/erubis/test/data/users-guide/notext_example.result +16 -0
  448. data/vendor/erubis/test/data/users-guide/percentline-example.rhtml +4 -0
  449. data/vendor/erubis/test/data/users-guide/percentline_example.result +7 -0
  450. data/vendor/erubis/test/data/users-guide/printenable_example.result +4 -0
  451. data/vendor/erubis/test/data/users-guide/printenabled-example.eruby +3 -0
  452. data/vendor/erubis/test/data/users-guide/printenabled-example.rb +8 -0
  453. data/vendor/erubis/test/data/users-guide/printstatement_example.result +8 -0
  454. data/vendor/erubis/test/data/users-guide/simplify_example.result +9 -0
  455. data/vendor/erubis/test/data/users-guide/stdout_exmple.result +9 -0
  456. data/vendor/erubis/test/data/users-guide/stringbuffer_example.result +9 -0
  457. data/vendor/erubis/test/data/users-guide/tail_260.result +4 -0
  458. data/vendor/erubis/test/data/users-guide/tailnewline.rhtml +3 -0
  459. data/vendor/erubis/test/data/users-guide/template1.rhtml +4 -0
  460. data/vendor/erubis/test/data/users-guide/template2.rhtml +4 -0
  461. data/vendor/erubis/test/hoge.rb +5 -0
  462. data/vendor/erubis/test/test-engines.rb +370 -0
  463. data/vendor/erubis/test/test-engines.rbc +0 -0
  464. data/vendor/erubis/test/test-enhancers.rb +571 -0
  465. data/vendor/erubis/test/test-erubis.rb +884 -0
  466. data/vendor/erubis/test/test-erubis.rbc +0 -0
  467. data/vendor/erubis/test/test-main.rb +674 -0
  468. data/vendor/erubis/test/test-users-guide.rb +58 -0
  469. data/vendor/erubis/test/test-users-guide.rbc +0 -0
  470. data/vendor/erubis/test/test.rb +30 -0
  471. data/vendor/erubis/test/test.rbc +0 -0
  472. data/vendor/erubis/test/testutil.rb +101 -0
  473. data/vendor/erubis/test/testutil.rbc +0 -0
  474. data/vendor/extlib/History.txt +77 -0
  475. data/vendor/extlib/LICENSE +47 -0
  476. data/{spec/rango/helpers/spec/fixture/app/controllers/bound_select_spec.rb → vendor/extlib/README} +0 -0
  477. data/vendor/extlib/Rakefile +133 -0
  478. data/vendor/extlib/benchmarks/camel_case.rb +45 -0
  479. data/vendor/extlib/benchmarks/to_const_path.rb +65 -0
  480. data/vendor/extlib/benchmarks/to_const_string.rb +91 -0
  481. data/vendor/extlib/lib/extlib.rb +50 -0
  482. data/vendor/extlib/lib/extlib/array.rb +36 -0
  483. data/vendor/extlib/lib/extlib/assertions.rb +8 -0
  484. data/vendor/extlib/lib/extlib/blank.rb +89 -0
  485. data/vendor/extlib/lib/extlib/boolean.rb +11 -0
  486. data/vendor/extlib/lib/extlib/byte_array.rb +6 -0
  487. data/vendor/extlib/lib/extlib/class.rb +177 -0
  488. data/vendor/extlib/lib/extlib/datetime.rb +29 -0
  489. data/vendor/extlib/lib/extlib/dictionary.rb +433 -0
  490. data/vendor/extlib/lib/extlib/hash.rb +442 -0
  491. data/vendor/extlib/lib/extlib/hook.rb +401 -0
  492. data/vendor/extlib/lib/extlib/inflection.rb +440 -0
  493. data/vendor/extlib/lib/extlib/lazy_array.rb +451 -0
  494. data/vendor/extlib/lib/extlib/lazy_module.rb +18 -0
  495. data/vendor/extlib/lib/extlib/logger.rb +198 -0
  496. data/vendor/extlib/lib/extlib/mash.rb +155 -0
  497. data/vendor/extlib/lib/extlib/module.rb +47 -0
  498. data/vendor/extlib/lib/extlib/nil.rb +5 -0
  499. data/vendor/extlib/lib/extlib/numeric.rb +5 -0
  500. data/vendor/extlib/lib/extlib/object.rb +175 -0
  501. data/vendor/extlib/lib/extlib/object_space.rb +13 -0
  502. data/vendor/extlib/lib/extlib/pathname.rb +20 -0
  503. data/vendor/extlib/lib/extlib/pooling.rb +235 -0
  504. data/vendor/extlib/lib/extlib/rubygems.rb +38 -0
  505. data/vendor/extlib/lib/extlib/simple_set.rb +66 -0
  506. data/vendor/extlib/lib/extlib/string.rb +176 -0
  507. data/vendor/extlib/lib/extlib/struct.rb +17 -0
  508. data/vendor/extlib/lib/extlib/symbol.rb +21 -0
  509. data/vendor/extlib/lib/extlib/tasks/release.rb +15 -0
  510. data/vendor/extlib/lib/extlib/time.rb +43 -0
  511. data/vendor/extlib/lib/extlib/version.rb +3 -0
  512. data/vendor/extlib/lib/extlib/virtual_file.rb +10 -0
  513. data/vendor/extlib/spec/array_spec.rb +39 -0
  514. data/vendor/extlib/spec/blank_spec.rb +85 -0
  515. data/vendor/extlib/spec/byte_array_spec.rb +7 -0
  516. data/vendor/extlib/spec/class_spec.rb +157 -0
  517. data/vendor/extlib/spec/datetime_spec.rb +22 -0
  518. data/vendor/extlib/spec/hash_spec.rb +537 -0
  519. data/vendor/extlib/spec/hook_spec.rb +1234 -0
  520. data/vendor/extlib/spec/inflection/plural_spec.rb +564 -0
  521. data/vendor/extlib/spec/inflection/singular_spec.rb +497 -0
  522. data/vendor/extlib/spec/inflection_extras_spec.rb +110 -0
  523. data/vendor/extlib/spec/lazy_array_spec.rb +1957 -0
  524. data/vendor/extlib/spec/lazy_module_spec.rb +38 -0
  525. data/vendor/extlib/spec/mash_spec.rb +311 -0
  526. data/vendor/extlib/spec/module_spec.rb +70 -0
  527. data/vendor/extlib/spec/object_space_spec.rb +9 -0
  528. data/vendor/extlib/spec/object_spec.rb +114 -0
  529. data/vendor/extlib/spec/pooling_spec.rb +511 -0
  530. data/vendor/extlib/spec/simple_set_spec.rb +57 -0
  531. data/vendor/extlib/spec/spec.opts +3 -0
  532. data/vendor/extlib/spec/spec_helper.rb +10 -0
  533. data/vendor/extlib/spec/string_spec.rb +221 -0
  534. data/vendor/extlib/spec/struct_spec.rb +12 -0
  535. data/vendor/extlib/spec/symbol_spec.rb +8 -0
  536. data/vendor/extlib/spec/time_spec.rb +29 -0
  537. data/vendor/extlib/spec/try_call_spec.rb +73 -0
  538. data/vendor/extlib/spec/try_dup_spec.rb +45 -0
  539. data/vendor/extlib/spec/virtual_file_spec.rb +21 -0
  540. data/vendor/media-path/CHANGELOG +3 -0
  541. data/vendor/media-path/LICENSE +20 -0
  542. data/vendor/media-path/README.textile +40 -0
  543. data/vendor/media-path/Rakefile +79 -0
  544. data/vendor/media-path/TODO.txt +6 -0
  545. data/vendor/media-path/deps.rip +5 -0
  546. data/vendor/media-path/lib/media-path.rb +269 -0
  547. data/vendor/media-path/media-path.gemspec +38 -0
  548. data/vendor/media-path/script/spec +14 -0
  549. data/vendor/media-path/spec/media-path_spec.rb +158 -0
  550. data/vendor/media-path/spec/spec.opts +5 -0
  551. data/{spec/rango/helpers/spec/fixture/app/controllers/bound_text_area_spec.rb → vendor/media-path/spec/stubs/blog/public/js/moo.js} +0 -0
  552. data/vendor/rack/COPYING +18 -0
  553. data/vendor/rack/KNOWN-ISSUES +18 -0
  554. data/vendor/rack/README +364 -0
  555. data/vendor/rack/Rakefile +163 -0
  556. data/vendor/rack/bin/rackup +2 -0
  557. data/vendor/rack/contrib/rack_logo.svg +111 -0
  558. data/vendor/rack/example/lobster.ru +4 -0
  559. data/vendor/rack/example/protectedlobster.rb +14 -0
  560. data/vendor/rack/example/protectedlobster.ru +8 -0
  561. data/vendor/rack/lib/rack.rb +86 -0
  562. data/vendor/rack/lib/rack/adapter/camping.rb +22 -0
  563. data/vendor/rack/lib/rack/auth/abstract/handler.rb +37 -0
  564. data/vendor/rack/lib/rack/auth/abstract/request.rb +37 -0
  565. data/vendor/rack/lib/rack/auth/basic.rb +58 -0
  566. data/vendor/rack/lib/rack/auth/digest/md5.rb +124 -0
  567. data/vendor/rack/lib/rack/auth/digest/nonce.rb +51 -0
  568. data/vendor/rack/lib/rack/auth/digest/params.rb +55 -0
  569. data/vendor/rack/lib/rack/auth/digest/request.rb +40 -0
  570. data/vendor/rack/lib/rack/builder.rb +78 -0
  571. data/vendor/rack/lib/rack/cascade.rb +41 -0
  572. data/vendor/rack/lib/rack/chunked.rb +49 -0
  573. data/vendor/rack/lib/rack/commonlogger.rb +52 -0
  574. data/vendor/rack/lib/rack/conditionalget.rb +47 -0
  575. data/vendor/rack/lib/rack/content_length.rb +29 -0
  576. data/vendor/rack/lib/rack/content_type.rb +23 -0
  577. data/vendor/rack/lib/rack/deflater.rb +96 -0
  578. data/vendor/rack/lib/rack/directory.rb +153 -0
  579. data/vendor/rack/lib/rack/file.rb +88 -0
  580. data/vendor/rack/lib/rack/handler.rb +88 -0
  581. data/vendor/rack/lib/rack/handler/cgi.rb +61 -0
  582. data/vendor/rack/lib/rack/handler/evented_mongrel.rb +8 -0
  583. data/vendor/rack/lib/rack/handler/fastcgi.rb +90 -0
  584. data/vendor/rack/lib/rack/handler/lsws.rb +63 -0
  585. data/vendor/rack/lib/rack/handler/mongrel.rb +91 -0
  586. data/vendor/rack/lib/rack/handler/scgi.rb +62 -0
  587. data/vendor/rack/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
  588. data/vendor/rack/lib/rack/handler/thin.rb +18 -0
  589. data/vendor/rack/lib/rack/handler/webrick.rb +71 -0
  590. data/vendor/rack/lib/rack/head.rb +19 -0
  591. data/vendor/rack/lib/rack/lint.rb +546 -0
  592. data/vendor/rack/lib/rack/lobster.rb +65 -0
  593. data/vendor/rack/lib/rack/lock.rb +16 -0
  594. data/vendor/rack/lib/rack/methodoverride.rb +27 -0
  595. data/vendor/rack/lib/rack/mime.rb +205 -0
  596. data/vendor/rack/lib/rack/mock.rb +189 -0
  597. data/vendor/rack/lib/rack/recursive.rb +57 -0
  598. data/vendor/rack/lib/rack/reloader.rb +109 -0
  599. data/vendor/rack/lib/rack/request.rb +248 -0
  600. data/vendor/rack/lib/rack/response.rb +149 -0
  601. data/vendor/rack/lib/rack/rewindable_input.rb +100 -0
  602. data/vendor/rack/lib/rack/server.rb +189 -0
  603. data/vendor/rack/lib/rack/session/abstract/id.rb +140 -0
  604. data/vendor/rack/lib/rack/session/cookie.rb +90 -0
  605. data/vendor/rack/lib/rack/session/memcache.rb +109 -0
  606. data/vendor/rack/lib/rack/session/pool.rb +100 -0
  607. data/vendor/rack/lib/rack/showexceptions.rb +349 -0
  608. data/vendor/rack/lib/rack/showstatus.rb +106 -0
  609. data/vendor/rack/lib/rack/static.rb +38 -0
  610. data/vendor/rack/lib/rack/urlmap.rb +55 -0
  611. data/vendor/rack/lib/rack/utils.rb +590 -0
  612. data/vendor/rack/test/cgi/lighttpd.conf +20 -0
  613. data/vendor/rack/test/cgi/test +9 -0
  614. data/vendor/rack/test/cgi/test.fcgi +8 -0
  615. data/vendor/rack/test/cgi/test.ru +6 -0
  616. data/vendor/rack/test/multipart/binary +0 -0
  617. data/vendor/rack/test/multipart/empty +10 -0
  618. data/vendor/rack/test/multipart/file1.txt +1 -0
  619. data/vendor/rack/test/multipart/ie +6 -0
  620. data/vendor/rack/test/multipart/nested +10 -0
  621. data/vendor/rack/test/multipart/none +9 -0
  622. data/vendor/rack/test/multipart/semicolon +6 -0
  623. data/vendor/rack/test/multipart/text +10 -0
  624. data/vendor/rack/test/rackup/config.ru +31 -0
  625. data/vendor/rack/test/spec_rack_auth_basic.rb +73 -0
  626. data/vendor/rack/test/spec_rack_auth_digest.rb +226 -0
  627. data/vendor/rack/test/spec_rack_builder.rb +84 -0
  628. data/vendor/rack/test/spec_rack_camping.rb +51 -0
  629. data/vendor/rack/test/spec_rack_cascade.rb +48 -0
  630. data/vendor/rack/test/spec_rack_cgi.rb +89 -0
  631. data/vendor/rack/test/spec_rack_chunked.rb +62 -0
  632. data/vendor/rack/test/spec_rack_commonlogger.rb +61 -0
  633. data/vendor/rack/test/spec_rack_conditionalget.rb +41 -0
  634. data/vendor/rack/test/spec_rack_content_length.rb +43 -0
  635. data/vendor/rack/test/spec_rack_content_type.rb +30 -0
  636. data/vendor/rack/test/spec_rack_deflater.rb +127 -0
  637. data/vendor/rack/test/spec_rack_directory.rb +61 -0
  638. data/vendor/rack/test/spec_rack_fastcgi.rb +89 -0
  639. data/vendor/rack/test/spec_rack_file.rb +75 -0
  640. data/vendor/rack/test/spec_rack_handler.rb +43 -0
  641. data/vendor/rack/test/spec_rack_head.rb +30 -0
  642. data/vendor/rack/test/spec_rack_lint.rb +523 -0
  643. data/vendor/rack/test/spec_rack_lobster.rb +45 -0
  644. data/vendor/rack/test/spec_rack_lock.rb +38 -0
  645. data/vendor/rack/test/spec_rack_methodoverride.rb +60 -0
  646. data/vendor/rack/test/spec_rack_mock.rb +243 -0
  647. data/vendor/rack/test/spec_rack_mongrel.rb +189 -0
  648. data/vendor/rack/test/spec_rack_recursive.rb +77 -0
  649. data/vendor/rack/test/spec_rack_request.rb +510 -0
  650. data/vendor/rack/test/spec_rack_response.rb +218 -0
  651. data/vendor/rack/test/spec_rack_rewindable_input.rb +118 -0
  652. data/vendor/rack/test/spec_rack_session_cookie.rb +82 -0
  653. data/vendor/rack/test/spec_rack_session_memcache.rb +250 -0
  654. data/vendor/rack/test/spec_rack_session_pool.rb +172 -0
  655. data/vendor/rack/test/spec_rack_showexceptions.rb +21 -0
  656. data/vendor/rack/test/spec_rack_showstatus.rb +72 -0
  657. data/vendor/rack/test/spec_rack_static.rb +37 -0
  658. data/vendor/rack/test/spec_rack_thin.rb +91 -0
  659. data/vendor/rack/test/spec_rack_urlmap.rb +185 -0
  660. data/vendor/rack/test/spec_rack_utils.rb +488 -0
  661. data/vendor/rack/test/spec_rack_webrick.rb +130 -0
  662. data/vendor/rack/test/spec_rackup.rb +154 -0
  663. data/vendor/rack/test/testrequest.rb +72 -0
  664. data/vendor/rack/test/unregistered_handler/rack/handler/unregistered.rb +7 -0
  665. data/vendor/rack/test/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
  666. data/vendor/rspec/History.rdoc +1510 -0
  667. data/vendor/rspec/License.txt +22 -0
  668. data/vendor/rspec/Manifest.txt +383 -0
  669. data/vendor/rspec/README.rdoc +55 -0
  670. data/vendor/rspec/Rakefile +145 -0
  671. data/vendor/rspec/Ruby1.9.rdoc +31 -0
  672. data/vendor/rspec/TODO.txt +17 -0
  673. data/vendor/rspec/Upgrade.rdoc +199 -0
  674. data/vendor/rspec/bin/autospec +4 -0
  675. data/vendor/rspec/bin/spec +5 -0
  676. data/vendor/rspec/cucumber.yml +5 -0
  677. data/vendor/rspec/examples/failing/README.txt +11 -0
  678. data/vendor/rspec/examples/failing/diffing_spec.rb +36 -0
  679. data/vendor/rspec/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  680. data/vendor/rspec/examples/failing/failure_in_after.rb +10 -0
  681. data/vendor/rspec/examples/failing/failure_in_before.rb +10 -0
  682. data/vendor/rspec/examples/failing/mocking_example.rb +38 -0
  683. data/vendor/rspec/examples/failing/mocking_with_flexmock.rb +26 -0
  684. data/vendor/rspec/examples/failing/mocking_with_mocha.rb +25 -0
  685. data/vendor/rspec/examples/failing/mocking_with_rr.rb +27 -0
  686. data/vendor/rspec/examples/failing/partial_mock_example.rb +18 -0
  687. data/vendor/rspec/examples/failing/pending_example.rb +7 -0
  688. data/vendor/rspec/examples/failing/predicate_example.rb +32 -0
  689. data/vendor/rspec/examples/failing/raising_example.rb +47 -0
  690. data/vendor/rspec/examples/failing/syntax_error_example.rb +7 -0
  691. data/vendor/rspec/examples/failing/team_spec.rb +41 -0
  692. data/vendor/rspec/examples/failing/timeout_behaviour.rb +5 -0
  693. data/vendor/rspec/examples/passing/custom_formatter.rb +11 -0
  694. data/vendor/rspec/examples/passing/custom_matchers.rb +54 -0
  695. data/vendor/rspec/examples/passing/dynamic_spec.rb +7 -0
  696. data/vendor/rspec/examples/passing/file_accessor.rb +18 -0
  697. data/vendor/rspec/examples/passing/file_accessor_spec.rb +37 -0
  698. data/vendor/rspec/examples/passing/filtered_formatter.rb +17 -0
  699. data/vendor/rspec/examples/passing/filtered_formatter_example.rb +31 -0
  700. data/vendor/rspec/examples/passing/greeter_spec.rb +30 -0
  701. data/vendor/rspec/examples/passing/helper_method_example.rb +12 -0
  702. data/vendor/rspec/examples/passing/implicit_docstrings_example.rb +16 -0
  703. data/vendor/rspec/examples/passing/io_processor.rb +8 -0
  704. data/vendor/rspec/examples/passing/io_processor_spec.rb +20 -0
  705. data/vendor/rspec/examples/passing/mocking_example.rb +25 -0
  706. data/vendor/rspec/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  707. data/vendor/rspec/examples/passing/nested_classes_example.rb +35 -0
  708. data/vendor/rspec/examples/passing/options_example.rb +29 -0
  709. data/vendor/rspec/examples/passing/options_formatter.rb +20 -0
  710. data/vendor/rspec/examples/passing/partial_mock_example.rb +27 -0
  711. data/vendor/rspec/examples/passing/pending_example.rb +18 -0
  712. data/vendor/rspec/examples/passing/predicate_example.rb +25 -0
  713. data/vendor/rspec/examples/passing/shared_example_group_example.rb +79 -0
  714. data/vendor/rspec/examples/passing/shared_stack_examples.rb +36 -0
  715. data/vendor/rspec/examples/passing/simple_matcher_example.rb +29 -0
  716. data/vendor/rspec/examples/passing/stack.rb +36 -0
  717. data/vendor/rspec/examples/passing/stack_spec.rb +63 -0
  718. data/vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  719. data/vendor/rspec/examples/passing/stubbing_example.rb +67 -0
  720. data/vendor/rspec/examples/passing/yielding_example.rb +31 -0
  721. data/vendor/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  722. data/vendor/rspec/features-pending/cli/conditional_exclusion.feature +39 -0
  723. data/vendor/rspec/features-pending/heckle/heckle.feature +56 -0
  724. data/vendor/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  725. data/vendor/rspec/features/command_line/line_number_option.feature +56 -0
  726. data/vendor/rspec/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  727. data/vendor/rspec/features/example_groups/define_example_attribute.feature +41 -0
  728. data/vendor/rspec/features/example_groups/example_group_with_should_methods.feature +29 -0
  729. data/vendor/rspec/features/example_groups/implicit_docstrings.feature +59 -0
  730. data/vendor/rspec/features/example_groups/nested_groups.feature +32 -0
  731. data/vendor/rspec/features/expectations/customized_message.feature +54 -0
  732. data/vendor/rspec/features/expectations/expect_change.feature +65 -0
  733. data/vendor/rspec/features/expectations/expect_error.feature +44 -0
  734. data/vendor/rspec/features/extensions/custom_example_group.feature +19 -0
  735. data/vendor/rspec/features/formatters/custom_formatter.feature +30 -0
  736. data/vendor/rspec/features/interop/examples_and_tests_together.feature +84 -0
  737. data/vendor/rspec/features/interop/rspec_output.feature +25 -0
  738. data/vendor/rspec/features/interop/test_but_not_test_unit.feature +26 -0
  739. data/vendor/rspec/features/interop/test_case_with_should_methods.feature +46 -0
  740. data/vendor/rspec/features/load_paths/add_lib_to_load_path.feature +20 -0
  741. data/vendor/rspec/features/load_paths/add_spec_to_load_path.feature +20 -0
  742. data/vendor/rspec/features/matchers/define_diffable_matcher.feature +26 -0
  743. data/vendor/rspec/features/matchers/define_matcher.feature +179 -0
  744. data/vendor/rspec/features/matchers/define_matcher_outside_rspec.feature +38 -0
  745. data/vendor/rspec/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  746. data/vendor/rspec/features/matchers/define_wrapped_matcher.feature +29 -0
  747. data/vendor/rspec/features/matchers/match_unless_raises.feature +60 -0
  748. data/vendor/rspec/features/matchers/match_unless_raises_unexpected_error.feature +39 -0
  749. data/vendor/rspec/features/mock_framework_integration/use_flexmock.feature +27 -0
  750. data/vendor/rspec/features/mock_framework_integration/use_mocha.feature +27 -0
  751. data/vendor/rspec/features/mock_framework_integration/use_rr.feature +27 -0
  752. data/vendor/rspec/features/mocks/block_local_expectations.feature +62 -0
  753. data/vendor/rspec/features/mocks/mix_stubs_and_mocks.feature +22 -0
  754. data/vendor/rspec/features/mocks/stub_implementation.feature +26 -0
  755. data/vendor/rspec/features/pending/pending_examples.feature +81 -0
  756. data/vendor/rspec/features/runner/specify_line_number.feature +32 -0
  757. data/vendor/rspec/features/spec_helper/spec_helper.feature +25 -0
  758. data/vendor/rspec/features/step_definitions/running_rspec_steps.rb +43 -0
  759. data/vendor/rspec/features/subject/explicit_subject.feature +31 -0
  760. data/vendor/rspec/features/subject/implicit_subject.feature +43 -0
  761. data/vendor/rspec/features/support/env.rb +82 -0
  762. data/vendor/rspec/features/support/matchers/smart_match.rb +12 -0
  763. data/vendor/rspec/geminstaller.yml +28 -0
  764. data/vendor/rspec/init.rb +9 -0
  765. data/vendor/rspec/lib/autotest/discover.rb +3 -0
  766. data/vendor/rspec/lib/autotest/rspec.rb +54 -0
  767. data/vendor/rspec/lib/spec.rb +8 -0
  768. data/vendor/rspec/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  769. data/vendor/rspec/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  770. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  771. data/vendor/rspec/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  772. data/vendor/rspec/lib/spec/autorun.rb +3 -0
  773. data/vendor/rspec/lib/spec/deprecation.rb +40 -0
  774. data/vendor/rspec/lib/spec/dsl.rb +1 -0
  775. data/vendor/rspec/lib/spec/dsl/main.rb +92 -0
  776. data/vendor/rspec/lib/spec/example.rb +164 -0
  777. data/vendor/rspec/lib/spec/example/args_and_options.rb +27 -0
  778. data/vendor/rspec/lib/spec/example/before_and_after_hooks.rb +93 -0
  779. data/vendor/rspec/lib/spec/example/errors.rb +25 -0
  780. data/vendor/rspec/lib/spec/example/example_group.rb +10 -0
  781. data/vendor/rspec/lib/spec/example/example_group_factory.rb +82 -0
  782. data/vendor/rspec/lib/spec/example/example_group_hierarchy.rb +53 -0
  783. data/vendor/rspec/lib/spec/example/example_group_methods.rb +282 -0
  784. data/vendor/rspec/lib/spec/example/example_group_proxy.rb +61 -0
  785. data/vendor/rspec/lib/spec/example/example_matcher.rb +43 -0
  786. data/vendor/rspec/lib/spec/example/example_methods.rb +152 -0
  787. data/vendor/rspec/lib/spec/example/example_proxy.rb +41 -0
  788. data/vendor/rspec/lib/spec/example/module_reopening_fix.rb +43 -0
  789. data/vendor/rspec/lib/spec/example/pending.rb +18 -0
  790. data/vendor/rspec/lib/spec/example/predicate_matchers.rb +46 -0
  791. data/vendor/rspec/lib/spec/example/shared_example_group.rb +59 -0
  792. data/vendor/rspec/lib/spec/example/subject.rb +108 -0
  793. data/vendor/rspec/lib/spec/expectations.rb +35 -0
  794. data/vendor/rspec/lib/spec/expectations/errors.rb +12 -0
  795. data/vendor/rspec/lib/spec/expectations/extensions.rb +1 -0
  796. data/vendor/rspec/lib/spec/expectations/extensions/kernel.rb +52 -0
  797. data/vendor/rspec/lib/spec/expectations/fail_with.rb +45 -0
  798. data/vendor/rspec/lib/spec/expectations/handler.rb +50 -0
  799. data/vendor/rspec/lib/spec/extensions/instance_exec.rb +31 -0
  800. data/vendor/rspec/lib/spec/interop/test.rb +44 -0
  801. data/vendor/rspec/lib/spec/interop/test/unit/autorunner.rb +6 -0
  802. data/vendor/rspec/lib/spec/interop/test/unit/testcase.rb +56 -0
  803. data/vendor/rspec/lib/spec/interop/test/unit/testresult.rb +6 -0
  804. data/vendor/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  805. data/vendor/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  806. data/vendor/rspec/lib/spec/matchers.rb +195 -0
  807. data/vendor/rspec/lib/spec/matchers/be.rb +211 -0
  808. data/vendor/rspec/lib/spec/matchers/be_close.rb +32 -0
  809. data/vendor/rspec/lib/spec/matchers/be_instance_of.rb +26 -0
  810. data/vendor/rspec/lib/spec/matchers/be_kind_of.rb +26 -0
  811. data/vendor/rspec/lib/spec/matchers/change.rb +151 -0
  812. data/vendor/rspec/lib/spec/matchers/compatibility.rb +14 -0
  813. data/vendor/rspec/lib/spec/matchers/dsl.rb +20 -0
  814. data/vendor/rspec/lib/spec/matchers/eql.rb +42 -0
  815. data/vendor/rspec/lib/spec/matchers/equal.rb +53 -0
  816. data/vendor/rspec/lib/spec/matchers/errors.rb +5 -0
  817. data/vendor/rspec/lib/spec/matchers/exist.rb +16 -0
  818. data/vendor/rspec/lib/spec/matchers/generated_descriptions.rb +36 -0
  819. data/vendor/rspec/lib/spec/matchers/has.rb +35 -0
  820. data/vendor/rspec/lib/spec/matchers/have.rb +152 -0
  821. data/vendor/rspec/lib/spec/matchers/include.rb +44 -0
  822. data/vendor/rspec/lib/spec/matchers/match.rb +21 -0
  823. data/vendor/rspec/lib/spec/matchers/match_array.rb +71 -0
  824. data/vendor/rspec/lib/spec/matchers/matcher.rb +102 -0
  825. data/vendor/rspec/lib/spec/matchers/method_missing.rb +9 -0
  826. data/vendor/rspec/lib/spec/matchers/operator_matcher.rb +78 -0
  827. data/vendor/rspec/lib/spec/matchers/pretty.rb +37 -0
  828. data/vendor/rspec/lib/spec/matchers/raise_error.rb +129 -0
  829. data/vendor/rspec/lib/spec/matchers/respond_to.rb +71 -0
  830. data/vendor/rspec/lib/spec/matchers/satisfy.rb +47 -0
  831. data/vendor/rspec/lib/spec/matchers/simple_matcher.rb +133 -0
  832. data/vendor/rspec/lib/spec/matchers/throw_symbol.rb +104 -0
  833. data/vendor/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
  834. data/vendor/rspec/lib/spec/mocks.rb +200 -0
  835. data/vendor/rspec/lib/spec/mocks/argument_expectation.rb +51 -0
  836. data/vendor/rspec/lib/spec/mocks/argument_matchers.rb +237 -0
  837. data/vendor/rspec/lib/spec/mocks/error_generator.rb +92 -0
  838. data/vendor/rspec/lib/spec/mocks/errors.rb +10 -0
  839. data/vendor/rspec/lib/spec/mocks/example_methods.rb +69 -0
  840. data/vendor/rspec/lib/spec/mocks/extensions.rb +1 -0
  841. data/vendor/rspec/lib/spec/mocks/extensions/object.rb +3 -0
  842. data/vendor/rspec/lib/spec/mocks/framework.rb +15 -0
  843. data/vendor/rspec/lib/spec/mocks/message_expectation.rb +343 -0
  844. data/vendor/rspec/lib/spec/mocks/methods.rb +89 -0
  845. data/vendor/rspec/lib/spec/mocks/mock.rb +71 -0
  846. data/vendor/rspec/lib/spec/mocks/order_group.rb +29 -0
  847. data/vendor/rspec/lib/spec/mocks/proxy.rb +245 -0
  848. data/vendor/rspec/lib/spec/mocks/space.rb +28 -0
  849. data/vendor/rspec/lib/spec/rake/spectask.rb +230 -0
  850. data/vendor/rspec/lib/spec/rake/verify_rcov.rb +52 -0
  851. data/vendor/rspec/lib/spec/ruby.rb +9 -0
  852. data/vendor/rspec/lib/spec/runner.rb +66 -0
  853. data/vendor/rspec/lib/spec/runner/backtrace_tweaker.rb +77 -0
  854. data/vendor/rspec/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  855. data/vendor/rspec/lib/spec/runner/command_line.rb +15 -0
  856. data/vendor/rspec/lib/spec/runner/configuration.rb +194 -0
  857. data/vendor/rspec/lib/spec/runner/differs/default.rb +93 -0
  858. data/vendor/rspec/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  859. data/vendor/rspec/lib/spec/runner/drb_command_line.rb +26 -0
  860. data/vendor/rspec/lib/spec/runner/example_group_runner.rb +58 -0
  861. data/vendor/rspec/lib/spec/runner/extensions/kernel.rb +9 -0
  862. data/vendor/rspec/lib/spec/runner/formatter/base_formatter.rb +139 -0
  863. data/vendor/rspec/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  864. data/vendor/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  865. data/vendor/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  866. data/vendor/rspec/lib/spec/runner/formatter/html_formatter.rb +338 -0
  867. data/vendor/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  868. data/vendor/rspec/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  869. data/vendor/rspec/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  870. data/vendor/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  871. data/vendor/rspec/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  872. data/vendor/rspec/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  873. data/vendor/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  874. data/vendor/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  875. data/vendor/rspec/lib/spec/runner/heckle_runner.rb +72 -0
  876. data/vendor/rspec/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  877. data/vendor/rspec/lib/spec/runner/line_number_query.rb +78 -0
  878. data/vendor/rspec/lib/spec/runner/option_parser.rb +223 -0
  879. data/vendor/rspec/lib/spec/runner/options.rb +400 -0
  880. data/vendor/rspec/lib/spec/runner/reporter.rb +171 -0
  881. data/vendor/rspec/lib/spec/stubs/cucumber.rb +5 -0
  882. data/vendor/rspec/lib/spec/test/unit.rb +10 -0
  883. data/vendor/rspec/lib/spec/version.rb +14 -0
  884. data/vendor/rspec/resources/helpers/cmdline.rb +8 -0
  885. data/vendor/rspec/resources/rake/examples.rake +7 -0
  886. data/vendor/rspec/resources/rake/examples_with_rcov.rake +9 -0
  887. data/vendor/rspec/resources/rake/failing_examples_with_html.rake +9 -0
  888. data/vendor/rspec/resources/rake/verify_rcov.rake +7 -0
  889. data/vendor/rspec/spec/README.jruby +15 -0
  890. data/vendor/rspec/spec/autotest/autotest_helper.rb +8 -0
  891. data/vendor/rspec/spec/autotest/autotest_matchers.rb +38 -0
  892. data/vendor/rspec/spec/autotest/discover_spec.rb +8 -0
  893. data/vendor/rspec/spec/autotest/failed_results_re_spec.rb +31 -0
  894. data/vendor/rspec/spec/autotest/rspec_spec.rb +126 -0
  895. data/vendor/rspec/spec/ruby_forker.rb +13 -0
  896. data/vendor/rspec/spec/spec.opts +6 -0
  897. data/vendor/rspec/spec/spec/dsl/main_spec.rb +95 -0
  898. data/vendor/rspec/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  899. data/vendor/rspec/spec/spec/example/example_group_factory_spec.rb +180 -0
  900. data/vendor/rspec/spec/spec/example/example_group_methods_spec.rb +759 -0
  901. data/vendor/rspec/spec/spec/example/example_group_proxy_spec.rb +107 -0
  902. data/vendor/rspec/spec/spec/example/example_group_spec.rb +643 -0
  903. data/vendor/rspec/spec/spec/example/example_matcher_spec.rb +86 -0
  904. data/vendor/rspec/spec/spec/example/example_methods_spec.rb +162 -0
  905. data/vendor/rspec/spec/spec/example/example_proxy_spec.rb +57 -0
  906. data/vendor/rspec/spec/spec/example/helper_method_spec.rb +24 -0
  907. data/vendor/rspec/spec/spec/example/nested_example_group_spec.rb +71 -0
  908. data/vendor/rspec/spec/spec/example/pending_module_spec.rb +58 -0
  909. data/vendor/rspec/spec/spec/example/predicate_matcher_spec.rb +41 -0
  910. data/vendor/rspec/spec/spec/example/shared_example_group_spec.rb +257 -0
  911. data/vendor/rspec/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  912. data/vendor/rspec/spec/spec/example/subject_spec.rb +103 -0
  913. data/vendor/rspec/spec/spec/expectations/differs/default_spec.rb +194 -0
  914. data/vendor/rspec/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  915. data/vendor/rspec/spec/spec/expectations/fail_with_spec.rb +96 -0
  916. data/vendor/rspec/spec/spec/expectations/handler_spec.rb +206 -0
  917. data/vendor/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  918. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  919. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  920. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  921. data/vendor/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  922. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  923. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  924. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  925. data/vendor/rspec/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  926. data/vendor/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  927. data/vendor/rspec/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  928. data/vendor/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  929. data/vendor/rspec/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  930. data/vendor/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  931. data/vendor/rspec/spec/spec/matchers/be_close_spec.rb +50 -0
  932. data/vendor/rspec/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  933. data/vendor/rspec/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  934. data/vendor/rspec/spec/spec/matchers/be_spec.rb +419 -0
  935. data/vendor/rspec/spec/spec/matchers/change_spec.rb +349 -0
  936. data/vendor/rspec/spec/spec/matchers/compatibility_spec.rb +28 -0
  937. data/vendor/rspec/spec/spec/matchers/description_generation_spec.rb +160 -0
  938. data/vendor/rspec/spec/spec/matchers/dsl_spec.rb +34 -0
  939. data/vendor/rspec/spec/spec/matchers/eql_spec.rb +33 -0
  940. data/vendor/rspec/spec/spec/matchers/equal_spec.rb +57 -0
  941. data/vendor/rspec/spec/spec/matchers/exist_spec.rb +65 -0
  942. data/vendor/rspec/spec/spec/matchers/has_spec.rb +190 -0
  943. data/vendor/rspec/spec/spec/matchers/have_spec.rb +396 -0
  944. data/vendor/rspec/spec/spec/matchers/include_spec.rb +88 -0
  945. data/vendor/rspec/spec/spec/matchers/match_array_spec.rb +108 -0
  946. data/vendor/rspec/spec/spec/matchers/match_spec.rb +57 -0
  947. data/vendor/rspec/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  948. data/vendor/rspec/spec/spec/matchers/matcher_spec.rb +273 -0
  949. data/vendor/rspec/spec/spec/matchers/matchers_spec.rb +2 -0
  950. data/vendor/rspec/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  951. data/vendor/rspec/spec/spec/matchers/raise_error_spec.rb +333 -0
  952. data/vendor/rspec/spec/spec/matchers/respond_to_spec.rb +116 -0
  953. data/vendor/rspec/spec/spec/matchers/satisfy_spec.rb +36 -0
  954. data/vendor/rspec/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  955. data/vendor/rspec/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  956. data/vendor/rspec/spec/spec/mocks/and_yield_spec.rb +117 -0
  957. data/vendor/rspec/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  958. data/vendor/rspec/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  959. data/vendor/rspec/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  960. data/vendor/rspec/spec/spec/mocks/at_least_spec.rb +97 -0
  961. data/vendor/rspec/spec/spec/mocks/at_most_spec.rb +93 -0
  962. data/vendor/rspec/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  963. data/vendor/rspec/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  964. data/vendor/rspec/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  965. data/vendor/rspec/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  966. data/vendor/rspec/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  967. data/vendor/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  968. data/vendor/rspec/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  969. data/vendor/rspec/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  970. data/vendor/rspec/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  971. data/vendor/rspec/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  972. data/vendor/rspec/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  973. data/vendor/rspec/spec/spec/mocks/double_spec.rb +12 -0
  974. data/vendor/rspec/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  975. data/vendor/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  976. data/vendor/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  977. data/vendor/rspec/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  978. data/vendor/rspec/spec/spec/mocks/mock_space_spec.rb +54 -0
  979. data/vendor/rspec/spec/spec/mocks/mock_spec.rb +594 -0
  980. data/vendor/rspec/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  981. data/vendor/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  982. data/vendor/rspec/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  983. data/vendor/rspec/spec/spec/mocks/once_counts_spec.rb +53 -0
  984. data/vendor/rspec/spec/spec/mocks/options_hash_spec.rb +35 -0
  985. data/vendor/rspec/spec/spec/mocks/partial_mock_spec.rb +164 -0
  986. data/vendor/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  987. data/vendor/rspec/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  988. data/vendor/rspec/spec/spec/mocks/precise_counts_spec.rb +52 -0
  989. data/vendor/rspec/spec/spec/mocks/record_messages_spec.rb +26 -0
  990. data/vendor/rspec/spec/spec/mocks/stub_chain_spec.rb +42 -0
  991. data/vendor/rspec/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  992. data/vendor/rspec/spec/spec/mocks/stub_spec.rb +203 -0
  993. data/vendor/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  994. data/vendor/rspec/spec/spec/mocks/twice_counts_spec.rb +67 -0
  995. data/vendor/rspec/spec/spec/mocks/unstub_spec.rb +127 -0
  996. data/vendor/rspec/spec/spec/package/bin_spec_spec.rb +16 -0
  997. data/vendor/rspec/spec/spec/rake/spectask_spec.rb +150 -0
  998. data/vendor/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  999. data/vendor/rspec/spec/spec/runner/command_line_spec.rb +162 -0
  1000. data/vendor/rspec/spec/spec/runner/configuration_spec.rb +320 -0
  1001. data/vendor/rspec/spec/spec/runner/drb_command_line_spec.rb +107 -0
  1002. data/{spec/rango/helpers/spec/fixture/app/controllers/bound_text_field_spec.rb → vendor/rspec/spec/spec/runner/empty_file.txt} +0 -0
  1003. data/vendor/rspec/spec/spec/runner/example_group_runner_spec.rb +26 -0
  1004. data/vendor/rspec/spec/spec/runner/examples.txt +2 -0
  1005. data/vendor/rspec/spec/spec/runner/failed.txt +3 -0
  1006. data/vendor/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  1007. data/vendor/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  1008. data/vendor/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  1009. data/vendor/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  1010. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  1011. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  1012. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  1013. data/vendor/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  1014. data/vendor/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  1015. data/vendor/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  1016. data/vendor/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  1017. data/vendor/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  1018. data/vendor/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  1019. data/vendor/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  1020. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  1021. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  1022. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  1023. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  1024. data/vendor/rspec/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  1025. data/vendor/rspec/spec/spec/runner/heckle_runner_spec.rb +78 -0
  1026. data/vendor/rspec/spec/spec/runner/heckler_spec.rb +20 -0
  1027. data/vendor/rspec/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  1028. data/vendor/rspec/spec/spec/runner/line_number_query_spec.rb +129 -0
  1029. data/vendor/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  1030. data/vendor/rspec/spec/spec/runner/option_parser_spec.rb +545 -0
  1031. data/vendor/rspec/spec/spec/runner/options_spec.rb +547 -0
  1032. data/vendor/rspec/spec/spec/runner/output_one_time_fixture.rb +7 -0
  1033. data/vendor/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  1034. data/vendor/rspec/spec/spec/runner/output_one_time_spec.rb +15 -0
  1035. data/vendor/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +123 -0
  1036. data/vendor/rspec/spec/spec/runner/reporter_spec.rb +244 -0
  1037. data/{spec/rango/helpers/spec/fixture/app/controllers/button_spec.rb → vendor/rspec/spec/spec/runner/resources/a_bar.rb} +0 -0
  1038. data/{spec/rango/helpers/spec/fixture/app/controllers/check_box_spec.rb → vendor/rspec/spec/spec/runner/resources/a_foo.rb} +0 -0
  1039. data/vendor/rspec/spec/spec/runner/resources/a_spec.rb +1 -0
  1040. data/vendor/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  1041. data/vendor/rspec/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  1042. data/vendor/rspec/spec/spec/runner/spec.opts +2 -0
  1043. data/vendor/rspec/spec/spec/runner/spec_drb.opts +2 -0
  1044. data/vendor/rspec/spec/spec/runner/spec_spaced.opts +2 -0
  1045. data/vendor/rspec/spec/spec/runner_spec.rb +13 -0
  1046. data/vendor/rspec/spec/spec_helper.rb +112 -0
  1047. data/vendor/rspec/spec/support/macros.rb +29 -0
  1048. data/vendor/rspec/spec/support/spec_classes.rb +133 -0
  1049. data/vendor/rubyexts/CHANGELOG +2 -0
  1050. data/vendor/rubyexts/LICENSE +20 -0
  1051. data/{spec/rango/helpers/spec/fixture/app/controllers/custom_builder_spec.rb → vendor/rubyexts/README.textile} +0 -0
  1052. data/vendor/rubyexts/Rakefile +79 -0
  1053. data/vendor/rubyexts/TODO.txt +6 -0
  1054. data/vendor/rubyexts/lib/rubyexts.rb +102 -0
  1055. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/array.rb +0 -0
  1056. data/vendor/rubyexts/lib/rubyexts/attribute.rb +151 -0
  1057. data/vendor/rubyexts/lib/rubyexts/capture_io.rb +32 -0
  1058. data/vendor/rubyexts/lib/rubyexts/class.rb +177 -0
  1059. data/vendor/rubyexts/lib/rubyexts/colored_string.rb +103 -0
  1060. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/enumerable.rb +0 -0
  1061. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/file.rb +0 -0
  1062. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/hash.rb +0 -0
  1063. data/vendor/rubyexts/lib/rubyexts/kernel.rb +91 -0
  1064. data/vendor/rubyexts/lib/rubyexts/module.rb +53 -0
  1065. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/object.rb +0 -0
  1066. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/object_space.rb +0 -0
  1067. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/os.rb +0 -0
  1068. data/vendor/rubyexts/lib/rubyexts/platform.rb +27 -0
  1069. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/random.rb +0 -0
  1070. data/vendor/rubyexts/lib/rubyexts/string.rb +92 -0
  1071. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/time.rb +0 -0
  1072. data/{lib/rango/ext → vendor/rubyexts/lib/rubyexts}/time_dsl.rb +0 -0
  1073. data/vendor/rubyexts/lib/rubyexts/try_dup.rb +43 -0
  1074. data/vendor/rubyexts/lib/rubyexts/unique_array.rb +16 -0
  1075. data/vendor/rubyexts/rubyexts.gemspec +36 -0
  1076. data/vendor/rubyexts/script/spec +12 -0
  1077. data/vendor/rubyexts/spec/rubyexts/array_spec.rb +19 -0
  1078. data/vendor/rubyexts/spec/rubyexts/attribute_spec.rb +37 -0
  1079. data/vendor/rubyexts/spec/rubyexts/class_spec.rb +1 -0
  1080. data/{spec/rango/helpers/spec/fixture/app/controllers/delete_button_spec.rb → vendor/rubyexts/spec/rubyexts/cli_spec.rb} +0 -0
  1081. data/vendor/rubyexts/spec/rubyexts/colored_string_spec.rb +9 -0
  1082. data/vendor/rubyexts/spec/rubyexts/enumerable_spec.rb +52 -0
  1083. data/vendor/rubyexts/spec/rubyexts/file_spec.rb +78 -0
  1084. data/vendor/rubyexts/spec/rubyexts/hash_spec.rb +91 -0
  1085. data/vendor/rubyexts/spec/rubyexts/kernel_spec.rb +9 -0
  1086. data/{spec/rango/helpers/spec/fixture/app/controllers/exceptions_spec.rb → vendor/rubyexts/spec/rubyexts/module_spec.rb} +0 -0
  1087. data/vendor/rubyexts/spec/rubyexts/object_space_spec.rb +17 -0
  1088. data/vendor/rubyexts/spec/rubyexts/object_spec.rb +57 -0
  1089. data/vendor/rubyexts/spec/rubyexts/os_spec.rb +121 -0
  1090. data/{spec/rango/helpers/spec/fixture/app/controllers/field_set_spec.rb → vendor/rubyexts/spec/rubyexts/platform_spec.rb} +0 -0
  1091. data/vendor/rubyexts/spec/rubyexts/random_spec.rb +31 -0
  1092. data/vendor/rubyexts/spec/rubyexts/string_spec.rb +23 -0
  1093. data/vendor/rubyexts/spec/rubyexts/time_dsl_spec.rb +88 -0
  1094. data/vendor/rubyexts/spec/rubyexts/time_spec.rb +11 -0
  1095. data/{spec/rango/helpers/spec/fixture/app/controllers/fields_for_spec.rb → vendor/rubyexts/spec/rubyexts/unique_array_spec.rb} +0 -0
  1096. data/vendor/rubyexts/spec/rubyexts_spec.rb +182 -0
  1097. data/vendor/rubyexts/spec/spec.opts +5 -0
  1098. data/vendor/rubyexts/spec/spec_helper.rb +16 -0
  1099. data/vendor/simple-templater/CHANGELOG +10 -0
  1100. data/vendor/simple-templater/LICENSE +20 -0
  1101. data/vendor/simple-templater/README.textile +136 -0
  1102. data/vendor/simple-templater/Rakefile +61 -0
  1103. data/vendor/simple-templater/TODO.txt +15 -0
  1104. data/vendor/simple-templater/bin/simple-templater +66 -0
  1105. data/vendor/simple-templater/deps.rip +7 -0
  1106. data/vendor/simple-templater/lib/simple-templater.rb +97 -0
  1107. data/vendor/simple-templater/lib/simple-templater/argv_parsing.rb +27 -0
  1108. data/vendor/simple-templater/lib/simple-templater/builder.rb +134 -0
  1109. data/vendor/simple-templater/lib/simple-templater/discoverer.rb +20 -0
  1110. data/vendor/simple-templater/lib/simple-templater/discoverers/gems.rb +79 -0
  1111. data/vendor/simple-templater/lib/simple-templater/discoverers/plain.rb +1 -0
  1112. data/vendor/simple-templater/lib/simple-templater/discoverers/rip.rb +1 -0
  1113. data/vendor/simple-templater/lib/simple-templater/dsl.rb +27 -0
  1114. data/vendor/simple-templater/lib/simple-templater/generator.rb +129 -0
  1115. data/vendor/simple-templater/lib/simple-templater/generator_set.rb +45 -0
  1116. data/vendor/simple-templater/lib/simple-templater/helpers.rb +34 -0
  1117. data/vendor/simple-templater/lib/simple-templater/hooks/hook.rb +76 -0
  1118. data/vendor/simple-templater/lib/simple-templater/hooks/postprocess/git_repository.rb +25 -0
  1119. data/vendor/simple-templater/lib/simple-templater/hooks/postprocess/github.rb +20 -0
  1120. data/vendor/simple-templater/lib/simple-templater/hooks/preprocess/full_name.rb +17 -0
  1121. data/vendor/simple-templater/lib/simple-templater/hooks/preprocess/github.rb +25 -0
  1122. data/vendor/simple-templater/script/spec +14 -0
  1123. data/vendor/simple-templater/simple-templater.gemspec +45 -0
  1124. data/vendor/simple-templater/simple-templater.scope +6 -0
  1125. data/vendor/simple-templater/spec/simple-templater/argv_parsing_spec.rb +41 -0
  1126. data/{features/shared/given_steps.rb → vendor/simple-templater/spec/simple-templater/builder_spec.rb} +0 -0
  1127. data/{spec/rango/helpers/spec/fixture/app/controllers/file_field_spec.rb → vendor/simple-templater/spec/simple-templater/discoverers/gems_spec.rb} +0 -0
  1128. data/{spec/rango/helpers/spec/fixture/app/controllers/foo_spec.rb → vendor/simple-templater/spec/simple-templater/discoverers/plain_spec.rb} +0 -0
  1129. data/{spec/rango/helpers/spec/fixture/app/controllers/form_for_spec.rb → vendor/simple-templater/spec/simple-templater/discoverers/rip_spec.rb} +0 -0
  1130. data/vendor/simple-templater/spec/simple-templater/generator_set_spec.rb +55 -0
  1131. data/vendor/simple-templater/spec/simple-templater/generator_spec.rb +30 -0
  1132. data/vendor/simple-templater/spec/simple-templater/helpers_spec.rb +81 -0
  1133. data/vendor/simple-templater/spec/simple-templater/hooks/hook_spec.rb +100 -0
  1134. data/vendor/simple-templater/spec/simple-templater/hooks/postprocess/git_repository_spec.rb +25 -0
  1135. data/vendor/simple-templater/spec/simple-templater/hooks/postprocess/github_spec.rb +8 -0
  1136. data/vendor/simple-templater/spec/simple-templater_spec.rb +112 -0
  1137. data/vendor/simple-templater/spec/spec.opts +5 -0
  1138. data/vendor/simple-templater/spec/spec_helper.rb +19 -0
  1139. data/vendor/simple-templater/spec/stubs/gems/cache/test_generator-0.0.1.gem +0 -0
  1140. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/simple-generator.scope +8 -0
  1141. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/simple-templater.scope +8 -0
  1142. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%1_test.rb.rbt +1 -0
  1143. data/{spec/rango/helpers/spec/fixture/app/controllers/form_spec.rb → vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%_test.rb} +0 -0
  1144. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/README.textile +3 -0
  1145. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/script.rb.rbt +1 -0
  1146. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%1_test.rb.rbt +1 -0
  1147. data/{spec/rango/helpers/spec/fixture/app/controllers/hacker_spec.rb → vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%_test.rb} +0 -0
  1148. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/README.textile +3 -0
  1149. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/script.rb.rbt +1 -0
  1150. data/vendor/simple-templater/spec/stubs/gems/gems/test_generator-0.0.1/test_generator.gemspec +19 -0
  1151. data/vendor/simple-templater/spec/stubs/gems/specifications/test_generator-0.0.1.gemspec +28 -0
  1152. data/vendor/simple-templater/spec/stubs/simple-templater.scope +8 -0
  1153. data/vendor/simple-templater/spec/stubs/test_generator/simple-templater.scope +8 -0
  1154. data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/%name%1_test.rb.rbt +1 -0
  1155. data/{spec/rango/helpers/spec/fixture/app/controllers/hidden_field_spec.rb → vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/%name%_test.rb} +0 -0
  1156. data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/README.textile +3 -0
  1157. data/vendor/simple-templater/spec/stubs/test_generator/stubs/test/content/script.rb.rbt +1 -0
  1158. data/vendor/simple-templater/spec/stubs/test_generator/test_generator-0.0.1.gem +0 -0
  1159. data/vendor/simple-templater/spec/stubs/test_generator/test_generator.gemspec +19 -0
  1160. data/vendor/simple-templater/stubs/project/content/%name%.gemspec.rbt +37 -0
  1161. data/vendor/simple-templater/stubs/project/content/CHANGELOG +2 -0
  1162. data/vendor/simple-templater/stubs/project/content/LICENSE.rbt +20 -0
  1163. data/vendor/simple-templater/stubs/project/content/README.textile.rbt +19 -0
  1164. data/vendor/simple-templater/stubs/project/content/Rakefile +39 -0
  1165. data/{spec/rango/helpers/spec/fixture/app/controllers/label_spec.rb → vendor/simple-templater/stubs/project/content/TODO.txt} +0 -0
  1166. data/vendor/simple-templater/stubs/project/content/bin/%name%.rbt +14 -0
  1167. data/vendor/simple-templater/stubs/project/content/deps.rip +5 -0
  1168. data/vendor/simple-templater/stubs/project/content/lib/%name%.rb.rbt +5 -0
  1169. data/vendor/simple-templater/stubs/project/content/spec/%name%_spec.rb.rbt +10 -0
  1170. data/vendor/simple-templater/stubs/project/content/spec/spec.opts +5 -0
  1171. data/vendor/simple-templater/stubs/project/content/spec/spec_helper.rb.rbt +11 -0
  1172. data/vendor/simple-templater/stubs/project/metadata.yml +3 -0
  1173. data/vendor/simple-templater/stubs/project/postprocess.rb +13 -0
  1174. data/vendor/simple-templater/stubs/project/setup.rb +13 -0
  1175. data/vendor/simple-templater/stubs/stub/content/metadata.yml.rbt +3 -0
  1176. data/vendor/simple-templater/stubs/stub/content/postprocess.rb +11 -0
  1177. data/vendor/simple-templater/stubs/stub/content/setup.rb +10 -0
  1178. data/vendor/simple-templater/stubs/stub/metadata.yml +3 -0
  1179. data/vendor/simple-templater/stubs/stub/postprocess.rb +9 -0
  1180. data/vendor/simple-templater/stubs/stub/setup.rb +15 -0
  1181. data/vendor/simple-templater/vendor/abstract/ChangeLog +3 -0
  1182. data/vendor/simple-templater/vendor/abstract/README.txt +57 -0
  1183. data/vendor/simple-templater/vendor/abstract/abstract.gemspec +48 -0
  1184. data/vendor/simple-templater/vendor/abstract/doc/classes/Kernel.html +134 -0
  1185. data/vendor/simple-templater/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
  1186. data/vendor/simple-templater/vendor/abstract/doc/classes/Module.html +140 -0
  1187. data/vendor/simple-templater/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
  1188. data/vendor/simple-templater/vendor/abstract/doc/created.rid +1 -0
  1189. data/vendor/simple-templater/vendor/abstract/doc/files/README_txt.html +173 -0
  1190. data/vendor/simple-templater/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
  1191. data/vendor/simple-templater/vendor/abstract/doc/fr_class_index.html +28 -0
  1192. data/vendor/simple-templater/vendor/abstract/doc/fr_file_index.html +28 -0
  1193. data/vendor/simple-templater/vendor/abstract/doc/fr_method_index.html +28 -0
  1194. data/vendor/simple-templater/vendor/abstract/doc/index.html +24 -0
  1195. data/vendor/simple-templater/vendor/abstract/doc/rdoc-style.css +208 -0
  1196. data/vendor/simple-templater/vendor/abstract/lib/abstract.rb +75 -0
  1197. data/vendor/simple-templater/vendor/abstract/setup.rb +1331 -0
  1198. data/vendor/simple-templater/vendor/abstract/test/test.rb +91 -0
  1199. data/vendor/thor/CHANGELOG.rdoc +82 -0
  1200. data/vendor/thor/LICENSE +20 -0
  1201. data/vendor/thor/README.rdoc +234 -0
  1202. data/vendor/thor/Thorfile +63 -0
  1203. data/vendor/thor/bin/rake2thor +86 -0
  1204. data/vendor/thor/bin/thor +7 -0
  1205. data/vendor/thor/lib/thor.rb +242 -0
  1206. data/vendor/thor/lib/thor/actions.rb +273 -0
  1207. data/vendor/thor/lib/thor/actions/create_file.rb +103 -0
  1208. data/vendor/thor/lib/thor/actions/directory.rb +93 -0
  1209. data/vendor/thor/lib/thor/actions/empty_directory.rb +134 -0
  1210. data/vendor/thor/lib/thor/actions/file_manipulation.rb +219 -0
  1211. data/vendor/thor/lib/thor/actions/inject_into_file.rb +101 -0
  1212. data/vendor/thor/lib/thor/base.rb +517 -0
  1213. data/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +75 -0
  1214. data/vendor/thor/lib/thor/core_ext/ordered_hash.rb +100 -0
  1215. data/vendor/thor/lib/thor/error.rb +27 -0
  1216. data/vendor/thor/lib/thor/group.rb +263 -0
  1217. data/vendor/thor/lib/thor/invocation.rb +178 -0
  1218. data/vendor/thor/lib/thor/parser.rb +4 -0
  1219. data/vendor/thor/lib/thor/parser/argument.rb +67 -0
  1220. data/vendor/thor/lib/thor/parser/arguments.rb +145 -0
  1221. data/vendor/thor/lib/thor/parser/option.rb +132 -0
  1222. data/vendor/thor/lib/thor/parser/options.rb +142 -0
  1223. data/vendor/thor/lib/thor/rake_compat.rb +66 -0
  1224. data/vendor/thor/lib/thor/runner.rb +299 -0
  1225. data/vendor/thor/lib/thor/shell.rb +78 -0
  1226. data/vendor/thor/lib/thor/shell/basic.rb +219 -0
  1227. data/vendor/thor/lib/thor/shell/color.rb +108 -0
  1228. data/vendor/thor/lib/thor/task.rb +122 -0
  1229. data/vendor/thor/lib/thor/util.rb +251 -0
  1230. data/vendor/thor/lib/thor/version.rb +3 -0
  1231. data/vendor/thor/spec/actions/create_file_spec.rb +170 -0
  1232. data/vendor/thor/spec/actions/directory_spec.rb +130 -0
  1233. data/vendor/thor/spec/actions/empty_directory_spec.rb +91 -0
  1234. data/vendor/thor/spec/actions/file_manipulation_spec.rb +249 -0
  1235. data/vendor/thor/spec/actions/inject_into_file_spec.rb +106 -0
  1236. data/vendor/thor/spec/actions_spec.rb +291 -0
  1237. data/vendor/thor/spec/base_spec.rb +236 -0
  1238. data/vendor/thor/spec/core_ext/hash_with_indifferent_access_spec.rb +43 -0
  1239. data/vendor/thor/spec/core_ext/ordered_hash_spec.rb +115 -0
  1240. data/vendor/thor/spec/fixtures/application.rb +2 -0
  1241. data/vendor/thor/spec/fixtures/bundle/execute.rb +6 -0
  1242. data/vendor/thor/spec/fixtures/bundle/main.thor +1 -0
  1243. data/vendor/thor/spec/fixtures/doc/%file_name%.rb.tt +1 -0
  1244. data/vendor/thor/spec/fixtures/doc/README +3 -0
  1245. data/vendor/thor/spec/fixtures/doc/config.rb +1 -0
  1246. data/vendor/thor/spec/fixtures/group.thor +83 -0
  1247. data/vendor/thor/spec/fixtures/invoke.thor +112 -0
  1248. data/vendor/thor/spec/fixtures/script.thor +126 -0
  1249. data/vendor/thor/spec/fixtures/task.thor +10 -0
  1250. data/vendor/thor/spec/group_spec.rb +177 -0
  1251. data/vendor/thor/spec/invocation_spec.rb +107 -0
  1252. data/vendor/thor/spec/parser/argument_spec.rb +47 -0
  1253. data/vendor/thor/spec/parser/arguments_spec.rb +64 -0
  1254. data/vendor/thor/spec/parser/option_spec.rb +212 -0
  1255. data/vendor/thor/spec/parser/options_spec.rb +255 -0
  1256. data/vendor/thor/spec/rake_compat_spec.rb +68 -0
  1257. data/vendor/thor/spec/runner_spec.rb +204 -0
  1258. data/vendor/thor/spec/shell/basic_spec.rb +211 -0
  1259. data/vendor/thor/spec/shell/color_spec.rb +41 -0
  1260. data/vendor/thor/spec/shell_spec.rb +25 -0
  1261. data/vendor/thor/spec/spec.opts +1 -0
  1262. data/vendor/thor/spec/spec_helper.rb +52 -0
  1263. data/vendor/thor/spec/task_spec.rb +88 -0
  1264. data/vendor/thor/spec/thor_spec.rb +234 -0
  1265. data/vendor/thor/spec/util_spec.rb +196 -0
  1266. metadata +1208 -899
  1267. data/cucumber.yml +0 -1
  1268. data/doc/0.0.3/Array.html +0 -354
  1269. data/doc/0.0.3/AttributeMixin.html +0 -697
  1270. data/doc/0.0.3/Class.html +0 -102
  1271. data/doc/0.0.3/ColoredString.html +0 -476
  1272. data/doc/0.0.3/Enumerable.html +0 -256
  1273. data/doc/0.0.3/File.html +0 -909
  1274. data/doc/0.0.3/Hash.html +0 -1586
  1275. data/doc/0.0.3/Kernel.html +0 -956
  1276. data/doc/0.0.3/OS.html +0 -740
  1277. data/doc/0.0.3/Object.html +0 -466
  1278. data/doc/0.0.3/ObjectSpace.html +0 -184
  1279. data/doc/0.0.3/Path.html +0 -2499
  1280. data/doc/0.0.3/Range.html +0 -190
  1281. data/doc/0.0.3/Rango.html +0 -379
  1282. data/doc/0.0.3/Rango/ApplicationMixin.html +0 -396
  1283. data/doc/0.0.3/Rango/Bundling.html +0 -23
  1284. data/doc/0.0.3/Rango/Bundling/RequireStrategy.html +0 -283
  1285. data/doc/0.0.3/Rango/Bundling/Strategy.html +0 -703
  1286. data/doc/0.0.3/Rango/CLI.html +0 -23
  1287. data/doc/0.0.3/Rango/CLI/Generator.html +0 -762
  1288. data/doc/0.0.3/Rango/CLI/Templater.html +0 -258
  1289. data/doc/0.0.3/Rango/CallableStrategy.html +0 -300
  1290. data/doc/0.0.3/Rango/Chainable.html +0 -181
  1291. data/doc/0.0.3/Rango/Configurable.html +0 -199
  1292. data/doc/0.0.3/Rango/Controller.html +0 -962
  1293. data/doc/0.0.3/Rango/ControllerMixin.html +0 -860
  1294. data/doc/0.0.3/Rango/ControllerStrategy.html +0 -264
  1295. data/doc/0.0.3/Rango/DependencyStrategy.html +0 -116
  1296. data/doc/0.0.3/Rango/Dispatcher.html +0 -305
  1297. data/doc/0.0.3/Rango/Form.html +0 -162
  1298. data/doc/0.0.3/Rango/GemDependencyStrategy.html +0 -210
  1299. data/doc/0.0.3/Rango/Generator.html +0 -93
  1300. data/doc/0.0.3/Rango/GenericViews.html +0 -128
  1301. data/doc/0.0.3/Rango/GitDependencyStrategy.html +0 -224
  1302. data/doc/0.0.3/Rango/GithubDependencyStrategy.html +0 -118
  1303. data/doc/0.0.3/Rango/Handler.html +0 -474
  1304. data/doc/0.0.3/Rango/Helpers.html +0 -1335
  1305. data/doc/0.0.3/Rango/Hookable.html +0 -202
  1306. data/doc/0.0.3/Rango/ImportMixin.html +0 -755
  1307. data/doc/0.0.3/Rango/Logger.html +0 -920
  1308. data/doc/0.0.3/Rango/Mini.html +0 -117
  1309. data/doc/0.0.3/Rango/ModelForm.html +0 -42
  1310. data/doc/0.0.3/Rango/Project.html +0 -516
  1311. data/doc/0.0.3/Rango/RenderMixin.html +0 -23
  1312. data/doc/0.0.3/Rango/Request.html +0 -1177
  1313. data/doc/0.0.3/Rango/Route.html +0 -751
  1314. data/doc/0.0.3/Rango/Router.html +0 -42
  1315. data/doc/0.0.3/Rango/Router/Dispatcher.html +0 -311
  1316. data/doc/0.0.3/Rango/RouterStrategy.html +0 -258
  1317. data/doc/0.0.3/Rango/Session.html +0 -23
  1318. data/doc/0.0.3/Rango/Settings.html +0 -23
  1319. data/doc/0.0.3/Rango/Settings/Erubis.html +0 -23
  1320. data/doc/0.0.3/Rango/Settings/Framework.html +0 -254
  1321. data/doc/0.0.3/Rango/Settings/Haml.html +0 -23
  1322. data/doc/0.0.3/Rango/Settings/Template.html +0 -23
  1323. data/doc/0.0.3/Rango/SimpleTemplate.html +0 -187
  1324. data/doc/0.0.3/Rango/StrategyMixin.html +0 -261
  1325. data/doc/0.0.3/Rango/Tasks.html +0 -219
  1326. data/doc/0.0.3/Rango/Template.html +0 -95
  1327. data/doc/0.0.3/Rango/Template/Adapter.html +0 -90
  1328. data/doc/0.0.3/Rango/Templates.html +0 -116
  1329. data/doc/0.0.3/Rango/Templates/Adapter.html +0 -128
  1330. data/doc/0.0.3/Rango/Templates/Template.html +0 -636
  1331. data/doc/0.0.3/Rango/Templates/TemplateHelpers.html +0 -328
  1332. data/doc/0.0.3/RangoThor.html +0 -205
  1333. data/doc/0.0.3/String.html +0 -307
  1334. data/doc/0.0.3/Time.html +0 -193
  1335. data/doc/0.0.3/TimeDSL.html +0 -601
  1336. data/doc/0.0.3/all-methods.html +0 -1908
  1337. data/doc/0.0.3/all-namespaces.html +0 -114
  1338. data/doc/0.0.3/app.js +0 -18
  1339. data/doc/0.0.3/head/Array.html +0 -354
  1340. data/doc/0.0.3/head/AttributeMixin.html +0 -697
  1341. data/doc/0.0.3/head/Class.html +0 -102
  1342. data/doc/0.0.3/head/ColoredString.html +0 -476
  1343. data/doc/0.0.3/head/Enumerable.html +0 -256
  1344. data/doc/0.0.3/head/File.html +0 -909
  1345. data/doc/0.0.3/head/Hash.html +0 -1586
  1346. data/doc/0.0.3/head/Kernel.html +0 -956
  1347. data/doc/0.0.3/head/OS.html +0 -740
  1348. data/doc/0.0.3/head/Object.html +0 -466
  1349. data/doc/0.0.3/head/ObjectSpace.html +0 -184
  1350. data/doc/0.0.3/head/Path.html +0 -2499
  1351. data/doc/0.0.3/head/Range.html +0 -190
  1352. data/doc/0.0.3/head/Rango.html +0 -379
  1353. data/doc/0.0.3/head/Rango/ApplicationMixin.html +0 -396
  1354. data/doc/0.0.3/head/Rango/Bundling.html +0 -23
  1355. data/doc/0.0.3/head/Rango/Bundling/RequireStrategy.html +0 -283
  1356. data/doc/0.0.3/head/Rango/Bundling/Strategy.html +0 -703
  1357. data/doc/0.0.3/head/Rango/CLI.html +0 -23
  1358. data/doc/0.0.3/head/Rango/CLI/Generator.html +0 -762
  1359. data/doc/0.0.3/head/Rango/CLI/Templater.html +0 -258
  1360. data/doc/0.0.3/head/Rango/CallableStrategy.html +0 -300
  1361. data/doc/0.0.3/head/Rango/Chainable.html +0 -181
  1362. data/doc/0.0.3/head/Rango/Configurable.html +0 -199
  1363. data/doc/0.0.3/head/Rango/Controller.html +0 -962
  1364. data/doc/0.0.3/head/Rango/ControllerMixin.html +0 -860
  1365. data/doc/0.0.3/head/Rango/ControllerStrategy.html +0 -264
  1366. data/doc/0.0.3/head/Rango/DependencyStrategy.html +0 -116
  1367. data/doc/0.0.3/head/Rango/Dispatcher.html +0 -305
  1368. data/doc/0.0.3/head/Rango/Form.html +0 -162
  1369. data/doc/0.0.3/head/Rango/GemDependencyStrategy.html +0 -210
  1370. data/doc/0.0.3/head/Rango/Generator.html +0 -93
  1371. data/doc/0.0.3/head/Rango/GenericViews.html +0 -128
  1372. data/doc/0.0.3/head/Rango/GitDependencyStrategy.html +0 -224
  1373. data/doc/0.0.3/head/Rango/GithubDependencyStrategy.html +0 -118
  1374. data/doc/0.0.3/head/Rango/Handler.html +0 -474
  1375. data/doc/0.0.3/head/Rango/Helpers.html +0 -1335
  1376. data/doc/0.0.3/head/Rango/Hookable.html +0 -202
  1377. data/doc/0.0.3/head/Rango/ImportMixin.html +0 -755
  1378. data/doc/0.0.3/head/Rango/Logger.html +0 -920
  1379. data/doc/0.0.3/head/Rango/Mini.html +0 -117
  1380. data/doc/0.0.3/head/Rango/ModelForm.html +0 -42
  1381. data/doc/0.0.3/head/Rango/Project.html +0 -516
  1382. data/doc/0.0.3/head/Rango/RenderMixin.html +0 -23
  1383. data/doc/0.0.3/head/Rango/Request.html +0 -1177
  1384. data/doc/0.0.3/head/Rango/Route.html +0 -751
  1385. data/doc/0.0.3/head/Rango/Router.html +0 -42
  1386. data/doc/0.0.3/head/Rango/Router/Dispatcher.html +0 -311
  1387. data/doc/0.0.3/head/Rango/RouterStrategy.html +0 -258
  1388. data/doc/0.0.3/head/Rango/Session.html +0 -23
  1389. data/doc/0.0.3/head/Rango/Settings.html +0 -23
  1390. data/doc/0.0.3/head/Rango/Settings/Erubis.html +0 -23
  1391. data/doc/0.0.3/head/Rango/Settings/Framework.html +0 -254
  1392. data/doc/0.0.3/head/Rango/Settings/Haml.html +0 -23
  1393. data/doc/0.0.3/head/Rango/Settings/Template.html +0 -23
  1394. data/doc/0.0.3/head/Rango/SimpleTemplate.html +0 -187
  1395. data/doc/0.0.3/head/Rango/StrategyMixin.html +0 -261
  1396. data/doc/0.0.3/head/Rango/Tasks.html +0 -219
  1397. data/doc/0.0.3/head/Rango/Template.html +0 -95
  1398. data/doc/0.0.3/head/Rango/Template/Adapter.html +0 -90
  1399. data/doc/0.0.3/head/Rango/Templates.html +0 -116
  1400. data/doc/0.0.3/head/Rango/Templates/Adapter.html +0 -128
  1401. data/doc/0.0.3/head/Rango/Templates/Template.html +0 -636
  1402. data/doc/0.0.3/head/Rango/Templates/TemplateHelpers.html +0 -328
  1403. data/doc/0.0.3/head/RangoThor.html +0 -205
  1404. data/doc/0.0.3/head/String.html +0 -307
  1405. data/doc/0.0.3/head/Time.html +0 -193
  1406. data/doc/0.0.3/head/TimeDSL.html +0 -601
  1407. data/doc/0.0.3/head/all-methods.html +0 -1908
  1408. data/doc/0.0.3/head/all-namespaces.html +0 -114
  1409. data/doc/0.0.3/head/app.js +0 -18
  1410. data/doc/0.0.3/head/index.html +0 -18
  1411. data/doc/0.0.3/head/jquery.js +0 -11
  1412. data/doc/0.0.3/head/readme.html +0 -36
  1413. data/doc/0.0.3/head/style.css +0 -68
  1414. data/doc/0.0.3/head/syntax_highlight.css +0 -21
  1415. data/doc/0.0.3/index.html +0 -18
  1416. data/doc/0.0.3/jquery.js +0 -11
  1417. data/doc/0.0.3/readme.html +0 -36
  1418. data/doc/0.0.3/style.css +0 -68
  1419. data/doc/0.0.3/syntax_highlight.css +0 -21
  1420. data/doc/0.0.4/Array.html +0 -354
  1421. data/doc/0.0.4/AttributeMixin.html +0 -697
  1422. data/doc/0.0.4/Class.html +0 -102
  1423. data/doc/0.0.4/ColoredString.html +0 -476
  1424. data/doc/0.0.4/Enumerable.html +0 -256
  1425. data/doc/0.0.4/File.html +0 -909
  1426. data/doc/0.0.4/Hash.html +0 -1586
  1427. data/doc/0.0.4/Kernel.html +0 -956
  1428. data/doc/0.0.4/OS.html +0 -740
  1429. data/doc/0.0.4/Object.html +0 -466
  1430. data/doc/0.0.4/ObjectSpace.html +0 -184
  1431. data/doc/0.0.4/Path.html +0 -2499
  1432. data/doc/0.0.4/Range.html +0 -190
  1433. data/doc/0.0.4/Rango.html +0 -379
  1434. data/doc/0.0.4/Rango/ApplicationMixin.html +0 -396
  1435. data/doc/0.0.4/Rango/Bundling.html +0 -23
  1436. data/doc/0.0.4/Rango/Bundling/RequireStrategy.html +0 -283
  1437. data/doc/0.0.4/Rango/Bundling/Strategy.html +0 -703
  1438. data/doc/0.0.4/Rango/CLI.html +0 -23
  1439. data/doc/0.0.4/Rango/CLI/Generator.html +0 -762
  1440. data/doc/0.0.4/Rango/CLI/Templater.html +0 -258
  1441. data/doc/0.0.4/Rango/CallableStrategy.html +0 -300
  1442. data/doc/0.0.4/Rango/Chainable.html +0 -181
  1443. data/doc/0.0.4/Rango/Configurable.html +0 -199
  1444. data/doc/0.0.4/Rango/Controller.html +0 -962
  1445. data/doc/0.0.4/Rango/ControllerMixin.html +0 -860
  1446. data/doc/0.0.4/Rango/ControllerStrategy.html +0 -264
  1447. data/doc/0.0.4/Rango/DependencyStrategy.html +0 -116
  1448. data/doc/0.0.4/Rango/Dispatcher.html +0 -305
  1449. data/doc/0.0.4/Rango/Form.html +0 -162
  1450. data/doc/0.0.4/Rango/GemDependencyStrategy.html +0 -210
  1451. data/doc/0.0.4/Rango/Generator.html +0 -93
  1452. data/doc/0.0.4/Rango/GenericViews.html +0 -128
  1453. data/doc/0.0.4/Rango/GitDependencyStrategy.html +0 -224
  1454. data/doc/0.0.4/Rango/GithubDependencyStrategy.html +0 -118
  1455. data/doc/0.0.4/Rango/Handler.html +0 -474
  1456. data/doc/0.0.4/Rango/Helpers.html +0 -1335
  1457. data/doc/0.0.4/Rango/Hookable.html +0 -202
  1458. data/doc/0.0.4/Rango/ImportMixin.html +0 -755
  1459. data/doc/0.0.4/Rango/Logger.html +0 -920
  1460. data/doc/0.0.4/Rango/Mini.html +0 -117
  1461. data/doc/0.0.4/Rango/ModelForm.html +0 -42
  1462. data/doc/0.0.4/Rango/Project.html +0 -516
  1463. data/doc/0.0.4/Rango/RenderMixin.html +0 -23
  1464. data/doc/0.0.4/Rango/Request.html +0 -1177
  1465. data/doc/0.0.4/Rango/Route.html +0 -751
  1466. data/doc/0.0.4/Rango/Router.html +0 -42
  1467. data/doc/0.0.4/Rango/Router/Dispatcher.html +0 -311
  1468. data/doc/0.0.4/Rango/RouterStrategy.html +0 -258
  1469. data/doc/0.0.4/Rango/Session.html +0 -23
  1470. data/doc/0.0.4/Rango/Settings.html +0 -23
  1471. data/doc/0.0.4/Rango/Settings/Erubis.html +0 -23
  1472. data/doc/0.0.4/Rango/Settings/Framework.html +0 -254
  1473. data/doc/0.0.4/Rango/Settings/Haml.html +0 -23
  1474. data/doc/0.0.4/Rango/Settings/Template.html +0 -23
  1475. data/doc/0.0.4/Rango/SimpleTemplate.html +0 -187
  1476. data/doc/0.0.4/Rango/StrategyMixin.html +0 -261
  1477. data/doc/0.0.4/Rango/Tasks.html +0 -219
  1478. data/doc/0.0.4/Rango/Template.html +0 -95
  1479. data/doc/0.0.4/Rango/Template/Adapter.html +0 -90
  1480. data/doc/0.0.4/Rango/Templates.html +0 -116
  1481. data/doc/0.0.4/Rango/Templates/Adapter.html +0 -128
  1482. data/doc/0.0.4/Rango/Templates/Template.html +0 -636
  1483. data/doc/0.0.4/Rango/Templates/TemplateHelpers.html +0 -328
  1484. data/doc/0.0.4/RangoThor.html +0 -205
  1485. data/doc/0.0.4/String.html +0 -307
  1486. data/doc/0.0.4/Time.html +0 -193
  1487. data/doc/0.0.4/TimeDSL.html +0 -601
  1488. data/doc/0.0.4/all-methods.html +0 -1908
  1489. data/doc/0.0.4/all-namespaces.html +0 -114
  1490. data/doc/0.0.4/app.js +0 -18
  1491. data/doc/0.0.4/head/Array.html +0 -354
  1492. data/doc/0.0.4/head/AttributeMixin.html +0 -697
  1493. data/doc/0.0.4/head/Class.html +0 -102
  1494. data/doc/0.0.4/head/ColoredString.html +0 -476
  1495. data/doc/0.0.4/head/Enumerable.html +0 -256
  1496. data/doc/0.0.4/head/File.html +0 -909
  1497. data/doc/0.0.4/head/Hash.html +0 -1586
  1498. data/doc/0.0.4/head/Kernel.html +0 -956
  1499. data/doc/0.0.4/head/OS.html +0 -740
  1500. data/doc/0.0.4/head/Object.html +0 -466
  1501. data/doc/0.0.4/head/ObjectSpace.html +0 -184
  1502. data/doc/0.0.4/head/Path.html +0 -2499
  1503. data/doc/0.0.4/head/Range.html +0 -190
  1504. data/doc/0.0.4/head/Rango.html +0 -379
  1505. data/doc/0.0.4/head/Rango/ApplicationMixin.html +0 -396
  1506. data/doc/0.0.4/head/Rango/Bundling.html +0 -23
  1507. data/doc/0.0.4/head/Rango/Bundling/RequireStrategy.html +0 -283
  1508. data/doc/0.0.4/head/Rango/Bundling/Strategy.html +0 -703
  1509. data/doc/0.0.4/head/Rango/CLI.html +0 -23
  1510. data/doc/0.0.4/head/Rango/CLI/Generator.html +0 -762
  1511. data/doc/0.0.4/head/Rango/CLI/Templater.html +0 -258
  1512. data/doc/0.0.4/head/Rango/CallableStrategy.html +0 -300
  1513. data/doc/0.0.4/head/Rango/Chainable.html +0 -181
  1514. data/doc/0.0.4/head/Rango/Configurable.html +0 -199
  1515. data/doc/0.0.4/head/Rango/Controller.html +0 -962
  1516. data/doc/0.0.4/head/Rango/ControllerMixin.html +0 -860
  1517. data/doc/0.0.4/head/Rango/ControllerStrategy.html +0 -264
  1518. data/doc/0.0.4/head/Rango/DependencyStrategy.html +0 -116
  1519. data/doc/0.0.4/head/Rango/Dispatcher.html +0 -305
  1520. data/doc/0.0.4/head/Rango/Form.html +0 -162
  1521. data/doc/0.0.4/head/Rango/GemDependencyStrategy.html +0 -210
  1522. data/doc/0.0.4/head/Rango/Generator.html +0 -93
  1523. data/doc/0.0.4/head/Rango/GenericViews.html +0 -128
  1524. data/doc/0.0.4/head/Rango/GitDependencyStrategy.html +0 -224
  1525. data/doc/0.0.4/head/Rango/GithubDependencyStrategy.html +0 -118
  1526. data/doc/0.0.4/head/Rango/Handler.html +0 -474
  1527. data/doc/0.0.4/head/Rango/Helpers.html +0 -1335
  1528. data/doc/0.0.4/head/Rango/Hookable.html +0 -202
  1529. data/doc/0.0.4/head/Rango/ImportMixin.html +0 -755
  1530. data/doc/0.0.4/head/Rango/Logger.html +0 -920
  1531. data/doc/0.0.4/head/Rango/Mini.html +0 -117
  1532. data/doc/0.0.4/head/Rango/ModelForm.html +0 -42
  1533. data/doc/0.0.4/head/Rango/Project.html +0 -516
  1534. data/doc/0.0.4/head/Rango/RenderMixin.html +0 -23
  1535. data/doc/0.0.4/head/Rango/Request.html +0 -1177
  1536. data/doc/0.0.4/head/Rango/Route.html +0 -751
  1537. data/doc/0.0.4/head/Rango/Router.html +0 -42
  1538. data/doc/0.0.4/head/Rango/Router/Dispatcher.html +0 -311
  1539. data/doc/0.0.4/head/Rango/RouterStrategy.html +0 -258
  1540. data/doc/0.0.4/head/Rango/Session.html +0 -23
  1541. data/doc/0.0.4/head/Rango/Settings.html +0 -23
  1542. data/doc/0.0.4/head/Rango/Settings/Erubis.html +0 -23
  1543. data/doc/0.0.4/head/Rango/Settings/Framework.html +0 -254
  1544. data/doc/0.0.4/head/Rango/Settings/Haml.html +0 -23
  1545. data/doc/0.0.4/head/Rango/Settings/Template.html +0 -23
  1546. data/doc/0.0.4/head/Rango/SimpleTemplate.html +0 -187
  1547. data/doc/0.0.4/head/Rango/StrategyMixin.html +0 -261
  1548. data/doc/0.0.4/head/Rango/Tasks.html +0 -219
  1549. data/doc/0.0.4/head/Rango/Template.html +0 -95
  1550. data/doc/0.0.4/head/Rango/Template/Adapter.html +0 -90
  1551. data/doc/0.0.4/head/Rango/Templates.html +0 -116
  1552. data/doc/0.0.4/head/Rango/Templates/Adapter.html +0 -128
  1553. data/doc/0.0.4/head/Rango/Templates/Template.html +0 -636
  1554. data/doc/0.0.4/head/Rango/Templates/TemplateHelpers.html +0 -328
  1555. data/doc/0.0.4/head/RangoThor.html +0 -205
  1556. data/doc/0.0.4/head/String.html +0 -307
  1557. data/doc/0.0.4/head/Time.html +0 -193
  1558. data/doc/0.0.4/head/TimeDSL.html +0 -601
  1559. data/doc/0.0.4/head/all-methods.html +0 -1908
  1560. data/doc/0.0.4/head/all-namespaces.html +0 -114
  1561. data/doc/0.0.4/head/app.js +0 -18
  1562. data/doc/0.0.4/head/index.html +0 -18
  1563. data/doc/0.0.4/head/jquery.js +0 -11
  1564. data/doc/0.0.4/head/readme.html +0 -36
  1565. data/doc/0.0.4/head/style.css +0 -68
  1566. data/doc/0.0.4/head/syntax_highlight.css +0 -21
  1567. data/doc/0.0.4/index.html +0 -18
  1568. data/doc/0.0.4/jquery.js +0 -11
  1569. data/doc/0.0.4/readme.html +0 -36
  1570. data/doc/0.0.4/style.css +0 -68
  1571. data/doc/0.0.4/syntax_highlight.css +0 -21
  1572. data/doc/head/Array.html +0 -354
  1573. data/doc/head/AttributeMixin.html +0 -697
  1574. data/doc/head/Class.html +0 -102
  1575. data/doc/head/ColoredString.html +0 -476
  1576. data/doc/head/Enumerable.html +0 -256
  1577. data/doc/head/File.html +0 -909
  1578. data/doc/head/Hash.html +0 -1586
  1579. data/doc/head/Kernel.html +0 -956
  1580. data/doc/head/OS.html +0 -740
  1581. data/doc/head/Object.html +0 -466
  1582. data/doc/head/ObjectSpace.html +0 -184
  1583. data/doc/head/Path.html +0 -2499
  1584. data/doc/head/Range.html +0 -190
  1585. data/doc/head/Rango.html +0 -379
  1586. data/doc/head/Rango/ApplicationMixin.html +0 -396
  1587. data/doc/head/Rango/Bundling.html +0 -23
  1588. data/doc/head/Rango/Bundling/RequireStrategy.html +0 -283
  1589. data/doc/head/Rango/Bundling/Strategy.html +0 -703
  1590. data/doc/head/Rango/CLI.html +0 -23
  1591. data/doc/head/Rango/CLI/Generator.html +0 -762
  1592. data/doc/head/Rango/CLI/Templater.html +0 -258
  1593. data/doc/head/Rango/CallableStrategy.html +0 -300
  1594. data/doc/head/Rango/Chainable.html +0 -181
  1595. data/doc/head/Rango/Configurable.html +0 -199
  1596. data/doc/head/Rango/Controller.html +0 -962
  1597. data/doc/head/Rango/ControllerMixin.html +0 -860
  1598. data/doc/head/Rango/ControllerStrategy.html +0 -264
  1599. data/doc/head/Rango/DependencyStrategy.html +0 -116
  1600. data/doc/head/Rango/Dispatcher.html +0 -305
  1601. data/doc/head/Rango/Form.html +0 -162
  1602. data/doc/head/Rango/GemDependencyStrategy.html +0 -210
  1603. data/doc/head/Rango/Generator.html +0 -93
  1604. data/doc/head/Rango/GenericViews.html +0 -128
  1605. data/doc/head/Rango/GitDependencyStrategy.html +0 -224
  1606. data/doc/head/Rango/GithubDependencyStrategy.html +0 -118
  1607. data/doc/head/Rango/Handler.html +0 -474
  1608. data/doc/head/Rango/Helpers.html +0 -1335
  1609. data/doc/head/Rango/Hookable.html +0 -202
  1610. data/doc/head/Rango/ImportMixin.html +0 -755
  1611. data/doc/head/Rango/Logger.html +0 -920
  1612. data/doc/head/Rango/Mini.html +0 -117
  1613. data/doc/head/Rango/ModelForm.html +0 -42
  1614. data/doc/head/Rango/Project.html +0 -516
  1615. data/doc/head/Rango/RenderMixin.html +0 -23
  1616. data/doc/head/Rango/Request.html +0 -1177
  1617. data/doc/head/Rango/Route.html +0 -751
  1618. data/doc/head/Rango/Router.html +0 -42
  1619. data/doc/head/Rango/Router/Dispatcher.html +0 -311
  1620. data/doc/head/Rango/RouterStrategy.html +0 -258
  1621. data/doc/head/Rango/Session.html +0 -23
  1622. data/doc/head/Rango/Settings.html +0 -23
  1623. data/doc/head/Rango/Settings/Erubis.html +0 -23
  1624. data/doc/head/Rango/Settings/Framework.html +0 -254
  1625. data/doc/head/Rango/Settings/Haml.html +0 -23
  1626. data/doc/head/Rango/Settings/Template.html +0 -23
  1627. data/doc/head/Rango/SimpleTemplate.html +0 -187
  1628. data/doc/head/Rango/StrategyMixin.html +0 -261
  1629. data/doc/head/Rango/Tasks.html +0 -219
  1630. data/doc/head/Rango/Template.html +0 -95
  1631. data/doc/head/Rango/Template/Adapter.html +0 -90
  1632. data/doc/head/Rango/Templates.html +0 -116
  1633. data/doc/head/Rango/Templates/Adapter.html +0 -128
  1634. data/doc/head/Rango/Templates/Template.html +0 -636
  1635. data/doc/head/Rango/Templates/TemplateHelpers.html +0 -328
  1636. data/doc/head/RangoThor.html +0 -205
  1637. data/doc/head/String.html +0 -307
  1638. data/doc/head/Time.html +0 -193
  1639. data/doc/head/TimeDSL.html +0 -601
  1640. data/doc/head/all-methods.html +0 -1908
  1641. data/doc/head/all-namespaces.html +0 -114
  1642. data/doc/head/app.js +0 -18
  1643. data/doc/head/index.html +0 -18
  1644. data/doc/head/jquery.js +0 -11
  1645. data/doc/head/readme.html +0 -36
  1646. data/doc/head/style.css +0 -68
  1647. data/doc/head/syntax_highlight.css +0 -21
  1648. data/doc/versions/0.0.1/Rango.html +0 -1025
  1649. data/doc/versions/0.0.1/Rango/CallableStrategy.html +0 -166
  1650. data/doc/versions/0.0.1/Rango/ControllerStrategy.html +0 -180
  1651. data/doc/versions/0.0.1/Rango/Route.html +0 -340
  1652. data/doc/versions/0.0.1/Rango/Router.html +0 -502
  1653. data/doc/versions/0.0.1/Rango/RouterStrategy.html +0 -94
  1654. data/doc/versions/0.0.1/Rango/Template.html +0 -28
  1655. data/doc/versions/0.0.1/Rango/Template/Adapter.html +0 -90
  1656. data/doc/versions/0.0.1/all-methods.html +0 -228
  1657. data/doc/versions/0.0.1/all-namespaces.html +0 -36
  1658. data/doc/versions/0.0.1/app.js +0 -18
  1659. data/doc/versions/0.0.1/index.html +0 -18
  1660. data/doc/versions/0.0.1/jquery.js +0 -11
  1661. data/doc/versions/0.0.1/readme.html +0 -137
  1662. data/doc/versions/0.0.1/style.css +0 -68
  1663. data/doc/versions/0.0.1/syntax_highlight.css +0 -21
  1664. data/features/TODO.txt +0 -5
  1665. data/features/generators/app.feature +0 -11
  1666. data/features/generators_steps.rb +0 -26
  1667. data/features/shared/then_steps.rb +0 -1
  1668. data/features/shared/when_steps.rb +0 -1
  1669. data/features/support/env.rb +0 -64
  1670. data/lib/rango/bundling/dependency.rb +0 -61
  1671. data/lib/rango/bundling/strategies/copy.rb +0 -36
  1672. data/lib/rango/bundling/strategies/gem.rb +0 -55
  1673. data/lib/rango/bundling/strategies/git.rb +0 -71
  1674. data/lib/rango/bundling/strategies/hg.rb +0 -9
  1675. data/lib/rango/bundling/strategy.rb +0 -85
  1676. data/lib/rango/cli/generator.rb +0 -122
  1677. data/lib/rango/cli/templater.rb +0 -89
  1678. data/lib/rango/ext.rb +0 -85
  1679. data/lib/rango/ext/attribute.rb +0 -152
  1680. data/lib/rango/ext/colored_string.rb +0 -105
  1681. data/lib/rango/ext/kernel.rb +0 -91
  1682. data/lib/rango/ext/platform.rb +0 -27
  1683. data/lib/rango/ext/string.rb +0 -30
  1684. data/lib/rango/ext/thor.rb +0 -32
  1685. data/lib/rango/ext/unique_array.rb +0 -16
  1686. data/lib/rango/generic_views.rb +0 -18
  1687. data/lib/rango/mixins/controller.rb +0 -114
  1688. data/lib/rango/orm/adapters/datamapper/setup.rb +0 -16
  1689. data/lib/rango/orm/adapters/datamapper/tasks.thor +0 -41
  1690. data/lib/rango/orm/adapters/datamapper/types/unicode_string.rb +0 -15
  1691. data/lib/rango/tasks/bundle.thor +0 -28
  1692. data/lib/rango/tasks/stats.thor +0 -1
  1693. data/rango.gemspec.erb +0 -43
  1694. data/spec/rango/ext/array_spec.rb +0 -19
  1695. data/spec/rango/ext/attribute_spec.rb +0 -37
  1696. data/spec/rango/ext/colored_string_spec.rb +0 -9
  1697. data/spec/rango/ext/enumerable_spec.rb +0 -52
  1698. data/spec/rango/ext/file_spec.rb +0 -78
  1699. data/spec/rango/ext/hash_spec.rb +0 -91
  1700. data/spec/rango/ext/kernel_spec.rb +0 -9
  1701. data/spec/rango/ext/object_space_spec.rb +0 -17
  1702. data/spec/rango/ext/object_spec.rb +0 -57
  1703. data/spec/rango/ext/os_spec.rb +0 -121
  1704. data/spec/rango/ext/random_spec.rb +0 -31
  1705. data/spec/rango/ext/string_spec.rb +0 -23
  1706. data/spec/rango/ext/thor_spec.rb +0 -26
  1707. data/spec/rango/ext/time_dsl_spec.rb +0 -86
  1708. data/spec/rango/ext/time_spec.rb +0 -11
  1709. data/spec/rango/ext_spec.rb +0 -182
  1710. data/spec/rango/helpers/spec/fixture/app/controllers/numeric_ext_spec.rb +0 -0
  1711. data/spec/rango/helpers/spec/fixture/app/controllers/option_tag_spec.rb +0 -0
  1712. data/spec/rango/helpers/spec/fixture/app/controllers/password_field_spec.rb +0 -0
  1713. data/spec/rango/helpers/spec/fixture/app/controllers/radio_button_spec.rb +0 -0
  1714. data/spec/rango/helpers/spec/fixture/app/controllers/radio_group_spec.rb +0 -0
  1715. data/spec/rango/helpers/spec/fixture/app/controllers/relative_date_span_spec.rb +0 -0
  1716. data/spec/rango/helpers/spec/fixture/app/controllers/relative_date_spec.rb +0 -0
  1717. data/spec/rango/helpers/spec/fixture/app/controllers/select_spec.rb +0 -0
  1718. data/spec/rango/helpers/spec/fixture/app/controllers/specs_controller_spec.rb +0 -0
  1719. data/spec/rango/helpers/spec/fixture/app/controllers/submit_spec.rb +0 -0
  1720. data/spec/rango/helpers/spec/fixture/app/controllers/tag_helper_spec.rb +0 -0
  1721. data/spec/rango/helpers/spec/fixture/app/controllers/text_area_spec.rb +0 -0
  1722. data/spec/rango/helpers/spec/fixture/app/controllers/text_field_spec.rb +0 -0
  1723. data/spec/rango/helpers/spec/fixture/app/helpers/global_helpers_spec.rb +0 -0
  1724. data/spec/rango/helpers/spec/fixture/app/models/fake_dm_model_spec.rb +0 -0
  1725. data/spec/rango/helpers/spec/fixture/app/models/first_generic_fake_model_spec.rb +0 -0
  1726. data/spec/rango/helpers/spec/fixture/app/models/hacker_generic_model_spec.rb +0 -0
  1727. data/spec/rango/helpers/spec/fixture/app/models/second_generic_fake_model_spec.rb +0 -0
  1728. data/spec/rango/helpers/spec/fixture/app/models/third_generic_fake_model_spec.rb +0 -0
  1729. data/spec/rango/helpers/spec/fixture/config/environments/development_spec.rb +0 -0
  1730. data/spec/rango/helpers/spec/fixture/config/environments/production_spec.rb +0 -0
  1731. data/spec/rango/helpers/spec/fixture/config/environments/test_spec.rb +0 -0
  1732. data/spec/rango/helpers/spec/fixture/config/init_spec.rb +0 -0
  1733. data/spec/rango/helpers/spec/fixture/config/rack_spec.rb +0 -0
  1734. data/spec/rango/helpers/spec/merb_helpers_config_spec_spec.rb +0 -0
  1735. data/spec/rango/helpers/spec/merb_helpers_date_time_spec_spec.rb +0 -0
  1736. data/spec/rango/helpers/spec/merb_helpers_form_spec_spec.rb +0 -0
  1737. data/spec/rango/helpers/spec/merb_helpers_tag_helper_spec_spec.rb +0 -0
  1738. data/spec/rango/helpers/spec/merb_helpers_text_spec_spec.rb +0 -0
  1739. data/spec/rango/helpers/spec/numeric_extlib_spec_spec.rb +0 -0
  1740. data/spec/rango/helpers/spec/ordinalize_spec_spec.rb +0 -0
  1741. data/spec/rango/helpers/spec/spec_helper_spec.rb +0 -0
  1742. data/spec/rango/helpers/spec/time_dsl_spec_spec.rb +0 -0
  1743. data/spec/rango/mixins/controller_spec.rb +0 -0
  1744. data/spec/rango/orm/adapters/datamapper/setup_spec.rb +0 -0
  1745. data/spec/rango/orm/adapters/datamapper/types/unicode_string_spec.rb +0 -0
  1746. data/spec/rango/router/adapters/basic_spec.rb +0 -0
  1747. data/spec/rango/router/adapters/rack-router_spec.rb +0 -0
  1748. data/spec/rango/router/dispatcher_spec.rb +0 -0
  1749. data/stubs/app/preprocess.rb +0 -14
  1750. data/stubs/bigapp/preprocess.rb +0 -5
  1751. data/stubs/flat/preprocess.rb +0 -5
  1752. data/stubs/project/content/TODO +0 -0
  1753. data/stubs/project/content/Thorfile +0 -12
  1754. data/stubs/project/content/config.ru +0 -33
  1755. data/stubs/project/content/init.rb +0 -24
  1756. data/stubs/project/content/settings.rb.rbt +0 -10
  1757. data/stubs/pupu/content/CHANGELOG +0 -0
  1758. data/stubs/pupu/content/LICENSE.rbt +0 -20
  1759. data/stubs/pupu/content/README.textile.rbt +0 -7
  1760. data/stubs/pupu/content/TODO +0 -5
  1761. data/stubs/pupu/content/Thorfile.rbt +0 -21
  1762. data/stubs/pupu/content/config.rb.rbt +0 -14
  1763. data/stubs/pupu/content/initializers/%name%.css +0 -0
  1764. data/stubs/pupu/content/initializers/%name%.js +0 -3
  1765. data/stubs/pupu/content/javascripts/%name%.js +0 -0
  1766. data/stubs/pupu/content/stylesheets/%name%.css +0 -0
  1767. data/stubs/pupu/metadata.yml +0 -4
  1768. data/stubs/pupu/preprocess.rb +0 -7
  1769. data/stubs/stub/content/metadata.yml +0 -4
  1770. data/stubs/stub/content/postprocess.rb +0 -5
  1771. data/stubs/stub/content/preprocess.rb +0 -5
  1772. data/stubs/stub/metadata.yml +0 -4
  1773. data/templates.txt +0 -39
@@ -0,0 +1,208 @@
1
+
2
+ body {
3
+ font-family: Verdana,Arial,Helvetica,sans-serif;
4
+ font-size: 90%;
5
+ margin: 0;
6
+ margin-left: 40px;
7
+ padding: 0;
8
+ background: white;
9
+ }
10
+
11
+ h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
12
+ h1 { font-size: 150%; }
13
+ h2,h3,h4 { margin-top: 1em; }
14
+
15
+ a { background: #eef; color: #039; text-decoration: none; }
16
+ a:hover { background: #039; color: #eef; }
17
+
18
+ /* Override the base stylesheet's Anchor inside a table cell */
19
+ td > a {
20
+ background: transparent;
21
+ color: #039;
22
+ text-decoration: none;
23
+ }
24
+
25
+ /* and inside a section title */
26
+ .section-title > a {
27
+ background: transparent;
28
+ color: #eee;
29
+ text-decoration: none;
30
+ }
31
+
32
+ /* === Structural elements =================================== */
33
+
34
+ div#index {
35
+ margin: 0;
36
+ margin-left: -40px;
37
+ padding: 0;
38
+ font-size: 90%;
39
+ }
40
+
41
+
42
+ div#index a {
43
+ margin-left: 0.7em;
44
+ }
45
+
46
+ div#index .section-bar {
47
+ margin-left: 0px;
48
+ padding-left: 0.7em;
49
+ background: #ccc;
50
+ font-size: small;
51
+ }
52
+
53
+
54
+ div#classHeader, div#fileHeader {
55
+ width: auto;
56
+ color: white;
57
+ padding: 0.5em 1.5em 0.5em 1.5em;
58
+ margin: 0;
59
+ margin-left: -40px;
60
+ border-bottom: 3px solid #006;
61
+ }
62
+
63
+ div#classHeader a, div#fileHeader a {
64
+ background: inherit;
65
+ color: white;
66
+ }
67
+
68
+ div#classHeader td, div#fileHeader td {
69
+ background: inherit;
70
+ color: white;
71
+ }
72
+
73
+
74
+ div#fileHeader {
75
+ background: #057;
76
+ }
77
+
78
+ div#classHeader {
79
+ background: #048;
80
+ }
81
+
82
+
83
+ .class-name-in-header {
84
+ font-size: 180%;
85
+ font-weight: bold;
86
+ }
87
+
88
+
89
+ div#bodyContent {
90
+ padding: 0 1.5em 0 1.5em;
91
+ }
92
+
93
+ div#description {
94
+ padding: 0.5em 1.5em;
95
+ background: #efefef;
96
+ border: 1px dotted #999;
97
+ }
98
+
99
+ div#description h1,h2,h3,h4,h5,h6 {
100
+ color: #125;;
101
+ background: transparent;
102
+ }
103
+
104
+ div#validator-badges {
105
+ text-align: center;
106
+ }
107
+ div#validator-badges img { border: 0; }
108
+
109
+ div#copyright {
110
+ color: #333;
111
+ background: #efefef;
112
+ font: 0.75em sans-serif;
113
+ margin-top: 5em;
114
+ margin-bottom: 0;
115
+ padding: 0.5em 2em;
116
+ }
117
+
118
+
119
+ /* === Classes =================================== */
120
+
121
+ table.header-table {
122
+ color: white;
123
+ font-size: small;
124
+ }
125
+
126
+ .type-note {
127
+ font-size: small;
128
+ color: #DEDEDE;
129
+ }
130
+
131
+ .xxsection-bar {
132
+ background: #eee;
133
+ color: #333;
134
+ padding: 3px;
135
+ }
136
+
137
+ .section-bar {
138
+ color: #333;
139
+ border-bottom: 1px solid #999;
140
+ margin-left: -20px;
141
+ }
142
+
143
+
144
+ .section-title {
145
+ background: #79a;
146
+ color: #eee;
147
+ padding: 3px;
148
+ margin-top: 2em;
149
+ margin-left: -30px;
150
+ border: 1px solid #999;
151
+ }
152
+
153
+ .top-aligned-row { vertical-align: top }
154
+ .bottom-aligned-row { vertical-align: bottom }
155
+
156
+ /* --- Context section classes ----------------------- */
157
+
158
+ .context-row { }
159
+ .context-item-name { font-family: monospace; font-weight: bold; color: black; }
160
+ .context-item-value { font-size: small; color: #448; }
161
+ .context-item-desc { color: #333; padding-left: 2em; }
162
+
163
+ /* --- Method classes -------------------------- */
164
+ .method-detail {
165
+ background: #efefef;
166
+ padding: 0;
167
+ margin-top: 0.5em;
168
+ margin-bottom: 1em;
169
+ border: 1px dotted #ccc;
170
+ }
171
+ .method-heading {
172
+ color: black;
173
+ background: #ccc;
174
+ border-bottom: 1px solid #666;
175
+ padding: 0.2em 0.5em 0 0.5em;
176
+ }
177
+ .method-signature { color: black; background: inherit; }
178
+ .method-name { font-weight: bold; }
179
+ .method-args { font-style: italic; }
180
+ .method-description { padding: 0 0.5em 0 0.5em; }
181
+
182
+ /* --- Source code sections -------------------- */
183
+
184
+ a.source-toggle { font-size: 90%; }
185
+ div.method-source-code {
186
+ background: #262626;
187
+ color: #ffdead;
188
+ margin: 1em;
189
+ padding: 0.5em;
190
+ border: 1px dashed #999;
191
+ overflow: hidden;
192
+ }
193
+
194
+ div.method-source-code pre { color: #ffdead; overflow: hidden; }
195
+
196
+ /* --- Ruby keyword styles --------------------- */
197
+
198
+ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
199
+
200
+ .ruby-constant { color: #7fffd4; background: transparent; }
201
+ .ruby-keyword { color: #00ffff; background: transparent; }
202
+ .ruby-ivar { color: #eedd82; background: transparent; }
203
+ .ruby-operator { color: #00ffee; background: transparent; }
204
+ .ruby-identifier { color: #ffdead; background: transparent; }
205
+ .ruby-node { color: #ffa07a; background: transparent; }
206
+ .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
207
+ .ruby-regexp { color: #ffa07a; background: transparent; }
208
+ .ruby-value { color: #7fffd4; background: transparent; }
@@ -0,0 +1,75 @@
1
+ ##
2
+ ## $Rev: 1 $
3
+ ## $Release: 1.0.0 $
4
+ ## copyright(c) 2006 kuwata-lab.com all rights reserved.
5
+ ##
6
+ ##
7
+ ## helper to define abstract method in Ruby.
8
+ ##
9
+ ##
10
+ ## example1. (shorter notation)
11
+ ##
12
+ ## require 'abstract'
13
+ ## class Foo
14
+ ## abstract_method 'arg1, arg2=""', :method1, :method2, :method3
15
+ ## end
16
+ ##
17
+ ##
18
+ ## example2. (RDoc friendly notation)
19
+ ##
20
+ ## require 'abstract'
21
+ ## class Bar
22
+ ## # ... method1 description ...
23
+ ## def method1(arg1, arg2="")
24
+ ## not_implemented
25
+ ## end
26
+ ##
27
+ ## # ... method2 description ...
28
+ ## def method2(arg1, arg2="")
29
+ ## not_implemented
30
+ ## end
31
+ ## end
32
+ ##
33
+
34
+
35
+ ##
36
+ class Module
37
+
38
+ ##
39
+ ## define abstract methods
40
+ ##
41
+ def abstract_method args_str, *method_names
42
+ method_names.each do |name|
43
+ module_eval <<-END
44
+ def #{name}(#{args_str})
45
+ mesg = "class \#{self.class.name} must implement abstract method `#{self.name}##{name}()'."
46
+ #mesg = "\#{self.class.name}##{name}() is not implemented."
47
+ err = NotImplementedError.new mesg
48
+ err.set_backtrace caller()
49
+ raise err
50
+ end
51
+ END
52
+ end
53
+ end
54
+
55
+ end
56
+
57
+
58
+ ##
59
+ module Kernel
60
+
61
+ ##
62
+ ## raise NotImplementedError
63
+ ##
64
+ def not_implemented #:doc:
65
+ backtrace = caller()
66
+ method_name = (backtrace.shift =~ /`(\w+)'$/) && $1
67
+ mesg = "class #{self.class.name} must implement abstract method '#{method_name}()'."
68
+ #mesg = "#{self.class.name}##{method_name}() is not implemented."
69
+ err = NotImplementedError.new mesg
70
+ err.set_backtrace backtrace
71
+ raise err
72
+ end
73
+ private :not_implemented
74
+
75
+ end
@@ -0,0 +1,1331 @@
1
+ #
2
+ # setup.rb
3
+ #
4
+ # Copyright (c) 2000-2004 Minero Aoki
5
+ #
6
+ # This program is free software.
7
+ # You can distribute/modify this program under the terms of
8
+ # the GNU Lesser General Public License version 2.1.
9
+ #
10
+
11
+ #
12
+ # For backward compatibility
13
+ #
14
+
15
+ unless Enumerable.method_defined?(:map)
16
+ module Enumerable
17
+ alias map collect
18
+ end
19
+ end
20
+
21
+ unless Enumerable.method_defined?(:detect)
22
+ module Enumerable
23
+ alias detect find
24
+ end
25
+ end
26
+
27
+ unless Enumerable.method_defined?(:select)
28
+ module Enumerable
29
+ alias select find_all
30
+ end
31
+ end
32
+
33
+ unless Enumerable.method_defined?(:reject)
34
+ module Enumerable
35
+ def reject
36
+ result = []
37
+ each do |i|
38
+ result.push i unless yield(i)
39
+ end
40
+ result
41
+ end
42
+ end
43
+ end
44
+
45
+ unless Enumerable.method_defined?(:inject)
46
+ module Enumerable
47
+ def inject(result)
48
+ each do |i|
49
+ result = yield(result, i)
50
+ end
51
+ result
52
+ end
53
+ end
54
+ end
55
+
56
+ unless Enumerable.method_defined?(:any?)
57
+ module Enumerable
58
+ def any?
59
+ each do |i|
60
+ return true if yield(i)
61
+ end
62
+ false
63
+ end
64
+ end
65
+ end
66
+
67
+ unless File.respond_to?(:read)
68
+ def File.read(fname)
69
+ open(fname) {|f|
70
+ return f.read
71
+ }
72
+ end
73
+ end
74
+
75
+ #
76
+ # Application independent utilities
77
+ #
78
+
79
+ def File.binread(fname)
80
+ open(fname, 'rb') {|f|
81
+ return f.read
82
+ }
83
+ end
84
+
85
+ # for corrupted windows stat(2)
86
+ def File.dir?(path)
87
+ File.directory?((path[-1,1] == '/') ? path : path + '/')
88
+ end
89
+
90
+ #
91
+ # Config
92
+ #
93
+
94
+ if arg = ARGV.detect{|arg| /\A--rbconfig=/ =~ arg }
95
+ ARGV.delete(arg)
96
+ require arg.split(/=/, 2)[1]
97
+ $".push 'rbconfig.rb'
98
+ else
99
+ require 'rbconfig'
100
+ end
101
+
102
+ def multipackage_install?
103
+ FileTest.directory?(File.dirname($0) + '/packages')
104
+ end
105
+
106
+
107
+ class ConfigTable
108
+
109
+ c = ::Config::CONFIG
110
+
111
+ rubypath = c['bindir'] + '/' + c['ruby_install_name']
112
+
113
+ major = c['MAJOR'].to_i
114
+ minor = c['MINOR'].to_i
115
+ teeny = c['TEENY'].to_i
116
+ version = "#{major}.#{minor}"
117
+
118
+ # ruby ver. >= 1.4.4?
119
+ newpath_p = ((major >= 2) or
120
+ ((major == 1) and
121
+ ((minor >= 5) or
122
+ ((minor == 4) and (teeny >= 4)))))
123
+
124
+ subprefix = lambda {|path|
125
+ path.sub(/\A#{Regexp.quote(c['prefix'])}/o, '$prefix')
126
+ }
127
+
128
+ if c['rubylibdir']
129
+ # V < 1.6.3
130
+ stdruby = subprefix.call(c['rubylibdir'])
131
+ siteruby = subprefix.call(c['sitedir'])
132
+ versite = subprefix.call(c['sitelibdir'])
133
+ sodir = subprefix.call(c['sitearchdir'])
134
+ elsif newpath_p
135
+ # 1.4.4 <= V <= 1.6.3
136
+ stdruby = "$prefix/lib/ruby/#{version}"
137
+ siteruby = subprefix.call(c['sitedir'])
138
+ versite = siteruby + '/' + version
139
+ sodir = "$site-ruby/#{c['arch']}"
140
+ else
141
+ # V < 1.4.4
142
+ stdruby = "$prefix/lib/ruby/#{version}"
143
+ siteruby = "$prefix/lib/ruby/#{version}/site_ruby"
144
+ versite = siteruby
145
+ sodir = "$site-ruby/#{c['arch']}"
146
+ end
147
+
148
+ if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ arg }
149
+ makeprog = arg.sub(/'/, '').split(/=/, 2)[1]
150
+ else
151
+ makeprog = 'make'
152
+ end
153
+
154
+ common_descripters = [
155
+ [ 'prefix', [ c['prefix'],
156
+ 'path',
157
+ 'path prefix of target environment' ] ],
158
+ [ 'std-ruby', [ stdruby,
159
+ 'path',
160
+ 'the directory for standard ruby libraries' ] ],
161
+ [ 'site-ruby-common', [ siteruby,
162
+ 'path',
163
+ 'the directory for version-independent non-standard ruby libraries' ] ],
164
+ [ 'site-ruby', [ versite,
165
+ 'path',
166
+ 'the directory for non-standard ruby libraries' ] ],
167
+ [ 'bin-dir', [ '$prefix/bin',
168
+ 'path',
169
+ 'the directory for commands' ] ],
170
+ [ 'rb-dir', [ '$site-ruby',
171
+ 'path',
172
+ 'the directory for ruby scripts' ] ],
173
+ [ 'so-dir', [ sodir,
174
+ 'path',
175
+ 'the directory for ruby extentions' ] ],
176
+ [ 'data-dir', [ '$prefix/share',
177
+ 'path',
178
+ 'the directory for shared data' ] ],
179
+ [ 'ruby-path', [ rubypath,
180
+ 'path',
181
+ 'path to set to #! line' ] ],
182
+ [ 'ruby-prog', [ rubypath,
183
+ 'name',
184
+ 'the ruby program using for installation' ] ],
185
+ [ 'make-prog', [ makeprog,
186
+ 'name',
187
+ 'the make program to compile ruby extentions' ] ],
188
+ [ 'without-ext', [ 'no',
189
+ 'yes/no',
190
+ 'does not compile/install ruby extentions' ] ]
191
+ ]
192
+ multipackage_descripters = [
193
+ [ 'with', [ '',
194
+ 'name,name...',
195
+ 'package names that you want to install',
196
+ 'ALL' ] ],
197
+ [ 'without', [ '',
198
+ 'name,name...',
199
+ 'package names that you do not want to install',
200
+ 'NONE' ] ]
201
+ ]
202
+ if multipackage_install?
203
+ DESCRIPTER = common_descripters + multipackage_descripters
204
+ else
205
+ DESCRIPTER = common_descripters
206
+ end
207
+
208
+ SAVE_FILE = 'config.save'
209
+
210
+ def ConfigTable.each_name(&block)
211
+ keys().each(&block)
212
+ end
213
+
214
+ def ConfigTable.keys
215
+ DESCRIPTER.map {|name, *dummy| name }
216
+ end
217
+
218
+ def ConfigTable.each_definition(&block)
219
+ DESCRIPTER.each(&block)
220
+ end
221
+
222
+ def ConfigTable.get_entry(name)
223
+ name, ent = DESCRIPTER.assoc(name)
224
+ ent
225
+ end
226
+
227
+ def ConfigTable.get_entry!(name)
228
+ get_entry(name) or raise ArgumentError, "no such config: #{name}"
229
+ end
230
+
231
+ def ConfigTable.add_entry(name, vals)
232
+ ConfigTable::DESCRIPTER.push [name,vals]
233
+ end
234
+
235
+ def ConfigTable.remove_entry(name)
236
+ get_entry(name) or raise ArgumentError, "no such config: #{name}"
237
+ DESCRIPTER.delete_if {|n, arr| n == name }
238
+ end
239
+
240
+ def ConfigTable.config_key?(name)
241
+ get_entry(name) ? true : false
242
+ end
243
+
244
+ def ConfigTable.bool_config?(name)
245
+ ent = get_entry(name) or return false
246
+ ent[1] == 'yes/no'
247
+ end
248
+
249
+ def ConfigTable.value_config?(name)
250
+ ent = get_entry(name) or return false
251
+ ent[1] != 'yes/no'
252
+ end
253
+
254
+ def ConfigTable.path_config?(name)
255
+ ent = get_entry(name) or return false
256
+ ent[1] == 'path'
257
+ end
258
+
259
+
260
+ class << self
261
+ alias newobj new
262
+ end
263
+
264
+ def ConfigTable.new
265
+ c = newobj()
266
+ c.initialize_from_table
267
+ c
268
+ end
269
+
270
+ def ConfigTable.load
271
+ c = newobj()
272
+ c.initialize_from_file
273
+ c
274
+ end
275
+
276
+ def initialize_from_table
277
+ @table = {}
278
+ DESCRIPTER.each do |k, (default, vname, desc, default2)|
279
+ @table[k] = default
280
+ end
281
+ end
282
+
283
+ def initialize_from_file
284
+ raise InstallError, "#{File.basename $0} config first"\
285
+ unless File.file?(SAVE_FILE)
286
+ @table = {}
287
+ File.foreach(SAVE_FILE) do |line|
288
+ k, v = line.split(/=/, 2)
289
+ @table[k] = v.strip
290
+ end
291
+ end
292
+
293
+ def save
294
+ File.open(SAVE_FILE, 'w') {|f|
295
+ @table.each do |k, v|
296
+ f.printf "%s=%s\n", k, v if v
297
+ end
298
+ }
299
+ end
300
+
301
+ def []=(k, v)
302
+ raise InstallError, "unknown config option #{k}"\
303
+ unless ConfigTable.config_key?(k)
304
+ @table[k] = v
305
+ end
306
+
307
+ def [](key)
308
+ return nil unless @table[key]
309
+ @table[key].gsub(%r<\$([^/]+)>) { self[$1] }
310
+ end
311
+
312
+ def set_raw(key, val)
313
+ @table[key] = val
314
+ end
315
+
316
+ def get_raw(key)
317
+ @table[key]
318
+ end
319
+
320
+ end
321
+
322
+
323
+ module MetaConfigAPI
324
+
325
+ def eval_file_ifexist(fname)
326
+ instance_eval File.read(fname), fname, 1 if File.file?(fname)
327
+ end
328
+
329
+ def config_names
330
+ ConfigTable.keys
331
+ end
332
+
333
+ def config?(name)
334
+ ConfigTable.config_key?(name)
335
+ end
336
+
337
+ def bool_config?(name)
338
+ ConfigTable.bool_config?(name)
339
+ end
340
+
341
+ def value_config?(name)
342
+ ConfigTable.value_config?(name)
343
+ end
344
+
345
+ def path_config?(name)
346
+ ConfigTable.path_config?(name)
347
+ end
348
+
349
+ def add_config(name, argname, default, desc)
350
+ ConfigTable.add_entry name,[default,argname,desc]
351
+ end
352
+
353
+ def add_path_config(name, default, desc)
354
+ add_config name, 'path', default, desc
355
+ end
356
+
357
+ def add_bool_config(name, default, desc)
358
+ add_config name, 'yes/no', default ? 'yes' : 'no', desc
359
+ end
360
+
361
+ def set_config_default(name, default)
362
+ if bool_config?(name)
363
+ ConfigTable.get_entry!(name)[0] = (default ? 'yes' : 'no')
364
+ else
365
+ ConfigTable.get_entry!(name)[0] = default
366
+ end
367
+ end
368
+
369
+ def remove_config(name)
370
+ ent = ConfigTable.get_entry(name)
371
+ ConfigTable.remove_entry name
372
+ ent
373
+ end
374
+
375
+ end
376
+
377
+ #
378
+ # File Operations
379
+ #
380
+
381
+ module FileOperations
382
+
383
+ def mkdir_p(dirname, prefix = nil)
384
+ dirname = prefix + dirname if prefix
385
+ $stderr.puts "mkdir -p #{dirname}" if verbose?
386
+ return if no_harm?
387
+
388
+ # does not check '/'... it's too abnormal case
389
+ dirs = dirname.split(%r<(?=/)>)
390
+ if /\A[a-z]:\z/i =~ dirs[0]
391
+ disk = dirs.shift
392
+ dirs[0] = disk + dirs[0]
393
+ end
394
+ dirs.each_index do |idx|
395
+ path = dirs[0..idx].join('')
396
+ Dir.mkdir path unless File.dir?(path)
397
+ end
398
+ end
399
+
400
+ def rm_f(fname)
401
+ $stderr.puts "rm -f #{fname}" if verbose?
402
+ return if no_harm?
403
+
404
+ if File.exist?(fname) or File.symlink?(fname)
405
+ File.chmod 0777, fname
406
+ File.unlink fname
407
+ end
408
+ end
409
+
410
+ def rm_rf(dn)
411
+ $stderr.puts "rm -rf #{dn}" if verbose?
412
+ return if no_harm?
413
+
414
+ Dir.chdir dn
415
+ Dir.foreach('.') do |fn|
416
+ next if fn == '.'
417
+ next if fn == '..'
418
+ if File.dir?(fn)
419
+ verbose_off {
420
+ rm_rf fn
421
+ }
422
+ else
423
+ verbose_off {
424
+ rm_f fn
425
+ }
426
+ end
427
+ end
428
+ Dir.chdir '..'
429
+ Dir.rmdir dn
430
+ end
431
+
432
+ def move_file(src, dest)
433
+ File.unlink dest if File.exist?(dest)
434
+ begin
435
+ File.rename src, dest
436
+ rescue
437
+ File.open(dest, 'wb') {|f| f.write File.binread(src) }
438
+ File.chmod File.stat(src).mode, dest
439
+ File.unlink src
440
+ end
441
+ end
442
+
443
+ def install(from, dest, mode, prefix = nil)
444
+ $stderr.puts "install #{from} #{dest}" if verbose?
445
+ return if no_harm?
446
+
447
+ realdest = prefix + dest if prefix
448
+ realdest = File.join(realdest, File.basename(from)) if File.dir?(realdest)
449
+ str = File.binread(from)
450
+ if diff?(str, realdest)
451
+ verbose_off {
452
+ rm_f realdest if File.exist?(realdest)
453
+ }
454
+ File.open(realdest, 'wb') {|f|
455
+ f.write str
456
+ }
457
+ File.chmod mode, realdest
458
+
459
+ File.open("#{objdir_root()}/InstalledFiles", 'a') {|f|
460
+ if prefix
461
+ f.puts realdest.sub(prefix, '')
462
+ else
463
+ f.puts realdest
464
+ end
465
+ }
466
+ end
467
+ end
468
+
469
+ def diff?(new_content, path)
470
+ return true unless File.exist?(path)
471
+ new_content != File.binread(path)
472
+ end
473
+
474
+ def command(str)
475
+ $stderr.puts str if verbose?
476
+ system str or raise RuntimeError, "'system #{str}' failed"
477
+ end
478
+
479
+ def ruby(str)
480
+ command config('ruby-prog') + ' ' + str
481
+ end
482
+
483
+ def make(task = '')
484
+ command config('make-prog') + ' ' + task
485
+ end
486
+
487
+ def extdir?(dir)
488
+ File.exist?(dir + '/MANIFEST')
489
+ end
490
+
491
+ def all_files_in(dirname)
492
+ Dir.open(dirname) {|d|
493
+ return d.select {|ent| File.file?("#{dirname}/#{ent}") }
494
+ }
495
+ end
496
+
497
+ REJECT_DIRS = %w(
498
+ CVS SCCS RCS CVS.adm
499
+ )
500
+
501
+ def all_dirs_in(dirname)
502
+ Dir.open(dirname) {|d|
503
+ return d.select {|n| File.dir?("#{dirname}/#{n}") } - %w(. ..) - REJECT_DIRS
504
+ }
505
+ end
506
+
507
+ end
508
+
509
+ #
510
+ # Main Installer
511
+ #
512
+
513
+ class InstallError < StandardError; end
514
+
515
+
516
+ module HookUtils
517
+
518
+ def run_hook(name)
519
+ try_run_hook "#{curr_srcdir()}/#{name}" or
520
+ try_run_hook "#{curr_srcdir()}/#{name}.rb"
521
+ end
522
+
523
+ def try_run_hook(fname)
524
+ return false unless File.file?(fname)
525
+ begin
526
+ instance_eval File.read(fname), fname, 1
527
+ rescue
528
+ raise InstallError, "hook #{fname} failed:\n" + $!.message
529
+ end
530
+ true
531
+ end
532
+
533
+ end
534
+
535
+
536
+ module HookScriptAPI
537
+
538
+ def get_config(key)
539
+ @config[key]
540
+ end
541
+
542
+ alias config get_config
543
+
544
+ def set_config(key, val)
545
+ @config[key] = val
546
+ end
547
+
548
+ #
549
+ # srcdir/objdir (works only in the package directory)
550
+ #
551
+
552
+ #abstract srcdir_root
553
+ #abstract objdir_root
554
+ #abstract relpath
555
+
556
+ def curr_srcdir
557
+ "#{srcdir_root()}/#{relpath()}"
558
+ end
559
+
560
+ def curr_objdir
561
+ "#{objdir_root()}/#{relpath()}"
562
+ end
563
+
564
+ def srcfile(path)
565
+ "#{curr_srcdir()}/#{path}"
566
+ end
567
+
568
+ def srcexist?(path)
569
+ File.exist?(srcfile(path))
570
+ end
571
+
572
+ def srcdirectory?(path)
573
+ File.dir?(srcfile(path))
574
+ end
575
+
576
+ def srcfile?(path)
577
+ File.file? srcfile(path)
578
+ end
579
+
580
+ def srcentries(path = '.')
581
+ Dir.open("#{curr_srcdir()}/#{path}") {|d|
582
+ return d.to_a - %w(. ..)
583
+ }
584
+ end
585
+
586
+ def srcfiles(path = '.')
587
+ srcentries(path).select {|fname|
588
+ File.file?(File.join(curr_srcdir(), path, fname))
589
+ }
590
+ end
591
+
592
+ def srcdirectories(path = '.')
593
+ srcentries(path).select {|fname|
594
+ File.dir?(File.join(curr_srcdir(), path, fname))
595
+ }
596
+ end
597
+
598
+ end
599
+
600
+
601
+ class ToplevelInstaller
602
+
603
+ Version = '3.2.4'
604
+ Copyright = 'Copyright (c) 2000-2004 Minero Aoki'
605
+
606
+ TASKS = [
607
+ [ 'config', 'saves your configurations' ],
608
+ [ 'show', 'shows current configuration' ],
609
+ [ 'setup', 'compiles ruby extentions and others' ],
610
+ [ 'install', 'installs files' ],
611
+ [ 'clean', "does `make clean' for each extention" ],
612
+ [ 'distclean',"does `make distclean' for each extention" ]
613
+ ]
614
+
615
+ def ToplevelInstaller.invoke
616
+ instance().invoke
617
+ end
618
+
619
+ @singleton = nil
620
+
621
+ def ToplevelInstaller.instance
622
+ @singleton ||= new(File.dirname($0))
623
+ @singleton
624
+ end
625
+
626
+ include MetaConfigAPI
627
+
628
+ def initialize(ardir_root)
629
+ @config = nil
630
+ @options = { 'verbose' => true }
631
+ @ardir = File.expand_path(ardir_root)
632
+ end
633
+
634
+ def inspect
635
+ "#<#{self.class} #{__id__()}>"
636
+ end
637
+
638
+ def invoke
639
+ run_metaconfigs
640
+ task = parsearg_global()
641
+ @config = load_config(task)
642
+ __send__ "parsearg_#{task}"
643
+ init_installers
644
+ __send__ "exec_#{task}"
645
+ end
646
+
647
+ def run_metaconfigs
648
+ eval_file_ifexist "#{@ardir}/metaconfig"
649
+ end
650
+
651
+ def load_config(task)
652
+ case task
653
+ when 'config'
654
+ ConfigTable.new
655
+ when 'clean', 'distclean'
656
+ if File.exist?('config.save')
657
+ then ConfigTable.load
658
+ else ConfigTable.new
659
+ end
660
+ else
661
+ ConfigTable.load
662
+ end
663
+ end
664
+
665
+ def init_installers
666
+ @installer = Installer.new(@config, @options, @ardir, File.expand_path('.'))
667
+ end
668
+
669
+ #
670
+ # Hook Script API bases
671
+ #
672
+
673
+ def srcdir_root
674
+ @ardir
675
+ end
676
+
677
+ def objdir_root
678
+ '.'
679
+ end
680
+
681
+ def relpath
682
+ '.'
683
+ end
684
+
685
+ #
686
+ # Option Parsing
687
+ #
688
+
689
+ def parsearg_global
690
+ valid_task = /\A(?:#{TASKS.map {|task,desc| task }.join '|'})\z/
691
+
692
+ while arg = ARGV.shift
693
+ case arg
694
+ when /\A\w+\z/
695
+ raise InstallError, "invalid task: #{arg}" unless valid_task =~ arg
696
+ return arg
697
+
698
+ when '-q', '--quiet'
699
+ @options['verbose'] = false
700
+
701
+ when '--verbose'
702
+ @options['verbose'] = true
703
+
704
+ when '-h', '--help'
705
+ print_usage $stdout
706
+ exit 0
707
+
708
+ when '-v', '--version'
709
+ puts "#{File.basename($0)} version #{Version}"
710
+ exit 0
711
+
712
+ when '--copyright'
713
+ puts Copyright
714
+ exit 0
715
+
716
+ else
717
+ raise InstallError, "unknown global option '#{arg}'"
718
+ end
719
+ end
720
+
721
+ raise InstallError, <<EOS
722
+ No task or global option given.
723
+ Typical installation procedure is:
724
+ $ ruby #{File.basename($0)} config
725
+ $ ruby #{File.basename($0)} setup
726
+ # ruby #{File.basename($0)} install (may require root privilege)
727
+ EOS
728
+ end
729
+
730
+
731
+ def parsearg_no_options
732
+ raise InstallError, "#{task}: unknown options: #{ARGV.join ' '}"\
733
+ unless ARGV.empty?
734
+ end
735
+
736
+ alias parsearg_show parsearg_no_options
737
+ alias parsearg_setup parsearg_no_options
738
+ alias parsearg_clean parsearg_no_options
739
+ alias parsearg_distclean parsearg_no_options
740
+
741
+ def parsearg_config
742
+ re = /\A--(#{ConfigTable.keys.join '|'})(?:=(.*))?\z/
743
+ @options['config-opt'] = []
744
+
745
+ while i = ARGV.shift
746
+ if /\A--?\z/ =~ i
747
+ @options['config-opt'] = ARGV.dup
748
+ break
749
+ end
750
+ m = re.match(i) or raise InstallError, "config: unknown option #{i}"
751
+ name, value = m.to_a[1,2]
752
+ if value
753
+ if ConfigTable.bool_config?(name)
754
+ raise InstallError, "config: --#{name} allows only yes/no for argument"\
755
+ unless /\A(y(es)?|n(o)?|t(rue)?|f(alse))\z/i =~ value
756
+ value = (/\Ay(es)?|\At(rue)/i =~ value) ? 'yes' : 'no'
757
+ end
758
+ else
759
+ raise InstallError, "config: --#{name} requires argument"\
760
+ unless ConfigTable.bool_config?(name)
761
+ value = 'yes'
762
+ end
763
+ @config[name] = value
764
+ end
765
+ end
766
+
767
+ def parsearg_install
768
+ @options['no-harm'] = false
769
+ @options['install-prefix'] = ''
770
+ while a = ARGV.shift
771
+ case a
772
+ when /\A--no-harm\z/
773
+ @options['no-harm'] = true
774
+ when /\A--prefix=(.*)\z/
775
+ path = $1
776
+ path = File.expand_path(path) unless path[0,1] == '/'
777
+ @options['install-prefix'] = path
778
+ else
779
+ raise InstallError, "install: unknown option #{a}"
780
+ end
781
+ end
782
+ end
783
+
784
+ def print_usage(out)
785
+ out.puts 'Typical Installation Procedure:'
786
+ out.puts " $ ruby #{File.basename $0} config"
787
+ out.puts " $ ruby #{File.basename $0} setup"
788
+ out.puts " # ruby #{File.basename $0} install (may require root privilege)"
789
+ out.puts
790
+ out.puts 'Detailed Usage:'
791
+ out.puts " ruby #{File.basename $0} <global option>"
792
+ out.puts " ruby #{File.basename $0} [<global options>] <task> [<task options>]"
793
+
794
+ fmt = " %-20s %s\n"
795
+ out.puts
796
+ out.puts 'Global options:'
797
+ out.printf fmt, '-q,--quiet', 'suppress message outputs'
798
+ out.printf fmt, ' --verbose', 'output messages verbosely'
799
+ out.printf fmt, '-h,--help', 'print this message'
800
+ out.printf fmt, '-v,--version', 'print version and quit'
801
+ out.printf fmt, ' --copyright', 'print copyright and quit'
802
+
803
+ out.puts
804
+ out.puts 'Tasks:'
805
+ TASKS.each do |name, desc|
806
+ out.printf " %-10s %s\n", name, desc
807
+ end
808
+
809
+ out.puts
810
+ out.puts 'Options for config:'
811
+ ConfigTable.each_definition do |name, (default, arg, desc, default2)|
812
+ out.printf " %-20s %s [%s]\n",
813
+ '--'+ name + (ConfigTable.bool_config?(name) ? '' : '='+arg),
814
+ desc,
815
+ default2 || default
816
+ end
817
+ out.printf " %-20s %s [%s]\n",
818
+ '--rbconfig=path', 'your rbconfig.rb to load', "running ruby's"
819
+
820
+ out.puts
821
+ out.puts 'Options for install:'
822
+ out.printf " %-20s %s [%s]\n",
823
+ '--no-harm', 'only display what to do if given', 'off'
824
+ out.printf " %-20s %s [%s]\n",
825
+ '--prefix', 'install path prefix', '$prefix'
826
+
827
+ out.puts
828
+ end
829
+
830
+ #
831
+ # Task Handlers
832
+ #
833
+
834
+ def exec_config
835
+ @installer.exec_config
836
+ @config.save # must be final
837
+ end
838
+
839
+ def exec_setup
840
+ @installer.exec_setup
841
+ end
842
+
843
+ def exec_install
844
+ @installer.exec_install
845
+ end
846
+
847
+ def exec_show
848
+ ConfigTable.each_name do |k|
849
+ v = @config.get_raw(k)
850
+ if not v or v.empty?
851
+ v = '(not specified)'
852
+ end
853
+ printf "%-10s %s\n", k, v
854
+ end
855
+ end
856
+
857
+ def exec_clean
858
+ @installer.exec_clean
859
+ end
860
+
861
+ def exec_distclean
862
+ @installer.exec_distclean
863
+ end
864
+
865
+ end
866
+
867
+
868
+ class ToplevelInstallerMulti < ToplevelInstaller
869
+
870
+ include HookUtils
871
+ include HookScriptAPI
872
+ include FileOperations
873
+
874
+ def initialize(ardir)
875
+ super
876
+ @packages = all_dirs_in("#{@ardir}/packages")
877
+ raise 'no package exists' if @packages.empty?
878
+ end
879
+
880
+ def run_metaconfigs
881
+ eval_file_ifexist "#{@ardir}/metaconfig"
882
+ @packages.each do |name|
883
+ eval_file_ifexist "#{@ardir}/packages/#{name}/metaconfig"
884
+ end
885
+ end
886
+
887
+ def init_installers
888
+ @installers = {}
889
+ @packages.each do |pack|
890
+ @installers[pack] = Installer.new(@config, @options,
891
+ "#{@ardir}/packages/#{pack}",
892
+ "packages/#{pack}")
893
+ end
894
+
895
+ with = extract_selection(config('with'))
896
+ without = extract_selection(config('without'))
897
+ @selected = @installers.keys.select {|name|
898
+ (with.empty? or with.include?(name)) \
899
+ and not without.include?(name)
900
+ }
901
+ end
902
+
903
+ def extract_selection(list)
904
+ a = list.split(/,/)
905
+ a.each do |name|
906
+ raise InstallError, "no such package: #{name}" \
907
+ unless @installers.key?(name)
908
+ end
909
+ a
910
+ end
911
+
912
+ def print_usage(f)
913
+ super
914
+ f.puts 'Inluded packages:'
915
+ f.puts ' ' + @packages.sort.join(' ')
916
+ f.puts
917
+ end
918
+
919
+ #
920
+ # multi-package metaconfig API
921
+ #
922
+
923
+ attr_reader :packages
924
+
925
+ def declare_packages(list)
926
+ raise 'package list is empty' if list.empty?
927
+ list.each do |name|
928
+ raise "directory packages/#{name} does not exist"\
929
+ unless File.dir?("#{@ardir}/packages/#{name}")
930
+ end
931
+ @packages = list
932
+ end
933
+
934
+ #
935
+ # Task Handlers
936
+ #
937
+
938
+ def exec_config
939
+ run_hook 'pre-config'
940
+ each_selected_installers {|inst| inst.exec_config }
941
+ run_hook 'post-config'
942
+ @config.save # must be final
943
+ end
944
+
945
+ def exec_setup
946
+ run_hook 'pre-setup'
947
+ each_selected_installers {|inst| inst.exec_setup }
948
+ run_hook 'post-setup'
949
+ end
950
+
951
+ def exec_install
952
+ run_hook 'pre-install'
953
+ each_selected_installers {|inst| inst.exec_install }
954
+ run_hook 'post-install'
955
+ end
956
+
957
+ def exec_clean
958
+ rm_f 'config.save'
959
+ run_hook 'pre-clean'
960
+ each_selected_installers {|inst| inst.exec_clean }
961
+ run_hook 'post-clean'
962
+ end
963
+
964
+ def exec_distclean
965
+ rm_f 'config.save'
966
+ run_hook 'pre-distclean'
967
+ each_selected_installers {|inst| inst.exec_distclean }
968
+ run_hook 'post-distclean'
969
+ end
970
+
971
+ #
972
+ # lib
973
+ #
974
+
975
+ def each_selected_installers
976
+ Dir.mkdir 'packages' unless File.dir?('packages')
977
+ @selected.each do |pack|
978
+ $stderr.puts "Processing the package `#{pack}' ..." if @options['verbose']
979
+ Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}")
980
+ Dir.chdir "packages/#{pack}"
981
+ yield @installers[pack]
982
+ Dir.chdir '../..'
983
+ end
984
+ end
985
+
986
+ def verbose?
987
+ @options['verbose']
988
+ end
989
+
990
+ def no_harm?
991
+ @options['no-harm']
992
+ end
993
+
994
+ end
995
+
996
+
997
+ class Installer
998
+
999
+ FILETYPES = %w( bin lib ext data )
1000
+
1001
+ include HookScriptAPI
1002
+ include HookUtils
1003
+ include FileOperations
1004
+
1005
+ def initialize(config, opt, srcroot, objroot)
1006
+ @config = config
1007
+ @options = opt
1008
+ @srcdir = File.expand_path(srcroot)
1009
+ @objdir = File.expand_path(objroot)
1010
+ @currdir = '.'
1011
+ end
1012
+
1013
+ def inspect
1014
+ "#<#{self.class} #{File.basename(@srcdir)}>"
1015
+ end
1016
+
1017
+ #
1018
+ # Hook Script API bases
1019
+ #
1020
+
1021
+ def srcdir_root
1022
+ @srcdir
1023
+ end
1024
+
1025
+ def objdir_root
1026
+ @objdir
1027
+ end
1028
+
1029
+ def relpath
1030
+ @currdir
1031
+ end
1032
+
1033
+ #
1034
+ # configs/options
1035
+ #
1036
+
1037
+ def no_harm?
1038
+ @options['no-harm']
1039
+ end
1040
+
1041
+ def verbose?
1042
+ @options['verbose']
1043
+ end
1044
+
1045
+ def verbose_off
1046
+ begin
1047
+ save, @options['verbose'] = @options['verbose'], false
1048
+ yield
1049
+ ensure
1050
+ @options['verbose'] = save
1051
+ end
1052
+ end
1053
+
1054
+ #
1055
+ # TASK config
1056
+ #
1057
+
1058
+ def exec_config
1059
+ exec_task_traverse 'config'
1060
+ end
1061
+
1062
+ def config_dir_bin(rel)
1063
+ end
1064
+
1065
+ def config_dir_lib(rel)
1066
+ end
1067
+
1068
+ def config_dir_ext(rel)
1069
+ extconf if extdir?(curr_srcdir())
1070
+ end
1071
+
1072
+ def extconf
1073
+ opt = @options['config-opt'].join(' ')
1074
+ command "#{config('ruby-prog')} #{curr_srcdir()}/extconf.rb #{opt}"
1075
+ end
1076
+
1077
+ def config_dir_data(rel)
1078
+ end
1079
+
1080
+ #
1081
+ # TASK setup
1082
+ #
1083
+
1084
+ def exec_setup
1085
+ exec_task_traverse 'setup'
1086
+ end
1087
+
1088
+ def setup_dir_bin(rel)
1089
+ all_files_in(curr_srcdir()).each do |fname|
1090
+ adjust_shebang "#{curr_srcdir()}/#{fname}"
1091
+ end
1092
+ end
1093
+
1094
+ # modify: #!/usr/bin/ruby
1095
+ # modify: #! /usr/bin/ruby
1096
+ # modify: #!ruby
1097
+ # not modify: #!/usr/bin/env ruby
1098
+ SHEBANG_RE = /\A\#!\s*\S*ruby\S*/
1099
+
1100
+ def adjust_shebang(path)
1101
+ return if no_harm?
1102
+
1103
+ tmpfile = File.basename(path) + '.tmp'
1104
+ begin
1105
+ File.open(path, 'rb') {|r|
1106
+ File.open(tmpfile, 'wb') {|w|
1107
+ first = r.gets
1108
+ return unless SHEBANG_RE =~ first
1109
+
1110
+ $stderr.puts "adjusting shebang: #{File.basename path}" if verbose?
1111
+ w.print first.sub(SHEBANG_RE, '#!' + config('ruby-path'))
1112
+ w.write r.read
1113
+ }
1114
+ }
1115
+ move_file tmpfile, File.basename(path)
1116
+ ensure
1117
+ File.unlink tmpfile if File.exist?(tmpfile)
1118
+ end
1119
+ end
1120
+
1121
+ def setup_dir_lib(rel)
1122
+ end
1123
+
1124
+ def setup_dir_ext(rel)
1125
+ make if extdir?(curr_srcdir())
1126
+ end
1127
+
1128
+ def setup_dir_data(rel)
1129
+ end
1130
+
1131
+ #
1132
+ # TASK install
1133
+ #
1134
+
1135
+ def exec_install
1136
+ exec_task_traverse 'install'
1137
+ end
1138
+
1139
+ def install_dir_bin(rel)
1140
+ install_files collect_filenames_auto(), "#{config('bin-dir')}/#{rel}", 0755
1141
+ end
1142
+
1143
+ def install_dir_lib(rel)
1144
+ install_files ruby_scripts(), "#{config('rb-dir')}/#{rel}", 0644
1145
+ end
1146
+
1147
+ def install_dir_ext(rel)
1148
+ return unless extdir?(curr_srcdir())
1149
+ install_files ruby_extentions('.'),
1150
+ "#{config('so-dir')}/#{File.dirname(rel)}",
1151
+ 0555
1152
+ end
1153
+
1154
+ def install_dir_data(rel)
1155
+ install_files collect_filenames_auto(), "#{config('data-dir')}/#{rel}", 0644
1156
+ end
1157
+
1158
+ def install_files(list, dest, mode)
1159
+ mkdir_p dest, @options['install-prefix']
1160
+ list.each do |fname|
1161
+ install fname, dest, mode, @options['install-prefix']
1162
+ end
1163
+ end
1164
+
1165
+ def ruby_scripts
1166
+ collect_filenames_auto().select {|n| /\.rb\z/ =~ n }
1167
+ end
1168
+
1169
+ # picked up many entries from cvs-1.11.1/src/ignore.c
1170
+ reject_patterns = %w(
1171
+ core RCSLOG tags TAGS .make.state
1172
+ .nse_depinfo #* .#* cvslog.* ,* .del-* *.olb
1173
+ *~ *.old *.bak *.BAK *.orig *.rej _$* *$
1174
+
1175
+ *.org *.in .*
1176
+ )
1177
+ mapping = {
1178
+ '.' => '\.',
1179
+ '$' => '\$',
1180
+ '#' => '\#',
1181
+ '*' => '.*'
1182
+ }
1183
+ REJECT_PATTERNS = Regexp.new('\A(?:' +
1184
+ reject_patterns.map {|pat|
1185
+ pat.gsub(/[\.\$\#\*]/) {|ch| mapping[ch] }
1186
+ }.join('|') +
1187
+ ')\z')
1188
+
1189
+ def collect_filenames_auto
1190
+ mapdir((existfiles() - hookfiles()).reject {|fname|
1191
+ REJECT_PATTERNS =~ fname
1192
+ })
1193
+ end
1194
+
1195
+ def existfiles
1196
+ all_files_in(curr_srcdir()) | all_files_in('.')
1197
+ end
1198
+
1199
+ def hookfiles
1200
+ %w( pre-%s post-%s pre-%s.rb post-%s.rb ).map {|fmt|
1201
+ %w( config setup install clean ).map {|t| sprintf(fmt, t) }
1202
+ }.flatten
1203
+ end
1204
+
1205
+ def mapdir(filelist)
1206
+ filelist.map {|fname|
1207
+ if File.exist?(fname) # objdir
1208
+ fname
1209
+ else # srcdir
1210
+ File.join(curr_srcdir(), fname)
1211
+ end
1212
+ }
1213
+ end
1214
+
1215
+ def ruby_extentions(dir)
1216
+ _ruby_extentions(dir) or
1217
+ raise InstallError, "no ruby extention exists: 'ruby #{$0} setup' first"
1218
+ end
1219
+
1220
+ DLEXT = /\.#{ ::Config::CONFIG['DLEXT'] }\z/
1221
+
1222
+ def _ruby_extentions(dir)
1223
+ Dir.open(dir) {|d|
1224
+ return d.select {|fname| DLEXT =~ fname }
1225
+ }
1226
+ end
1227
+
1228
+ #
1229
+ # TASK clean
1230
+ #
1231
+
1232
+ def exec_clean
1233
+ exec_task_traverse 'clean'
1234
+ rm_f 'config.save'
1235
+ rm_f 'InstalledFiles'
1236
+ end
1237
+
1238
+ def clean_dir_bin(rel)
1239
+ end
1240
+
1241
+ def clean_dir_lib(rel)
1242
+ end
1243
+
1244
+ def clean_dir_ext(rel)
1245
+ return unless extdir?(curr_srcdir())
1246
+ make 'clean' if File.file?('Makefile')
1247
+ end
1248
+
1249
+ def clean_dir_data(rel)
1250
+ end
1251
+
1252
+ #
1253
+ # TASK distclean
1254
+ #
1255
+
1256
+ def exec_distclean
1257
+ exec_task_traverse 'distclean'
1258
+ rm_f 'config.save'
1259
+ rm_f 'InstalledFiles'
1260
+ end
1261
+
1262
+ def distclean_dir_bin(rel)
1263
+ end
1264
+
1265
+ def distclean_dir_lib(rel)
1266
+ end
1267
+
1268
+ def distclean_dir_ext(rel)
1269
+ return unless extdir?(curr_srcdir())
1270
+ make 'distclean' if File.file?('Makefile')
1271
+ end
1272
+
1273
+ #
1274
+ # lib
1275
+ #
1276
+
1277
+ def exec_task_traverse(task)
1278
+ run_hook "pre-#{task}"
1279
+ FILETYPES.each do |type|
1280
+ if config('without-ext') == 'yes' and type == 'ext'
1281
+ $stderr.puts 'skipping ext/* by user option' if verbose?
1282
+ next
1283
+ end
1284
+ traverse task, type, "#{task}_dir_#{type}"
1285
+ end
1286
+ run_hook "post-#{task}"
1287
+ end
1288
+
1289
+ def traverse(task, rel, mid)
1290
+ dive_into(rel) {
1291
+ run_hook "pre-#{task}"
1292
+ __send__ mid, rel.sub(%r[\A.*?(?:/|\z)], '')
1293
+ all_dirs_in(curr_srcdir()).each do |d|
1294
+ traverse task, "#{rel}/#{d}", mid
1295
+ end
1296
+ run_hook "post-#{task}"
1297
+ }
1298
+ end
1299
+
1300
+ def dive_into(rel)
1301
+ return unless File.dir?("#{@srcdir}/#{rel}")
1302
+
1303
+ dir = File.basename(rel)
1304
+ Dir.mkdir dir unless File.dir?(dir)
1305
+ prevdir = Dir.pwd
1306
+ Dir.chdir dir
1307
+ $stderr.puts '---> ' + rel if verbose?
1308
+ @currdir = rel
1309
+ yield
1310
+ Dir.chdir prevdir
1311
+ $stderr.puts '<--- ' + rel if verbose?
1312
+ @currdir = File.dirname(rel)
1313
+ end
1314
+
1315
+ end
1316
+
1317
+
1318
+ if $0 == __FILE__
1319
+ begin
1320
+ if multipackage_install?
1321
+ ToplevelInstallerMulti.invoke
1322
+ else
1323
+ ToplevelInstaller.invoke
1324
+ end
1325
+ rescue
1326
+ raise if $DEBUG
1327
+ $stderr.puts $!.message
1328
+ $stderr.puts "Try 'ruby #{$0} --help' for detailed usage."
1329
+ exit 1
1330
+ end
1331
+ end