rango 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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,110 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
2
+
3
+ describe Extlib::Inflection do
4
+ describe "#classify" do
5
+ it 'classifies data_mapper as DataMapper' do
6
+ Extlib::Inflection.classify('data_mapper').should == 'DataMapper'
7
+ end
8
+
9
+ it "classifies enlarged_testes as EnlargedTestis" do
10
+ Extlib::Inflection.classify('enlarged_testes').should == 'EnlargedTestis'
11
+ end
12
+
13
+ it "singularizes string first: classifies data_mappers as egg_and_hams as EggAndHam" do
14
+ Extlib::Inflection.classify('egg_and_hams').should == 'EggAndHam'
15
+ end
16
+ end
17
+
18
+ describe "#camelize" do
19
+ it 'camelizes data_mapper as DataMapper' do
20
+ Extlib::Inflection.camelize('data_mapper').should == 'DataMapper'
21
+ end
22
+
23
+ it "camelizes merb as Merb" do
24
+ Extlib::Inflection.camelize('merb').should == 'Merb'
25
+ end
26
+
27
+ it "camelizes data_mapper/resource as DataMapper::Resource" do
28
+ Extlib::Inflection.camelize('data_mapper/resource').should == 'DataMapper::Resource'
29
+ end
30
+
31
+ it "camelizes data_mapper/associations/one_to_many as DataMapper::Associations::OneToMany" do
32
+ Extlib::Inflection.camelize('data_mapper/associations/one_to_many').should == 'DataMapper::Associations::OneToMany'
33
+ end
34
+ end
35
+
36
+ describe "#underscore" do
37
+ it 'underscores DataMapper as data_mapper' do
38
+ Extlib::Inflection.underscore('DataMapper').should == 'data_mapper'
39
+ end
40
+
41
+ it 'underscores Merb as merb' do
42
+ Extlib::Inflection.underscore('Merb').should == 'merb'
43
+ end
44
+
45
+ it 'underscores DataMapper::Resource as data_mapper/resource' do
46
+ Extlib::Inflection.underscore('DataMapper::Resource').should == 'data_mapper/resource'
47
+ end
48
+
49
+ it 'underscores Merb::BootLoader::Rackup as merb/boot_loader/rackup' do
50
+ Extlib::Inflection.underscore('Merb::BootLoader::Rackup').should == 'merb/boot_loader/rackup'
51
+ end
52
+ end
53
+
54
+ describe "#humanize" do
55
+ it 'replaces _ with space: humanizes employee_salary as Employee salary' do
56
+ Extlib::Inflection.humanize('employee_salary').should == 'Employee salary'
57
+ end
58
+
59
+ it "strips _id endings: humanizes author_id as Author" do
60
+ Extlib::Inflection.humanize('author_id').should == 'Author'
61
+ end
62
+ end
63
+
64
+ describe "#demodulize" do
65
+ it 'demodulizes module name: DataMapper::Inflector => Inflector' do
66
+ Extlib::Inflection.demodulize('DataMapper::Inflector').should == 'Inflector'
67
+ end
68
+
69
+ it 'demodulizes module name: A::B::C::D::E => E' do
70
+ Extlib::Inflection.demodulize('A::B::C::D::E').should == 'E'
71
+ end
72
+ end
73
+
74
+ describe "#tableize" do
75
+ it 'pluralizes last word in snake_case strings: fancy_category => fancy_categories' do
76
+ Extlib::Inflection.tableize('fancy_category').should == 'fancy_categories'
77
+ end
78
+
79
+ it 'underscores CamelCase strings before pluralization: enlarged_testis => enlarged_testes' do
80
+ Extlib::Inflection.tableize('enlarged_testis').should == 'enlarged_testes'
81
+ end
82
+
83
+ it 'underscores CamelCase strings before pluralization: FancyCategory => fancy_categories' do
84
+ Extlib::Inflection.tableize('FancyCategory').should == 'fancy_categories'
85
+ end
86
+
87
+ it 'underscores CamelCase strings before pluralization: EnlargedTestis => enlarged_testes' do
88
+ Extlib::Inflection.tableize('EnlargedTestis').should == 'enlarged_testes'
89
+ end
90
+
91
+ it 'replaces :: with underscores: Fancy::Category => fancy_categories' do
92
+ Extlib::Inflection.tableize('Fancy::Category').should == 'fancy_categories'
93
+ end
94
+
95
+ it 'underscores CamelCase strings before pluralization: Enlarged::Testis => enlarged_testes' do
96
+ Extlib::Inflection.tableize('Enlarged::Testis').should == 'enlarged_testes'
97
+ end
98
+
99
+ end
100
+
101
+ describe "#foreign_key" do
102
+ it 'adds _id to downcased string: Message => message_id' do
103
+ Extlib::Inflection.foreign_key('Message').should == 'message_id'
104
+ end
105
+
106
+ it "demodulizes string first: Admin::Post => post_id" do
107
+ Extlib::Inflection.foreign_key('Admin::Post').should == 'post_id'
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,1957 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
2
+
3
+ module LazyArraySpec
4
+ module GroupMethods
5
+ def self.extended(base)
6
+ base.class_inheritable_accessor :loaded, :subject_block, :action_block
7
+ end
8
+
9
+ def subject(&block)
10
+ self.subject_block = block
11
+ end
12
+
13
+ def action(&block)
14
+ self.action_block = block
15
+ end
16
+
17
+ def should_respond_to(method)
18
+ unless loaded
19
+ it { subject.should respond_to(method) }
20
+ end
21
+ end
22
+
23
+ def should_return_expected_value(&block)
24
+ it 'should return expected value' do
25
+ action.should eql(instance_eval(&block))
26
+ end
27
+ end
28
+
29
+ def should_return_subject
30
+ should_return_kind_of(LazyArray)
31
+
32
+ it 'should return self' do
33
+ action.should equal(subject)
34
+ end
35
+ end
36
+
37
+ def should_return_kind_of(klass)
38
+ it { action.should be_a_kind_of(klass) }
39
+ end
40
+
41
+ def should_return_copy
42
+ it 'should not return self' do
43
+ action.should_not equal(subject)
44
+ end
45
+
46
+ it 'should eql self' do
47
+ action.should eql(subject)
48
+ end
49
+ end
50
+
51
+ def should_return_true
52
+ it 'should return true' do
53
+ action.should be_true
54
+ end
55
+ end
56
+
57
+ def should_return_false
58
+ it 'should return false' do
59
+ action.should be_false
60
+ end
61
+ end
62
+
63
+ def should_return_nil
64
+ it 'should return nil' do
65
+ action.should be_nil
66
+ end
67
+ end
68
+
69
+ def should_raise_error(klass, message = nil)
70
+ it { lambda { action }.should raise_error(klass, message) }
71
+ end
72
+
73
+ def should_clear_subject
74
+ it 'should clear self' do
75
+ lambda { action }.should change(subject, :empty?).from(false).to(true)
76
+ end
77
+ end
78
+
79
+ def should_yield_to_each_entry
80
+ it 'should yield to each entry' do
81
+ lambda { action }.should change(@accumulator, :entries).from([]).to(subject.entries)
82
+ end
83
+ end
84
+
85
+ def should_not_change_subject
86
+ it 'should not change self' do
87
+ # XXX: the following does not work with Array#delete_if, even when nothing removed (ruby bug?)
88
+ #subject.freeze
89
+ #lambda { action }.should_not raise_error(RUBY_VERSION >= '1.9.0' ? RuntimeError : TypeError)
90
+ lambda { action }.should_not change(subject, :entries)
91
+ end
92
+ end
93
+
94
+ def should_be_a_kicker
95
+ unless loaded
96
+ it 'should be a kicker' do
97
+ lambda { action }.should change(subject, :loaded?).from(false).to(true)
98
+ end
99
+ end
100
+ end
101
+
102
+ def should_not_be_a_kicker
103
+ unless loaded
104
+ it 'should not be a kicker' do
105
+ subject.should_not be_loaded
106
+ lambda { action }.should_not change(subject, :loaded?)
107
+ end
108
+ end
109
+ end
110
+ end
111
+
112
+ module Methods
113
+ def subject
114
+ @subject ||= instance_eval(&self.class.subject_block)
115
+ end
116
+
117
+ def action
118
+ instance_eval(&self.class.action_block)
119
+ end
120
+ end
121
+ end
122
+
123
+ [ false, true ].each do |loaded|
124
+ describe LazyArray do
125
+ extend LazyArraySpec::GroupMethods
126
+ include LazyArraySpec::Methods
127
+
128
+ self.loaded = loaded
129
+
130
+ # message describing the object state
131
+ state = "(#{'not ' unless loaded}loaded)"
132
+
133
+ before do
134
+ @nancy = 'nancy'
135
+ @bessie = 'bessie'
136
+ @steve = 'steve'
137
+
138
+ @lazy_array = LazyArray.new
139
+ @lazy_array.load_with { |la| la.push(@nancy, @bessie) }
140
+
141
+ @other = LazyArray.new
142
+ @other.load_with { |la| la.push(@steve) }
143
+
144
+ @lazy_array.entries if loaded
145
+ end
146
+
147
+ subject { @lazy_array }
148
+
149
+ it 'should be an Enumerable' do
150
+ (Enumerable === subject).should be_true
151
+ end
152
+
153
+ describe 'when frozen', state do
154
+ before { subject.freeze }
155
+
156
+ it 'should still be able to kick' do
157
+ lambda { subject.entries }.should_not raise_error
158
+ end
159
+
160
+ it 'should not allow any modifications' do
161
+ lambda { subject << @steve }.should raise_error(RUBY_VERSION >= '1.9.0' ? RuntimeError : TypeError)
162
+ end
163
+ end
164
+
165
+ should_respond_to(:<<)
166
+
167
+ describe '#<<' do
168
+ action { subject << @steve }
169
+
170
+ should_return_subject
171
+ should_not_be_a_kicker
172
+
173
+ it 'should append an entry' do
174
+ (subject << @steve).should == [ @nancy, @bessie, @steve ]
175
+ end
176
+ end
177
+
178
+ should_respond_to(:any?)
179
+
180
+ describe '#any?', state do
181
+ describe 'when not provided a block' do
182
+ action { subject.any? }
183
+
184
+ describe 'when the subject has entries that are not loaded' do
185
+ should_return_true
186
+ should_be_a_kicker
187
+ should_not_change_subject
188
+ end
189
+
190
+ describe 'when the subject has entries that are prepended' do
191
+ subject { LazyArray.new.unshift(@nancy) }
192
+
193
+ should_return_true
194
+ should_not_be_a_kicker
195
+ should_not_change_subject
196
+ end
197
+
198
+ describe 'when the subject has entries that are appended' do
199
+ subject { LazyArray.new << @nancy }
200
+
201
+ should_return_true
202
+ should_not_be_a_kicker
203
+ should_not_change_subject
204
+ end
205
+
206
+ describe 'when the subject has no entries' do
207
+ subject { LazyArray.new }
208
+
209
+ should_return_false
210
+ should_be_a_kicker
211
+ should_not_change_subject
212
+ end
213
+ end
214
+
215
+ describe 'when provided a block that always returns true' do
216
+ action { subject.any? { true } }
217
+
218
+ describe 'when the subject has entries that are not loaded' do
219
+ should_return_true
220
+ should_be_a_kicker
221
+ should_not_change_subject
222
+ end
223
+
224
+ describe 'when the subject has entries that are prepended' do
225
+ subject { LazyArray.new.unshift(@nancy) }
226
+
227
+ should_return_true
228
+ should_not_be_a_kicker
229
+ should_not_change_subject
230
+ end
231
+
232
+ describe 'when the subject has entries that are appended' do
233
+ subject { LazyArray.new << @nancy }
234
+
235
+ should_return_true
236
+ should_not_be_a_kicker
237
+ should_not_change_subject
238
+ end
239
+
240
+ describe 'when the subject has no entries' do
241
+ subject { LazyArray.new }
242
+
243
+ should_return_false
244
+ should_be_a_kicker
245
+ should_not_change_subject
246
+ end
247
+ end
248
+ end
249
+
250
+ should_respond_to(:at)
251
+
252
+ describe '#at', state do
253
+ describe 'with positive index' do
254
+ action { subject.at(0) }
255
+
256
+ should_return_expected_value { @nancy }
257
+ should_be_a_kicker
258
+ should_not_change_subject
259
+ end
260
+
261
+ describe 'with positive index', 'after prepending to the LazyArray' do
262
+ before { subject.unshift(@steve) }
263
+
264
+ action { subject.at(0) }
265
+
266
+ should_return_expected_value { @steve }
267
+ should_not_be_a_kicker
268
+ should_not_change_subject
269
+ end
270
+
271
+ describe 'with negative index' do
272
+ action { subject.at(-1) }
273
+
274
+ should_return_expected_value { @bessie }
275
+ should_be_a_kicker
276
+ should_not_change_subject
277
+ end
278
+
279
+ describe 'with negative index', 'after appending to the LazyArray' do
280
+ before { subject.push(@steve) }
281
+
282
+ action { subject.at(-1) }
283
+
284
+ should_return_expected_value { @steve }
285
+ should_not_be_a_kicker
286
+ should_not_change_subject
287
+ end
288
+
289
+ describe 'with an index not within the LazyArray' do
290
+ action { subject.at(2) }
291
+
292
+ should_return_nil
293
+ should_be_a_kicker
294
+ should_not_change_subject
295
+ end
296
+ end
297
+
298
+ should_respond_to(:clear)
299
+
300
+ describe '#clear', state do
301
+ action { subject.clear }
302
+
303
+ should_return_subject
304
+ should_be_a_kicker # only marks as loadd, does not lazy load
305
+ should_clear_subject
306
+ end
307
+
308
+ [ :collect!, :map! ].each do |method|
309
+ it { @lazy_array.should respond_to(method) }
310
+
311
+ describe "##{method}", state do
312
+ before { @accumulator = [] }
313
+
314
+ action { subject.send(method) { |e| @accumulator << e; @steve } }
315
+
316
+ should_return_subject
317
+ should_yield_to_each_entry
318
+ should_be_a_kicker
319
+
320
+ it 'should update with the block results' do
321
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @steve, @steve ])
322
+ end
323
+ end
324
+ end
325
+
326
+ should_respond_to(:concat)
327
+
328
+ describe '#concat', state do
329
+ action { subject.concat(@other) }
330
+
331
+ should_return_subject
332
+ should_not_be_a_kicker
333
+
334
+ it 'should concatenate other Enumerable' do
335
+ subject.concat(@other).should == [ @nancy, @bessie, @steve ]
336
+ end
337
+ end
338
+
339
+ should_respond_to(:delete)
340
+
341
+ describe '#delete', state do
342
+ describe 'with an object within the LazyArray', state do
343
+ action { subject.delete(@nancy) }
344
+
345
+ should_return_expected_value { @nancy }
346
+ should_be_a_kicker
347
+
348
+ it 'should remove the matching entry' do
349
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie ])
350
+ end
351
+ end
352
+
353
+ describe 'with an object not within the LazyArray', 'without a default block' do
354
+ action { subject.delete(@steve) }
355
+
356
+ should_return_nil
357
+ should_not_change_subject
358
+ should_be_a_kicker
359
+ end
360
+
361
+ describe 'with an object not within the LazyArray', 'with a default block' do
362
+ action { subject.delete(@steve) { @steve } }
363
+
364
+ should_return_expected_value { @steve }
365
+ should_not_change_subject
366
+ should_be_a_kicker
367
+ end
368
+ end
369
+
370
+ should_respond_to(:delete_at)
371
+
372
+ describe '#delete_at', state do
373
+ describe 'with a positive index' do
374
+ action { subject.delete_at(0) }
375
+
376
+ should_return_expected_value { @nancy }
377
+ should_be_a_kicker
378
+
379
+ it 'should remove the matching entry' do
380
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie ])
381
+ end
382
+ end
383
+
384
+ describe 'with a positive index', 'after prepending to the LazyArray' do
385
+ before { subject.unshift(@steve) }
386
+
387
+ action { subject.delete_at(0) }
388
+
389
+ should_return_expected_value { @steve }
390
+ should_not_be_a_kicker
391
+
392
+ it 'should remove the matching entry' do
393
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @nancy, @bessie ])
394
+ end
395
+ end
396
+
397
+ describe 'with a negative index' do
398
+ action { subject.delete_at(-1) }
399
+
400
+ should_return_expected_value { @bessie }
401
+ should_be_a_kicker
402
+
403
+ it 'should remove the matching entry' do
404
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy ])
405
+ end
406
+ end
407
+
408
+ describe 'with a negative index', 'after appending to the LazyArray' do
409
+ before { subject.push(@steve) }
410
+
411
+ action { subject.delete_at(-1) }
412
+
413
+ should_return_expected_value { @steve }
414
+ should_not_be_a_kicker
415
+
416
+ it 'should remove the matching entry' do
417
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie ])
418
+ end
419
+ end
420
+
421
+ describe 'with an index not within the LazyArray' do
422
+ action { subject.delete_at(2) }
423
+
424
+ should_return_nil
425
+ should_not_change_subject
426
+ should_be_a_kicker
427
+ end
428
+ end
429
+
430
+ should_respond_to(:delete_if)
431
+
432
+ describe '#delete_if', state do
433
+ before { @accumulator = [] }
434
+
435
+ describe 'with a block that matches an entry' do
436
+ action { subject.delete_if { |e| @accumulator << e; true } }
437
+
438
+ should_return_subject
439
+ should_yield_to_each_entry
440
+ should_not_be_a_kicker
441
+
442
+ it 'should update with the block results' do
443
+ lambda { action }.should change(subject, :empty?).from(false).to(true)
444
+ end
445
+ end
446
+
447
+ describe 'with a block that does not match an entry' do
448
+ action { subject.delete_if { |e| @accumulator << e; false } }
449
+
450
+ should_return_subject
451
+ should_yield_to_each_entry
452
+ should_not_be_a_kicker
453
+ should_not_change_subject
454
+ end
455
+ end
456
+
457
+ should_respond_to(:dup)
458
+
459
+ describe '#dup', state do
460
+ action { subject.dup }
461
+
462
+ should_return_kind_of(LazyArray)
463
+ should_return_copy
464
+ should_not_be_a_kicker
465
+
466
+ if loaded
467
+ it 'should be loaded if subject loaded' do
468
+ action.should be_loaded
469
+ end
470
+ end
471
+ end
472
+
473
+ should_respond_to(:each)
474
+
475
+ describe '#each', state do
476
+ before { @accumulator = [] }
477
+
478
+ action { subject.each { |e| @accumulator << e } }
479
+
480
+ should_return_subject
481
+ should_yield_to_each_entry
482
+ should_be_a_kicker
483
+ should_not_change_subject
484
+ end
485
+
486
+ should_respond_to(:each_index)
487
+
488
+ describe '#each_index', state do
489
+ before { @accumulator = [] }
490
+
491
+ action { subject.each_index { |i| @accumulator << i } }
492
+
493
+ should_return_subject
494
+ should_be_a_kicker
495
+ should_not_change_subject
496
+
497
+ it 'should yield to each index' do
498
+ lambda { action }.should change(@accumulator, :entries).from([]).to([ 0, 1 ])
499
+ end
500
+ end
501
+
502
+ should_respond_to(:each_with_index)
503
+
504
+ describe '#each_with_index', state do
505
+ before { @accumulator = [] }
506
+
507
+ action { subject.each_with_index { |entry,index| @accumulator << [ entry, index ] } }
508
+
509
+ should_return_subject
510
+ should_be_a_kicker
511
+ should_not_change_subject
512
+
513
+ it 'should yield to each entry and index' do
514
+ lambda { action }.should change(@accumulator, :entries).from([]).to([ [ @nancy, 0 ], [ @bessie, 1 ] ])
515
+ end
516
+ end
517
+
518
+ should_respond_to(:empty?)
519
+
520
+ describe '#empty?', state do
521
+ describe 'when the subject has entries that are not loaded' do
522
+ action { subject.empty? }
523
+
524
+ should_return_false
525
+ should_be_a_kicker
526
+ should_not_change_subject
527
+ end
528
+
529
+ describe 'when the subject has entries that are prepended' do
530
+ subject { LazyArray.new.unshift(@nancy) }
531
+
532
+ action { subject.empty? }
533
+
534
+ should_return_false
535
+ should_not_be_a_kicker
536
+ should_not_change_subject
537
+ end
538
+
539
+ describe 'when the subject has entries that are appended' do
540
+ subject { LazyArray.new << @nancy }
541
+
542
+ action { subject.empty? }
543
+
544
+ should_return_false
545
+ should_not_be_a_kicker
546
+ should_not_change_subject
547
+ end
548
+
549
+ describe 'when the subject has no entries' do
550
+ subject { LazyArray.new }
551
+
552
+ action { subject.empty? }
553
+
554
+ should_return_true
555
+ should_be_a_kicker
556
+ should_not_change_subject
557
+ end
558
+
559
+ describe 'when the subject has only nil entries' do
560
+ subject { LazyArray.new << nil }
561
+
562
+ action { subject.empty? }
563
+
564
+ should_return_false
565
+ should_not_be_a_kicker
566
+ should_not_change_subject
567
+ end
568
+
569
+ end
570
+
571
+ [ :eql?, :== ].each do |method|
572
+ should_respond_to(method)
573
+
574
+ describe "##{method}", state do
575
+ describe 'with an Enumerable containing the same entries' do
576
+ before do
577
+ if method == :eql?
578
+ @other = LazyArray.new
579
+ @other.load_with { |la| la.push(@nancy, @bessie) }
580
+ else
581
+ @other = [ @nancy, @bessie ]
582
+ end
583
+ end
584
+
585
+ action { subject.send(method, @other) }
586
+
587
+ should_return_true
588
+ should_be_a_kicker
589
+ should_not_change_subject
590
+ end
591
+
592
+ describe 'with an Enumerable containing different entries' do
593
+ action { subject.send(method, @other) }
594
+
595
+ should_return_false
596
+ should_be_a_kicker
597
+ should_not_change_subject
598
+ end
599
+
600
+ describe 'with an Enumerable with different entries than in head' do
601
+ before { subject.unshift(@nancy) }
602
+
603
+ action { subject.send(method, [ @steve ]) }
604
+
605
+ should_return_false
606
+ should_not_be_a_kicker
607
+ should_not_change_subject
608
+ end
609
+
610
+ describe 'with an Enumerable with different entries than in tail' do
611
+ before { subject.push(@nancy) }
612
+
613
+ action { subject.send(method, [ @steve ]) }
614
+
615
+ should_return_false
616
+ should_not_be_a_kicker
617
+ should_not_change_subject
618
+ end
619
+ end
620
+ end
621
+
622
+ should_respond_to(:fetch)
623
+
624
+ describe '#fetch', state do
625
+ describe 'with positive index' do
626
+ action { subject.fetch(0) }
627
+
628
+ should_return_expected_value { @nancy }
629
+ should_be_a_kicker
630
+ should_not_change_subject
631
+ end
632
+
633
+ describe 'with positive index', 'after prepending to the LazyArray' do
634
+ before { subject.unshift(@steve) }
635
+
636
+ action { subject.fetch(0) }
637
+
638
+ should_return_expected_value { @steve }
639
+ should_not_be_a_kicker
640
+ should_not_change_subject
641
+ end
642
+
643
+ describe 'with negative index' do
644
+ action { subject.fetch(-1) }
645
+
646
+ should_return_expected_value { @bessie }
647
+ should_be_a_kicker
648
+ should_not_change_subject
649
+ end
650
+
651
+ describe 'with negative index', 'after appending to the LazyArray' do
652
+ before { subject.push(@steve) }
653
+
654
+ action { subject.fetch(-1) }
655
+
656
+ should_return_expected_value { @steve }
657
+ should_not_be_a_kicker
658
+ should_not_change_subject
659
+ end
660
+
661
+ describe 'with an index not within the LazyArray' do
662
+ action { subject.fetch(2) }
663
+
664
+ should_raise_error(IndexError)
665
+ end
666
+
667
+ describe 'with an index not within the LazyArray and default' do
668
+ action { subject.fetch(2, @steve) }
669
+
670
+ should_return_expected_value { @steve }
671
+ should_be_a_kicker
672
+ should_not_change_subject
673
+ end
674
+
675
+ describe 'with an index not within the LazyArray and default block' do
676
+ action { subject.fetch(2) { @steve } }
677
+
678
+ should_return_expected_value { @steve }
679
+ should_be_a_kicker
680
+ should_not_change_subject
681
+ end
682
+ end
683
+
684
+ should_respond_to(:freeze)
685
+
686
+ describe '#freeze', state do
687
+ action { subject.freeze }
688
+
689
+ should_return_subject
690
+ should_not_be_a_kicker
691
+
692
+ it { lambda { action }.should change(subject, :frozen?).from(false).to(true) }
693
+ end
694
+
695
+ should_respond_to(:first)
696
+
697
+ describe '#first', state do
698
+ describe 'with no arguments' do
699
+ action { subject.first }
700
+
701
+ should_return_expected_value { @nancy }
702
+ should_be_a_kicker
703
+ should_not_change_subject
704
+ end
705
+
706
+ describe 'with no arguments', 'after prepending to the LazyArray' do
707
+ before { subject.unshift(@steve) }
708
+
709
+ action { subject.first }
710
+
711
+ should_return_expected_value { @steve }
712
+ should_not_be_a_kicker
713
+ should_not_change_subject
714
+ end
715
+
716
+ describe 'with length specified' do
717
+ action { subject.first(1) }
718
+
719
+ it { action.should == [ @nancy ] }
720
+
721
+ should_be_a_kicker
722
+ should_not_change_subject
723
+ end
724
+
725
+ describe 'with length specified', 'after prepending to the LazyArray' do
726
+ before { subject.unshift(@steve) }
727
+
728
+ action { subject.first(1) }
729
+
730
+ it { action.should == [ @steve ] }
731
+
732
+ should_not_be_a_kicker
733
+ should_not_change_subject
734
+ end
735
+ end
736
+
737
+ should_respond_to(:include?)
738
+
739
+ describe '#include?', state do
740
+ describe 'with an included entry' do
741
+ action { subject.include?(@nancy) }
742
+
743
+ should_return_true
744
+ should_be_a_kicker
745
+ should_not_change_subject
746
+ end
747
+
748
+ describe 'with an included entry', 'after prepending to the LazyArray' do
749
+ before { subject.unshift(@steve) }
750
+
751
+ action { subject.include?(@steve) }
752
+
753
+ should_return_true
754
+ should_not_be_a_kicker
755
+ should_not_change_subject
756
+ end
757
+
758
+ describe 'with an included entry', 'after appending to the LazyArray' do
759
+ before { subject.push(@steve) }
760
+
761
+ action { subject.include?(@steve) }
762
+
763
+ should_return_true
764
+ should_not_be_a_kicker
765
+ should_not_change_subject
766
+ end
767
+
768
+ describe 'with an entry not included' do
769
+ action { subject.include?(@steve) }
770
+
771
+ should_return_false
772
+ should_be_a_kicker
773
+ should_not_change_subject
774
+ end
775
+ end
776
+
777
+ should_respond_to(:index)
778
+
779
+ describe '#index', state do
780
+ describe 'with an included entry' do
781
+ action { subject.index(@nancy) }
782
+
783
+ should_return_expected_value { 0 }
784
+ should_be_a_kicker
785
+ should_not_change_subject
786
+ end
787
+
788
+ describe 'with an included entry', 'after prepending to the LazyArray' do
789
+ before { subject.unshift(@steve) }
790
+
791
+ action { subject.index(@steve) }
792
+
793
+ should_return_expected_value { 0 }
794
+ should_not_be_a_kicker
795
+ should_not_change_subject
796
+ end
797
+
798
+ describe 'with an included entry', 'after appending to the LazyArray' do
799
+ before { subject.push(@steve) }
800
+
801
+ action { subject.index(@steve) }
802
+
803
+ should_return_expected_value { 2 }
804
+ should_be_a_kicker # need to kick because first index could be in lazy array
805
+ should_not_change_subject
806
+ end
807
+
808
+ describe 'with an entry not included' do
809
+ action { subject.index(@steve) }
810
+
811
+ should_return_nil
812
+ should_be_a_kicker
813
+ should_not_change_subject
814
+ end
815
+ end
816
+
817
+ should_respond_to(:insert)
818
+
819
+ describe '#insert', state do
820
+ describe 'with an index of 0' do
821
+ action { subject.insert(0, @steve) }
822
+
823
+ should_return_subject
824
+ should_not_be_a_kicker
825
+
826
+ it 'should insert the entries before the index' do
827
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @steve, @nancy, @bessie ])
828
+ end
829
+ end
830
+
831
+ describe 'with an positive index greater than the head size' do
832
+ action { subject.insert(1, @steve) }
833
+
834
+ should_return_subject
835
+ should_be_a_kicker
836
+
837
+ it 'should insert the entries before the index' do
838
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @steve, @bessie ])
839
+ end
840
+ end
841
+
842
+ describe 'with an index of -1' do
843
+ action { subject.insert(-1, @steve) }
844
+
845
+ should_return_subject
846
+ should_not_be_a_kicker
847
+
848
+ it 'should insert the entries before the index' do
849
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, @steve ])
850
+ end
851
+ end
852
+
853
+ describe 'with a negative index greater than the tail size' do
854
+ action { subject.insert(-2, @steve) }
855
+
856
+ should_return_subject
857
+ should_be_a_kicker
858
+
859
+ it 'should insert the entries before the index' do
860
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @steve, @bessie ])
861
+ end
862
+ end
863
+
864
+ describe 'with a positive index 1 greater than the maximum index of the LazyArray' do
865
+ action { subject.insert(2, @steve) }
866
+
867
+ should_return_subject
868
+ should_be_a_kicker
869
+
870
+ it 'should insert the entries before the index' do
871
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, @steve ])
872
+ end
873
+ end
874
+
875
+ describe 'with a positive index not within the LazyArray' do
876
+ action { subject.insert(3, @steve) }
877
+
878
+ should_return_subject
879
+ should_be_a_kicker
880
+
881
+ it 'should insert the entries before the index, expanding the LazyArray' do
882
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, nil, @steve ])
883
+ end
884
+ end
885
+
886
+ describe 'with a negative index 1 greater than the maximum index of the LazyArray' do
887
+ action { subject.insert(-3, @steve) }
888
+
889
+ should_return_subject
890
+ should_be_a_kicker
891
+
892
+ it 'should insert the entries before the index, expanding the LazyArray' do
893
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @steve, @nancy, @bessie ])
894
+ end
895
+ end
896
+
897
+ describe 'with a negative index not within the LazyArray' do
898
+ action { subject.insert(-4, @steve) }
899
+
900
+ should_raise_error(IndexError)
901
+ end
902
+ end
903
+
904
+ should_respond_to(:kind_of?)
905
+
906
+ describe '#kind_of' do
907
+ describe 'when provided a class that is a superclass' do
908
+ action { subject.kind_of?(Object) }
909
+
910
+ should_return_true
911
+ should_not_be_a_kicker
912
+ should_not_change_subject
913
+ end
914
+
915
+ describe 'when provided a class that is a proxy class superclass' do
916
+ action { subject.kind_of?(Array) }
917
+
918
+ should_return_true
919
+ should_not_be_a_kicker
920
+ should_not_change_subject
921
+ end
922
+
923
+ describe 'when provided a class that is not a superclass' do
924
+ action { subject.kind_of?(Hash) }
925
+
926
+ should_return_false
927
+ should_not_be_a_kicker
928
+ should_not_change_subject
929
+ end
930
+ end
931
+
932
+ should_respond_to(:last)
933
+
934
+ describe '#last', state do
935
+ describe 'with no arguments' do
936
+ action { subject.last }
937
+
938
+ should_return_expected_value { @bessie }
939
+ should_be_a_kicker
940
+ should_not_change_subject
941
+ end
942
+
943
+ describe 'with no arguments', 'after appending to the LazyArray' do
944
+ before { subject.push(@steve) }
945
+
946
+ action { subject.last }
947
+
948
+ should_return_expected_value { @steve }
949
+ should_not_be_a_kicker
950
+ should_not_change_subject
951
+ end
952
+
953
+ describe 'with length specified' do
954
+ action { subject.last(1) }
955
+
956
+ it { action.should == [ @bessie ] }
957
+
958
+ should_be_a_kicker
959
+ should_not_change_subject
960
+ end
961
+
962
+ describe 'with length specified', 'after appending to the LazyArray' do
963
+ before { subject.push(@steve) }
964
+
965
+ action { subject.last(1) }
966
+
967
+ it { action.should == [ @steve ] }
968
+
969
+ should_not_be_a_kicker
970
+ should_not_change_subject
971
+ end
972
+ end
973
+
974
+ should_respond_to(:loaded?)
975
+
976
+ describe '#loaded?' do
977
+ if loaded
978
+ describe 'when loaded' do
979
+ action { subject.loaded? }
980
+
981
+ should_return_true
982
+ should_not_change_subject
983
+ end
984
+ else
985
+ describe 'when not loaded' do
986
+ action { subject.loaded? }
987
+
988
+ should_return_false
989
+ should_not_change_subject
990
+ end
991
+ end
992
+ end
993
+
994
+ should_respond_to(:nil?)
995
+
996
+ describe '#nil?' do
997
+ action { subject.nil? }
998
+
999
+ should_return_expected_value { false }
1000
+
1001
+ should_not_be_a_kicker
1002
+ end
1003
+
1004
+ should_respond_to(:pop)
1005
+
1006
+ describe '#pop', state do
1007
+ describe 'without appending to the LazyArray' do
1008
+ action { subject.pop }
1009
+
1010
+ should_return_expected_value { @bessie }
1011
+ should_be_a_kicker
1012
+
1013
+ it 'should remove the last entry' do
1014
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy ])
1015
+ end
1016
+ end
1017
+
1018
+ describe 'after appending to the LazyArray' do
1019
+ before { subject.push(@steve) }
1020
+
1021
+ action { subject.pop }
1022
+
1023
+ should_return_expected_value { @steve }
1024
+ should_not_be_a_kicker
1025
+
1026
+ it 'should remove the last entry' do
1027
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie ])
1028
+ end
1029
+ end
1030
+ end
1031
+
1032
+ should_respond_to(:push)
1033
+
1034
+ describe '#push', state do
1035
+ action { subject.push(@steve, @steve) }
1036
+
1037
+ should_return_subject
1038
+ should_not_be_a_kicker
1039
+
1040
+ it 'should append entries' do
1041
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, @steve, @steve ])
1042
+ end
1043
+ end
1044
+
1045
+ should_respond_to(:reject!)
1046
+
1047
+ describe '#reject!', state do
1048
+ before { @accumulator = [] }
1049
+
1050
+ describe 'with a block that matches an entry' do
1051
+ action { subject.reject! { |e| @accumulator << e; true } }
1052
+
1053
+ should_return_subject
1054
+ should_yield_to_each_entry
1055
+ should_be_a_kicker
1056
+
1057
+ it 'should update with the block results' do
1058
+ lambda { action }.should change(subject, :empty?).from(false).to(true)
1059
+ end
1060
+ end
1061
+
1062
+ describe 'with a block that does not match an entry' do
1063
+ action { subject.reject! { |e| @accumulator << e; false } }
1064
+
1065
+ should_return_nil
1066
+ should_yield_to_each_entry
1067
+ should_be_a_kicker
1068
+ should_not_change_subject
1069
+ end
1070
+ end
1071
+
1072
+ should_respond_to(:replace)
1073
+
1074
+ describe '#replace' do
1075
+ action { subject.replace(@other) }
1076
+
1077
+ should_return_subject
1078
+ should_be_a_kicker
1079
+
1080
+ it 'should replace with other Enumerable' do
1081
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @steve ])
1082
+ end
1083
+ end
1084
+
1085
+ should_respond_to(:reverse)
1086
+
1087
+ describe '#reverse', state do
1088
+ action { subject.reverse }
1089
+
1090
+ should_return_kind_of(LazyArray)
1091
+ should_not_be_a_kicker
1092
+ should_not_change_subject
1093
+
1094
+ it 'should return a reversed LazyArray' do
1095
+ action.should == [ @bessie, @nancy ]
1096
+ end
1097
+ end
1098
+
1099
+ should_respond_to(:reverse!)
1100
+
1101
+ describe '#reverse!', state do
1102
+ action { subject.reverse! }
1103
+
1104
+ should_return_subject
1105
+ should_not_be_a_kicker
1106
+
1107
+ it 'should return a reversed LazyArray' do
1108
+ action.should == [ @bessie, @nancy ]
1109
+ end
1110
+ end
1111
+
1112
+ should_respond_to(:reverse_each)
1113
+
1114
+ describe '#reverse_each', state do
1115
+ before { @accumulator = [] }
1116
+
1117
+ action { subject.reverse_each { |e| @accumulator << e } }
1118
+
1119
+ should_return_subject
1120
+ should_be_a_kicker
1121
+ should_not_change_subject
1122
+
1123
+ it 'should yield to each entry' do
1124
+ lambda { action }.should change(@accumulator, :entries).from([]).to([ @bessie, @nancy ])
1125
+ end
1126
+ end
1127
+
1128
+ should_respond_to(:rindex)
1129
+
1130
+ describe '#rindex', state do
1131
+ describe 'with an included entry' do
1132
+ action { subject.rindex(@nancy) }
1133
+
1134
+ should_return_expected_value { 0 }
1135
+ should_be_a_kicker # rindex always a kicker
1136
+ should_not_change_subject
1137
+ end
1138
+
1139
+ describe 'with an included entry', 'after prepending to the LazyArray' do
1140
+ before { subject.unshift(@steve) }
1141
+
1142
+ action { subject.rindex(@steve) }
1143
+
1144
+ should_return_expected_value { 0 }
1145
+ should_be_a_kicker # rindex always a kicker
1146
+ should_not_change_subject
1147
+ end
1148
+
1149
+ describe 'with an included entry', 'after appending to the LazyArray' do
1150
+ before { subject.push(@steve) }
1151
+
1152
+ action { subject.rindex(@steve) }
1153
+
1154
+ should_return_expected_value { 2 }
1155
+ should_be_a_kicker # rindex always a kicker
1156
+ should_not_change_subject
1157
+ end
1158
+
1159
+ describe 'with an entry not included' do
1160
+ action { subject.rindex(@steve) }
1161
+
1162
+ should_return_nil
1163
+ should_be_a_kicker # rindex always a kicker
1164
+ should_not_change_subject
1165
+ end
1166
+ end
1167
+
1168
+ should_respond_to(:shift)
1169
+
1170
+ describe '#shift', state do
1171
+ describe 'without prepending to the LazyArray' do
1172
+ action { subject.shift }
1173
+
1174
+ should_return_expected_value { @nancy }
1175
+ should_be_a_kicker
1176
+
1177
+ it 'should remove the last entry' do
1178
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie ])
1179
+ end
1180
+ end
1181
+
1182
+ describe 'after prepending to the LazyArray' do
1183
+ before { subject.unshift(@steve) }
1184
+
1185
+ action { subject.shift }
1186
+
1187
+ should_return_expected_value { @steve }
1188
+ should_not_be_a_kicker
1189
+
1190
+ it 'should remove the last entry' do
1191
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @nancy, @bessie ])
1192
+ end
1193
+ end
1194
+ end
1195
+
1196
+ [ :slice, :[] ].each do |method|
1197
+ should_respond_to(method)
1198
+
1199
+ describe "##{method}", state do
1200
+ describe 'with a positive index' do
1201
+ action { subject.send(method, 0) }
1202
+
1203
+ should_return_expected_value { @nancy }
1204
+ should_be_a_kicker
1205
+ should_not_change_subject
1206
+ end
1207
+
1208
+ describe 'with a positive index', 'after prepending to the LazyArray' do
1209
+ before { subject.unshift(@steve) }
1210
+
1211
+ action { subject.send(method, 0) }
1212
+
1213
+ should_return_expected_value { @steve }
1214
+ should_not_be_a_kicker
1215
+ should_not_change_subject
1216
+ end
1217
+
1218
+ describe 'with a positive index and length' do
1219
+ action { subject.send(method, 0, 1) }
1220
+
1221
+ should_return_kind_of(Array)
1222
+ should_return_expected_value { [ @nancy ] }
1223
+ should_be_a_kicker
1224
+ should_not_change_subject
1225
+ end
1226
+
1227
+ describe 'with a positive index and length', 'after prepending to the LazyArray' do
1228
+ before { subject.unshift(@steve) }
1229
+
1230
+ action { subject.send(method, 0, 1) }
1231
+
1232
+ should_return_kind_of(Array)
1233
+ should_return_expected_value { [ @steve ] }
1234
+ should_not_be_a_kicker
1235
+ should_not_change_subject
1236
+ end
1237
+
1238
+ describe 'with a positive range' do
1239
+ action { subject.send(method, 0..0) }
1240
+
1241
+ should_return_kind_of(Array)
1242
+ should_return_expected_value { [ @nancy ] }
1243
+ should_be_a_kicker
1244
+ should_not_change_subject
1245
+ end
1246
+
1247
+ describe 'with a positive range', 'after prepending to the LazyArray' do
1248
+ before { subject.unshift(@steve) }
1249
+
1250
+ action { subject.send(method, 0..0) }
1251
+
1252
+ should_return_kind_of(Array)
1253
+ should_return_expected_value { [ @steve ] }
1254
+ should_not_be_a_kicker
1255
+ should_not_change_subject
1256
+ end
1257
+
1258
+ describe 'with a negative index' do
1259
+ action { subject.send(method, -1) }
1260
+
1261
+ should_return_expected_value { @bessie }
1262
+ should_be_a_kicker
1263
+ should_not_change_subject
1264
+ end
1265
+
1266
+ describe 'with a negative index', 'after appending to the LazyArray' do
1267
+ before { subject.push(@steve) }
1268
+
1269
+ action { subject.send(method, -1) }
1270
+
1271
+ should_return_expected_value { @steve }
1272
+ should_not_be_a_kicker
1273
+ should_not_change_subject
1274
+ end
1275
+
1276
+ describe 'with a negative index and length' do
1277
+ action { subject.send(method, -1, 1) }
1278
+
1279
+ should_return_kind_of(Array)
1280
+ should_return_expected_value { [ @bessie ] }
1281
+ should_be_a_kicker
1282
+ should_not_change_subject
1283
+ end
1284
+
1285
+ describe 'with a negative index and length', 'after appending to the LazyArray' do
1286
+ before { subject.push(@steve) }
1287
+
1288
+ action { subject.send(method, -1, 1) }
1289
+
1290
+ should_return_kind_of(Array)
1291
+ should_return_expected_value { [ @steve ] }
1292
+ should_not_be_a_kicker
1293
+ should_not_change_subject
1294
+ end
1295
+
1296
+ describe 'with a negative range' do
1297
+ action { subject.send(method, -1..-1) }
1298
+
1299
+ should_return_kind_of(Array)
1300
+ should_return_expected_value { [ @bessie ] }
1301
+ should_be_a_kicker
1302
+ should_not_change_subject
1303
+ end
1304
+
1305
+ describe 'with a negative range', 'after appending to the LazyArray' do
1306
+ before { subject.push(@steve) }
1307
+
1308
+ action { subject.send(method, -1..-1) }
1309
+
1310
+ should_return_kind_of(Array)
1311
+ should_return_expected_value { [ @steve ] }
1312
+ should_not_be_a_kicker
1313
+ should_not_change_subject
1314
+ end
1315
+
1316
+ describe 'with an index not within the LazyArray' do
1317
+ action { subject.send(method, 2) }
1318
+
1319
+ should_return_nil
1320
+ should_be_a_kicker
1321
+ should_not_change_subject
1322
+ end
1323
+
1324
+ describe 'with an index and length not within the LazyArray' do
1325
+ action { subject.send(method, 2, 1) }
1326
+
1327
+ should_return_kind_of(Array)
1328
+ should_return_expected_value { [] }
1329
+ should_be_a_kicker
1330
+ should_not_change_subject
1331
+ end
1332
+
1333
+ describe 'with a range not within the LazyArray' do
1334
+ action { subject.send(method, 2..2) }
1335
+
1336
+ should_return_kind_of(Array)
1337
+ should_return_expected_value { [] }
1338
+ should_be_a_kicker
1339
+ should_not_change_subject
1340
+ end
1341
+
1342
+ describe 'with invalid arguments' do
1343
+ action { subject.send(method, 1, 1..1) }
1344
+
1345
+ should_raise_error(ArgumentError)
1346
+ end
1347
+ end
1348
+ end
1349
+
1350
+ should_respond_to(:slice!)
1351
+
1352
+ describe '#slice!', state do
1353
+ describe 'with a positive index' do
1354
+ action { subject.slice!(0) }
1355
+
1356
+ should_return_expected_value { @nancy }
1357
+ should_be_a_kicker
1358
+
1359
+ it 'should remove the matching entry' do
1360
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie ])
1361
+ end
1362
+ end
1363
+
1364
+ describe 'with a positive index', 'after prepending to the LazyArray' do
1365
+ before { subject.unshift(@steve) }
1366
+
1367
+ action { subject.slice!(0) }
1368
+
1369
+ should_return_expected_value { @steve }
1370
+ should_not_be_a_kicker
1371
+
1372
+ it 'should remove the matching entry' do
1373
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @nancy, @bessie ])
1374
+ end
1375
+ end
1376
+
1377
+ describe 'with a positive index and length' do
1378
+ action { subject.slice!(0, 1) }
1379
+
1380
+ should_return_kind_of(Array)
1381
+ should_return_expected_value { [ @nancy ] }
1382
+ should_be_a_kicker
1383
+
1384
+ it 'should remove the matching entries' do
1385
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie ])
1386
+ end
1387
+ end
1388
+
1389
+ describe 'with a positive index and length', 'after prepending to the LazyArray' do
1390
+ before { subject.unshift(@steve) }
1391
+
1392
+ action { subject.slice!(0, 1) }
1393
+
1394
+ should_return_kind_of(Array)
1395
+ should_return_expected_value { [ @steve ] }
1396
+ should_not_be_a_kicker
1397
+
1398
+ it 'should remove the matching entries' do
1399
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @nancy, @bessie ])
1400
+ end
1401
+ end
1402
+
1403
+ describe 'with a positive range' do
1404
+ action { subject.slice!(0..0) }
1405
+
1406
+ should_return_kind_of(Array)
1407
+ should_return_expected_value { [ @nancy ] }
1408
+ should_be_a_kicker
1409
+
1410
+ it 'should remove the matching entries' do
1411
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie ])
1412
+ end
1413
+ end
1414
+
1415
+ describe 'with a positive range', 'after prepending to the LazyArray' do
1416
+ before { subject.unshift(@steve) }
1417
+
1418
+ action { subject.slice!(0..0) }
1419
+
1420
+ should_return_kind_of(Array)
1421
+ should_return_expected_value { [ @steve ] }
1422
+ should_not_be_a_kicker
1423
+
1424
+ it 'should remove the matching entry' do
1425
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @nancy, @bessie ])
1426
+ end
1427
+ end
1428
+
1429
+ describe 'with a negative index' do
1430
+ action { subject.slice!(-1) }
1431
+
1432
+ should_return_expected_value { @bessie }
1433
+ should_be_a_kicker
1434
+
1435
+ it 'should remove the matching entries' do
1436
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy ])
1437
+ end
1438
+ end
1439
+
1440
+ describe 'with a negative index', 'after appending to the LazyArray' do
1441
+ before { subject.push(@steve) }
1442
+
1443
+ action { subject.slice!(-1) }
1444
+
1445
+ should_return_expected_value { @steve }
1446
+ should_not_be_a_kicker
1447
+
1448
+ it 'should remove the matching entries' do
1449
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie ])
1450
+ end
1451
+ end
1452
+
1453
+ describe 'with a negative index and length' do
1454
+ action { subject.slice!(-1, 1) }
1455
+
1456
+ should_return_kind_of(Array)
1457
+ should_return_expected_value { [ @bessie ] }
1458
+ should_be_a_kicker
1459
+
1460
+ it 'should remove the matching entries' do
1461
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy ])
1462
+ end
1463
+ end
1464
+
1465
+ describe 'with a negative index and length', 'after appending to the LazyArray' do
1466
+ before { subject.push(@steve) }
1467
+
1468
+ action { subject.slice!(-1, 1) }
1469
+
1470
+ should_return_kind_of(Array)
1471
+ should_return_expected_value { [ @steve ] }
1472
+ should_not_be_a_kicker
1473
+
1474
+ it 'should remove the matching entries' do
1475
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie ])
1476
+ end
1477
+ end
1478
+
1479
+ describe 'with a negative range' do
1480
+ action { subject.slice!(-1..-1) }
1481
+
1482
+ should_return_kind_of(Array)
1483
+ should_return_expected_value { [ @bessie ] }
1484
+ should_be_a_kicker
1485
+
1486
+ it 'should remove the matching entries' do
1487
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy ])
1488
+ end
1489
+ end
1490
+
1491
+ describe 'with a negative range', 'after appending to the LazyArray' do
1492
+ before { subject.push(@steve) }
1493
+
1494
+ action { subject.slice!(-1..-1) }
1495
+
1496
+ should_return_kind_of(Array)
1497
+ should_return_expected_value { [ @steve ] }
1498
+ should_not_be_a_kicker
1499
+
1500
+ it 'should remove the matching entries' do
1501
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie ])
1502
+ end
1503
+ end
1504
+
1505
+ describe 'with an index not within the LazyArray' do
1506
+ action { subject.slice!(2) }
1507
+
1508
+ should_return_nil
1509
+ should_be_a_kicker
1510
+ should_not_change_subject
1511
+ end
1512
+
1513
+ describe 'with an index and length not within the LazyArray' do
1514
+ action { subject.slice!(2, 1) }
1515
+
1516
+ should_return_kind_of(Array)
1517
+ should_return_expected_value { [] }
1518
+ should_be_a_kicker
1519
+ should_not_change_subject
1520
+ end
1521
+
1522
+ describe 'with a range not within the LazyArray' do
1523
+ action { subject.slice!(2..2) }
1524
+
1525
+ should_return_kind_of(Array)
1526
+ should_return_expected_value { [] }
1527
+ should_be_a_kicker
1528
+ should_not_change_subject
1529
+ end
1530
+ end
1531
+
1532
+ should_respond_to(:sort!)
1533
+
1534
+ describe '#sort!', state do
1535
+ describe 'without a block' do
1536
+ action { subject.sort! }
1537
+
1538
+ should_return_subject
1539
+ should_be_a_kicker
1540
+
1541
+ it 'should sort the LazyArray inline using default sort order' do
1542
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie, @nancy ])
1543
+ end
1544
+ end
1545
+
1546
+ describe 'without a block' do
1547
+ action { subject.sort! { |a,b| a <=> b } }
1548
+
1549
+ should_return_subject
1550
+ should_be_a_kicker
1551
+
1552
+ it 'should sort the LazyArray inline using block' do
1553
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @bessie, @nancy ])
1554
+ end
1555
+ end
1556
+ end
1557
+
1558
+ [ :splice, :[]= ].each do |method|
1559
+ should_respond_to(method)
1560
+
1561
+ describe "##{method}", state do
1562
+ before do
1563
+ @jon = 'jon'
1564
+ end
1565
+
1566
+ describe 'with a positive index and entry' do
1567
+ action { subject.send(method, 0, @jon) }
1568
+
1569
+ should_return_expected_value { @jon }
1570
+ should_be_a_kicker
1571
+
1572
+ it 'should change the matching entry' do
1573
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @jon, @bessie ])
1574
+ end
1575
+ end
1576
+
1577
+ describe 'with a positive index', 'after prepending to the LazyArray' do
1578
+ before { subject.unshift(@steve) }
1579
+
1580
+ action { subject.send(method, 0, @jon) }
1581
+
1582
+ should_return_expected_value { @jon }
1583
+ should_not_be_a_kicker
1584
+
1585
+ it 'should change the matching entry' do
1586
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @jon, @nancy, @bessie ])
1587
+ end
1588
+ end
1589
+
1590
+ describe 'with a positive index and length' do
1591
+ action { subject.send(method, 0, 1, [ @jon ]) }
1592
+
1593
+ should_return_kind_of(Array)
1594
+ should_return_expected_value { [ @jon ] }
1595
+ should_be_a_kicker
1596
+
1597
+ it 'should change the matching entries' do
1598
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @jon, @bessie ])
1599
+ end
1600
+ end
1601
+
1602
+ describe 'with a positive index and length', 'after prepending to the LazyArray' do
1603
+ before { subject.unshift(@steve) }
1604
+
1605
+ action { subject.send(method, 0, 1, [ @jon ]) }
1606
+
1607
+ should_return_kind_of(Array)
1608
+ should_return_expected_value { [ @jon ] }
1609
+ should_not_be_a_kicker
1610
+
1611
+ it 'should change the matching entries' do
1612
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @jon, @nancy, @bessie ])
1613
+ end
1614
+ end
1615
+
1616
+ describe 'with a positive range' do
1617
+ action { subject.send(method, 0..0, [ @jon ]) }
1618
+
1619
+ should_return_kind_of(Array)
1620
+ should_return_expected_value { [ @jon ] }
1621
+ should_be_a_kicker
1622
+
1623
+ it 'should change the matching entries' do
1624
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @jon, @bessie ])
1625
+ end
1626
+ end
1627
+
1628
+ describe 'with a positive range', 'after prepending to the LazyArray' do
1629
+ before { subject.unshift(@steve) }
1630
+
1631
+ action { subject.send(method, 0..0, [ @jon ]) }
1632
+
1633
+ should_return_kind_of(Array)
1634
+ should_return_expected_value { [ @jon ] }
1635
+ should_not_be_a_kicker
1636
+
1637
+ it 'should change the matching entry' do
1638
+ lambda { action }.should change(subject, :entries).from([ @steve, @nancy, @bessie ]).to([ @jon, @nancy, @bessie ])
1639
+ end
1640
+ end
1641
+
1642
+ describe 'with a negative index' do
1643
+ action { subject.send(method, -1, @jon) }
1644
+
1645
+ should_return_expected_value { @jon }
1646
+ should_be_a_kicker
1647
+
1648
+ it 'should change the matching entries' do
1649
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @jon ])
1650
+ end
1651
+ end
1652
+
1653
+ describe 'with a negative index', 'after appending to the LazyArray' do
1654
+ before { subject.push(@steve) }
1655
+
1656
+ action { subject.send(method, -1, @jon) }
1657
+
1658
+ should_return_expected_value { @jon }
1659
+ should_not_be_a_kicker
1660
+
1661
+ it 'should change the matching entries' do
1662
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie, @jon ])
1663
+ end
1664
+ end
1665
+
1666
+ describe 'with a negative index and length' do
1667
+ action { subject.send(method, -1, 1, [ @jon ]) }
1668
+
1669
+ should_return_kind_of(Array)
1670
+ should_return_expected_value { [ @jon ] }
1671
+ should_be_a_kicker
1672
+
1673
+ it 'should change the matching entries' do
1674
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @jon ])
1675
+ end
1676
+ end
1677
+
1678
+ describe 'with a negative index and length', 'after appending to the LazyArray' do
1679
+ before { subject.push(@steve) }
1680
+
1681
+ action { subject.send(method, -1, 1, [ @jon ]) }
1682
+
1683
+ should_return_kind_of(Array)
1684
+ should_return_expected_value { [ @jon ] }
1685
+ should_not_be_a_kicker
1686
+
1687
+ it 'should change the matching entries' do
1688
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie, @jon ])
1689
+ end
1690
+ end
1691
+
1692
+ describe 'with a negative range' do
1693
+ action { subject.send(method, -1..-1, [ @jon ]) }
1694
+
1695
+ should_return_kind_of(Array)
1696
+ should_return_expected_value { [ @jon ] }
1697
+ should_be_a_kicker
1698
+
1699
+ it 'should change the matching entries' do
1700
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @jon ])
1701
+ end
1702
+ end
1703
+
1704
+ describe 'with a negative range', 'after appending to the LazyArray' do
1705
+ before { subject.push(@steve) }
1706
+
1707
+ action { subject.send(method, -1..-1, [ @jon ]) }
1708
+
1709
+ should_return_kind_of(Array)
1710
+ should_return_expected_value { [ @jon ] }
1711
+ should_not_be_a_kicker
1712
+
1713
+ it 'should change the matching entries' do
1714
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie, @steve ]).to([ @nancy, @bessie, @jon ])
1715
+ end
1716
+ end
1717
+
1718
+ describe 'with a positive index 1 greater than the maximum index of the LazyArray' do
1719
+ action { subject.send(method, 2, @jon) }
1720
+
1721
+ should_return_expected_value { @jon }
1722
+ should_be_a_kicker
1723
+
1724
+ it 'should change the matching entries' do
1725
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, @jon ])
1726
+ end
1727
+ end
1728
+
1729
+ describe 'with a positive index not within the LazyArray' do
1730
+ action { subject.send(method, 3, @jon) }
1731
+
1732
+ should_return_expected_value { @jon }
1733
+ should_be_a_kicker
1734
+
1735
+ it 'should change the matching entries' do
1736
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, nil, @jon ])
1737
+ end
1738
+ end
1739
+
1740
+ describe 'with a negative index not within the LazyArray' do
1741
+ action { subject.send(method, -3, @jon) }
1742
+
1743
+ should_raise_error(IndexError)
1744
+ end
1745
+
1746
+ describe 'with a positive index and length 1 greater than the maximum index of the LazyArray' do
1747
+ action { subject.send(method, 2, 1, [ @jon ]) }
1748
+
1749
+ should_return_kind_of(Array)
1750
+ should_return_expected_value { [ @jon ] }
1751
+ should_be_a_kicker
1752
+
1753
+ it 'should change the matching entries' do
1754
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, @jon ])
1755
+ end
1756
+ end
1757
+
1758
+ describe 'with a positive index and length not within the LazyArray' do
1759
+ action { subject.send(method, 3, 1, [ @jon ]) }
1760
+
1761
+ should_return_kind_of(Array)
1762
+ should_return_expected_value { [ @jon ] }
1763
+ should_be_a_kicker
1764
+
1765
+ it 'should change the matching entries' do
1766
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, nil, @jon ])
1767
+ end
1768
+ end
1769
+
1770
+ describe 'with a negative index and length not within the LazyArray ' do
1771
+ action { subject.send(method, -3, 1, [ @jon ]) }
1772
+
1773
+ should_raise_error(IndexError)
1774
+ end
1775
+
1776
+ describe 'with a positive range 1 greater than the maximum index of the LazyArray' do
1777
+ action { subject.send(method, 2..2, [ @jon ]) }
1778
+
1779
+ should_return_kind_of(Array)
1780
+ should_return_expected_value { [ @jon ] }
1781
+ should_be_a_kicker
1782
+
1783
+ it 'should change the matching entries' do
1784
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, @jon ])
1785
+ end
1786
+ end
1787
+
1788
+ describe 'with a positive range not within the LazyArray' do
1789
+ action { subject.send(method, 3..3, [ @jon ]) }
1790
+
1791
+ should_return_kind_of(Array)
1792
+ should_return_expected_value { [ @jon ] }
1793
+ should_be_a_kicker
1794
+
1795
+ it 'should change the matching entries' do
1796
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @nancy, @bessie, nil, @jon ])
1797
+ end
1798
+ end
1799
+
1800
+ describe 'with a negative range not within the LazyArray' do
1801
+ action { subject.send(method, -3..-3, [ @jon ]) }
1802
+
1803
+ should_raise_error(RangeError)
1804
+ end
1805
+ end
1806
+ end
1807
+
1808
+ should_respond_to(:to_a)
1809
+
1810
+ describe '#to_a', state do
1811
+ action { subject.to_a }
1812
+
1813
+ should_return_kind_of(Array)
1814
+ should_be_a_kicker
1815
+
1816
+ it 'should be equivalent to self' do
1817
+ action.should == subject
1818
+ end
1819
+ end
1820
+
1821
+ should_respond_to(:unshift)
1822
+
1823
+ describe '#unshift', state do
1824
+ action { subject.unshift(@steve, @steve) }
1825
+
1826
+ should_return_subject
1827
+ should_not_be_a_kicker
1828
+
1829
+ it 'should prepend entries' do
1830
+ lambda { action }.should change(subject, :entries).from([ @nancy, @bessie ]).to([ @steve, @steve, @nancy, @bessie ])
1831
+ end
1832
+ end
1833
+
1834
+ should_respond_to(:values_at)
1835
+
1836
+ describe '#values_at', state do
1837
+ describe 'with a positive index' do
1838
+ action { subject.values_at(0) }
1839
+
1840
+ should_return_kind_of(Array)
1841
+ should_return_expected_value { [ @nancy ] }
1842
+ should_be_a_kicker
1843
+ should_not_change_subject
1844
+ end
1845
+
1846
+ describe 'with a positive index', 'after prepending to the LazyArray' do
1847
+ before { subject.unshift(@steve) }
1848
+
1849
+ action { subject.values_at(0) }
1850
+
1851
+ should_return_kind_of(Array)
1852
+ should_return_expected_value { [ @steve ] }
1853
+ should_not_be_a_kicker
1854
+ should_not_change_subject
1855
+ end
1856
+
1857
+ describe 'with a positive range' do
1858
+ action { subject.values_at(0..0) }
1859
+
1860
+ should_return_kind_of(Array)
1861
+ should_return_expected_value { [ @nancy ] }
1862
+ should_be_a_kicker
1863
+ should_not_change_subject
1864
+ end
1865
+
1866
+ describe 'with a positive range', 'after prepending to the LazyArray' do
1867
+ before { subject.unshift(@steve) }
1868
+
1869
+ action { subject.values_at(0..0) }
1870
+
1871
+ should_return_kind_of(Array)
1872
+ should_return_expected_value { [ @steve ] }
1873
+ should_not_be_a_kicker
1874
+ should_not_change_subject
1875
+ end
1876
+
1877
+ describe 'with a negative index' do
1878
+ action { subject.values_at(-1) }
1879
+
1880
+ should_return_kind_of(Array)
1881
+ should_return_expected_value { [ @bessie ] }
1882
+ should_be_a_kicker
1883
+ should_not_change_subject
1884
+ end
1885
+
1886
+ describe 'with a negative index', 'after appending to the LazyArray' do
1887
+ before { subject.push(@steve) }
1888
+
1889
+ action { subject.values_at(-1) }
1890
+
1891
+ should_return_kind_of(Array)
1892
+ should_return_expected_value { [ @steve ] }
1893
+ should_not_be_a_kicker
1894
+ should_not_change_subject
1895
+ end
1896
+
1897
+ describe 'with a negative range' do
1898
+ action { subject.values_at(-1..-1) }
1899
+
1900
+ should_return_kind_of(Array)
1901
+ should_return_expected_value { [ @bessie ] }
1902
+ should_be_a_kicker
1903
+ should_not_change_subject
1904
+ end
1905
+
1906
+ describe 'with a negative range', 'after appending to the LazyArray' do
1907
+ before { subject.push(@steve) }
1908
+
1909
+ action { subject.values_at(-1..-1) }
1910
+
1911
+ should_return_kind_of(Array)
1912
+ should_return_expected_value { [ @steve ] }
1913
+ should_not_be_a_kicker
1914
+ should_not_change_subject
1915
+ end
1916
+
1917
+ describe 'with an index not within the LazyArray' do
1918
+ action { subject.values_at(2) }
1919
+
1920
+ should_return_kind_of(Array)
1921
+ should_return_expected_value { [ nil ] }
1922
+ should_be_a_kicker
1923
+ should_not_change_subject
1924
+ end
1925
+
1926
+ describe 'with a range not within the LazyArray' do
1927
+ action { subject.values_at(2..2) }
1928
+
1929
+ should_return_kind_of(Array)
1930
+ should_return_expected_value { [ nil ] }
1931
+ should_be_a_kicker
1932
+ should_not_change_subject
1933
+ end
1934
+ end
1935
+
1936
+ describe 'a method mixed into Array' do
1937
+ before :all do
1938
+ Enumerable.class_eval do
1939
+ remove_method :lazy_spec if instance_methods(false).any? { |m| m.to_sym == :lazy_spec }
1940
+ def lazy_spec
1941
+ true
1942
+ end
1943
+ end
1944
+ end
1945
+
1946
+ it 'should delegate to the Array' do
1947
+ subject.lazy_spec.should be_true
1948
+ end
1949
+ end
1950
+
1951
+ describe 'an unknown method' do
1952
+ action { subject.unknown }
1953
+
1954
+ should_raise_error(NoMethodError)
1955
+ end
1956
+ end
1957
+ end