gem_repackager 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (567) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +56 -0
  5. data/Rakefile +9 -0
  6. data/bin/gem_repackager +57 -0
  7. data/gem_repackager.gemspec +22 -0
  8. data/lib/gem_repackager.rb +131 -0
  9. data/lib/gem_repackager/version.rb +5 -0
  10. data/spec/packager_spec.rb +131 -0
  11. data/spec/spec_helper.rb +1 -0
  12. data/support/bin/rspec +19 -0
  13. data/support/gems/rspec-2.11.0/License.txt +24 -0
  14. data/support/gems/rspec-2.11.0/README.md +47 -0
  15. data/support/gems/rspec-2.11.0/lib/rspec.rb +4 -0
  16. data/support/gems/rspec-2.11.0/lib/rspec/version.rb +5 -0
  17. data/support/gems/rspec-core-2.11.1/.document +5 -0
  18. data/support/gems/rspec-core-2.11.1/.yardopts +6 -0
  19. data/support/gems/rspec-core-2.11.1/Changelog.md +570 -0
  20. data/support/gems/rspec-core-2.11.1/License.txt +24 -0
  21. data/support/gems/rspec-core-2.11.1/README.md +235 -0
  22. data/support/gems/rspec-core-2.11.1/exe/autospec +13 -0
  23. data/support/gems/rspec-core-2.11.1/exe/rspec +25 -0
  24. data/support/gems/rspec-core-2.11.1/features/Autotest.md +38 -0
  25. data/support/gems/rspec-core-2.11.1/features/README.md +17 -0
  26. data/support/gems/rspec-core-2.11.1/features/Upgrade.md +364 -0
  27. data/support/gems/rspec-core-2.11.1/features/command_line/README.md +28 -0
  28. data/support/gems/rspec-core-2.11.1/features/command_line/example_name_option.feature +101 -0
  29. data/support/gems/rspec-core-2.11.1/features/command_line/exit_status.feature +83 -0
  30. data/support/gems/rspec-core-2.11.1/features/command_line/format_option.feature +81 -0
  31. data/support/gems/rspec-core-2.11.1/features/command_line/init.feature +18 -0
  32. data/support/gems/rspec-core-2.11.1/features/command_line/line_number_appended_to_path.feature +140 -0
  33. data/support/gems/rspec-core-2.11.1/features/command_line/line_number_option.feature +58 -0
  34. data/support/gems/rspec-core-2.11.1/features/command_line/order.feature +29 -0
  35. data/support/gems/rspec-core-2.11.1/features/command_line/pattern_option.feature +31 -0
  36. data/support/gems/rspec-core-2.11.1/features/command_line/rake_task.feature +68 -0
  37. data/support/gems/rspec-core-2.11.1/features/command_line/ruby.feature +22 -0
  38. data/support/gems/rspec-core-2.11.1/features/command_line/tag.feature +91 -0
  39. data/support/gems/rspec-core-2.11.1/features/configuration/alias_example_to.feature +48 -0
  40. data/support/gems/rspec-core-2.11.1/features/configuration/custom_settings.feature +84 -0
  41. data/support/gems/rspec-core-2.11.1/features/configuration/default_path.feature +38 -0
  42. data/support/gems/rspec-core-2.11.1/features/configuration/fail_fast.feature +77 -0
  43. data/support/gems/rspec-core-2.11.1/features/configuration/read_options_from_file.feature +87 -0
  44. data/support/gems/rspec-core-2.11.1/features/example_groups/basic_structure.feature +55 -0
  45. data/support/gems/rspec-core-2.11.1/features/example_groups/shared_context.feature +74 -0
  46. data/support/gems/rspec-core-2.11.1/features/example_groups/shared_examples.feature +204 -0
  47. data/support/gems/rspec-core-2.11.1/features/expectation_framework_integration/configure_expectation_framework.feature +102 -0
  48. data/support/gems/rspec-core-2.11.1/features/filtering/exclusion_filters.feature +139 -0
  49. data/support/gems/rspec-core-2.11.1/features/filtering/if_and_unless.feature +168 -0
  50. data/support/gems/rspec-core-2.11.1/features/filtering/inclusion_filters.feature +105 -0
  51. data/support/gems/rspec-core-2.11.1/features/filtering/run_all_when_everything_filtered.feature +46 -0
  52. data/support/gems/rspec-core-2.11.1/features/formatters/custom_formatter.feature +36 -0
  53. data/support/gems/rspec-core-2.11.1/features/formatters/text_formatter.feature +46 -0
  54. data/support/gems/rspec-core-2.11.1/features/helper_methods/arbitrary_methods.feature +40 -0
  55. data/support/gems/rspec-core-2.11.1/features/helper_methods/let.feature +50 -0
  56. data/support/gems/rspec-core-2.11.1/features/helper_methods/modules.feature +149 -0
  57. data/support/gems/rspec-core-2.11.1/features/hooks/around_hooks.feature +343 -0
  58. data/support/gems/rspec-core-2.11.1/features/hooks/before_and_after_hooks.feature +423 -0
  59. data/support/gems/rspec-core-2.11.1/features/hooks/filtering.feature +234 -0
  60. data/support/gems/rspec-core-2.11.1/features/metadata/current_example.feature +17 -0
  61. data/support/gems/rspec-core-2.11.1/features/metadata/described_class.feature +17 -0
  62. data/support/gems/rspec-core-2.11.1/features/metadata/user_defined.feature +113 -0
  63. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_any_framework.feature +106 -0
  64. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_flexmock.feature +96 -0
  65. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_mocha.feature +97 -0
  66. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_rr.feature +98 -0
  67. data/support/gems/rspec-core-2.11.1/features/mock_framework_integration/use_rspec.feature +97 -0
  68. data/support/gems/rspec-core-2.11.1/features/pending/pending_examples.feature +229 -0
  69. data/support/gems/rspec-core-2.11.1/features/spec_files/arbitrary_file_suffix.feature +13 -0
  70. data/support/gems/rspec-core-2.11.1/features/step_definitions/additional_cli_steps.rb +30 -0
  71. data/support/gems/rspec-core-2.11.1/features/subject/attribute_of_subject.feature +124 -0
  72. data/support/gems/rspec-core-2.11.1/features/subject/explicit_subject.feature +82 -0
  73. data/support/gems/rspec-core-2.11.1/features/subject/implicit_receiver.feature +29 -0
  74. data/support/gems/rspec-core-2.11.1/features/subject/implicit_subject.feature +63 -0
  75. data/support/gems/rspec-core-2.11.1/features/support/env.rb +12 -0
  76. data/support/gems/rspec-core-2.11.1/lib/autotest/discover.rb +1 -0
  77. data/support/gems/rspec-core-2.11.1/lib/autotest/rspec2.rb +73 -0
  78. data/support/gems/rspec-core-2.11.1/lib/rspec/autorun.rb +2 -0
  79. data/support/gems/rspec-core-2.11.1/lib/rspec/core.rb +126 -0
  80. data/support/gems/rspec-core-2.11.1/lib/rspec/core/backward_compatibility.rb +65 -0
  81. data/support/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb +36 -0
  82. data/support/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb +944 -0
  83. data/support/gems/rspec-core-2.11.1/lib/rspec/core/configuration_options.rb +129 -0
  84. data/support/gems/rspec-core-2.11.1/lib/rspec/core/deprecation.rb +36 -0
  85. data/support/gems/rspec-core-2.11.1/lib/rspec/core/drb_command_line.rb +26 -0
  86. data/support/gems/rspec-core-2.11.1/lib/rspec/core/drb_options.rb +87 -0
  87. data/support/gems/rspec-core-2.11.1/lib/rspec/core/dsl.rb +26 -0
  88. data/support/gems/rspec-core-2.11.1/lib/rspec/core/example.rb +330 -0
  89. data/support/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb +466 -0
  90. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions.rb +4 -0
  91. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/instance_eval_with_args.rb +44 -0
  92. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/kernel.rb +9 -0
  93. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/module_eval_with_args.rb +38 -0
  94. data/support/gems/rspec-core-2.11.1/lib/rspec/core/extensions/ordered.rb +21 -0
  95. data/support/gems/rspec-core-2.11.1/lib/rspec/core/filter_manager.rb +203 -0
  96. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/base_formatter.rb +168 -0
  97. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/base_text_formatter.rb +203 -0
  98. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/documentation_formatter.rb +67 -0
  99. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/helpers.rb +39 -0
  100. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/html_formatter.rb +464 -0
  101. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/progress_formatter.rb +32 -0
  102. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/snippet_extractor.rb +58 -0
  103. data/support/gems/rspec-core-2.11.1/lib/rspec/core/formatters/text_mate_formatter.rb +34 -0
  104. data/support/gems/rspec-core-2.11.1/lib/rspec/core/hooks.rb +495 -0
  105. data/support/gems/rspec-core-2.11.1/lib/rspec/core/let.rb +110 -0
  106. data/support/gems/rspec-core-2.11.1/lib/rspec/core/load_path.rb +3 -0
  107. data/support/gems/rspec-core-2.11.1/lib/rspec/core/metadata.rb +276 -0
  108. data/support/gems/rspec-core-2.11.1/lib/rspec/core/metadata_hash_builder.rb +97 -0
  109. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_absolutely_nothing.rb +11 -0
  110. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_flexmock.rb +27 -0
  111. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_mocha.rb +29 -0
  112. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_rr.rb +27 -0
  113. data/support/gems/rspec-core-2.11.1/lib/rspec/core/mocking/with_rspec.rb +23 -0
  114. data/support/gems/rspec-core-2.11.1/lib/rspec/core/option_parser.rb +181 -0
  115. data/support/gems/rspec-core-2.11.1/lib/rspec/core/pending.rb +101 -0
  116. data/support/gems/rspec-core-2.11.1/lib/rspec/core/project_initializer.rb +87 -0
  117. data/support/gems/rspec-core-2.11.1/lib/rspec/core/rake_task.rb +179 -0
  118. data/support/gems/rspec-core-2.11.1/lib/rspec/core/reporter.rb +102 -0
  119. data/support/gems/rspec-core-2.11.1/lib/rspec/core/ruby_project.rb +44 -0
  120. data/support/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb +76 -0
  121. data/support/gems/rspec-core-2.11.1/lib/rspec/core/shared_context.rb +49 -0
  122. data/support/gems/rspec-core-2.11.1/lib/rspec/core/shared_example_group.rb +96 -0
  123. data/support/gems/rspec-core-2.11.1/lib/rspec/core/subject.rb +219 -0
  124. data/support/gems/rspec-core-2.11.1/lib/rspec/core/version.rb +7 -0
  125. data/support/gems/rspec-core-2.11.1/lib/rspec/core/world.rb +128 -0
  126. data/support/gems/rspec-core-2.11.1/spec/autotest/discover_spec.rb +19 -0
  127. data/support/gems/rspec-core-2.11.1/spec/autotest/failed_results_re_spec.rb +45 -0
  128. data/support/gems/rspec-core-2.11.1/spec/autotest/rspec_spec.rb +123 -0
  129. data/support/gems/rspec-core-2.11.1/spec/command_line/order_spec.rb +137 -0
  130. data/support/gems/rspec-core-2.11.1/spec/rspec/core/command_line_spec.rb +108 -0
  131. data/support/gems/rspec-core-2.11.1/spec/rspec/core/command_line_spec_output.txt +0 -0
  132. data/support/gems/rspec-core-2.11.1/spec/rspec/core/configuration_options_spec.rb +377 -0
  133. data/support/gems/rspec-core-2.11.1/spec/rspec/core/configuration_spec.rb +1196 -0
  134. data/support/gems/rspec-core-2.11.1/spec/rspec/core/deprecations_spec.rb +66 -0
  135. data/support/gems/rspec-core-2.11.1/spec/rspec/core/drb_command_line_spec.rb +108 -0
  136. data/support/gems/rspec-core-2.11.1/spec/rspec/core/drb_options_spec.rb +180 -0
  137. data/support/gems/rspec-core-2.11.1/spec/rspec/core/dsl_spec.rb +17 -0
  138. data/support/gems/rspec-core-2.11.1/spec/rspec/core/example_group_spec.rb +1098 -0
  139. data/support/gems/rspec-core-2.11.1/spec/rspec/core/example_spec.rb +370 -0
  140. data/support/gems/rspec-core-2.11.1/spec/rspec/core/filter_manager_spec.rb +256 -0
  141. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/base_formatter_spec.rb +80 -0
  142. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/base_text_formatter_spec.rb +363 -0
  143. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/documentation_formatter_spec.rb +88 -0
  144. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/helpers_spec.rb +66 -0
  145. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +410 -0
  146. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.8.7.html +409 -0
  147. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.9.2.html +416 -0
  148. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatted-1.9.3.html +416 -0
  149. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/html_formatter_spec.rb +82 -0
  150. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/progress_formatter_spec.rb +30 -0
  151. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/snippet_extractor_spec.rb +18 -0
  152. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +410 -0
  153. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +409 -0
  154. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +416 -0
  155. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +416 -0
  156. data/support/gems/rspec-core-2.11.1/spec/rspec/core/formatters/text_mate_formatter_spec.rb +83 -0
  157. data/support/gems/rspec-core-2.11.1/spec/rspec/core/hooks_filtering_spec.rb +227 -0
  158. data/support/gems/rspec-core-2.11.1/spec/rspec/core/hooks_spec.rb +250 -0
  159. data/support/gems/rspec-core-2.11.1/spec/rspec/core/kernel_extensions_spec.rb +9 -0
  160. data/support/gems/rspec-core-2.11.1/spec/rspec/core/let_spec.rb +55 -0
  161. data/support/gems/rspec-core-2.11.1/spec/rspec/core/metadata_spec.rb +447 -0
  162. data/support/gems/rspec-core-2.11.1/spec/rspec/core/option_parser_spec.rb +166 -0
  163. data/support/gems/rspec-core-2.11.1/spec/rspec/core/pending_example_spec.rb +220 -0
  164. data/support/gems/rspec-core-2.11.1/spec/rspec/core/project_initializer_spec.rb +130 -0
  165. data/support/gems/rspec-core-2.11.1/spec/rspec/core/rake_task_spec.rb +138 -0
  166. data/support/gems/rspec-core-2.11.1/spec/rspec/core/reporter_spec.rb +103 -0
  167. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_bar.rb +0 -0
  168. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_foo.rb +0 -0
  169. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/a_spec.rb +1 -0
  170. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/custom_example_group_runner.rb +14 -0
  171. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/formatter_specs.rb +60 -0
  172. data/support/gems/rspec-core-2.11.1/spec/rspec/core/resources/utf8_encoded.rb +8 -0
  173. data/support/gems/rspec-core-2.11.1/spec/rspec/core/rspec_matchers_spec.rb +45 -0
  174. data/support/gems/rspec-core-2.11.1/spec/rspec/core/ruby_project_spec.rb +24 -0
  175. data/support/gems/rspec-core-2.11.1/spec/rspec/core/runner_spec.rb +81 -0
  176. data/support/gems/rspec-core-2.11.1/spec/rspec/core/shared_context_spec.rb +67 -0
  177. data/support/gems/rspec-core-2.11.1/spec/rspec/core/shared_example_group_spec.rb +84 -0
  178. data/support/gems/rspec-core-2.11.1/spec/rspec/core/subject_spec.rb +244 -0
  179. data/support/gems/rspec-core-2.11.1/spec/rspec/core/world_spec.rb +144 -0
  180. data/support/gems/rspec-core-2.11.1/spec/rspec/core_spec.rb +35 -0
  181. data/support/gems/rspec-core-2.11.1/spec/spec_helper.rb +98 -0
  182. data/support/gems/rspec-core-2.11.1/spec/support/config_options_helper.rb +24 -0
  183. data/support/gems/rspec-core-2.11.1/spec/support/helper_methods.rb +5 -0
  184. data/support/gems/rspec-core-2.11.1/spec/support/matchers.rb +65 -0
  185. data/support/gems/rspec-core-2.11.1/spec/support/shared_example_groups.rb +41 -0
  186. data/support/gems/rspec-core-2.11.1/spec/support/spec_files.rb +44 -0
  187. data/support/gems/rspec-expectations-2.11.2/.document +5 -0
  188. data/support/gems/rspec-expectations-2.11.2/.yardopts +6 -0
  189. data/support/gems/rspec-expectations-2.11.2/Changelog.md +246 -0
  190. data/support/gems/rspec-expectations-2.11.2/License.txt +23 -0
  191. data/support/gems/rspec-expectations-2.11.2/README.md +224 -0
  192. data/support/gems/rspec-expectations-2.11.2/features/README.md +49 -0
  193. data/support/gems/rspec-expectations-2.11.2/features/Upgrade.md +53 -0
  194. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/README.md +90 -0
  195. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/be.feature +173 -0
  196. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/be_within.feature +46 -0
  197. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/cover.feature +45 -0
  198. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/end_with.feature +46 -0
  199. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/equality.feature +145 -0
  200. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/exist.feature +43 -0
  201. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/expect_change.feature +59 -0
  202. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/expect_error.feature +138 -0
  203. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/have.feature +103 -0
  204. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/include.feature +121 -0
  205. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/match.feature +50 -0
  206. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/operators.feature +221 -0
  207. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/predicates.feature +128 -0
  208. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/respond_to.feature +78 -0
  209. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/satisfy.feature +31 -0
  210. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/start_with.feature +46 -0
  211. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/throw_symbol.feature +85 -0
  212. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/types.feature +114 -0
  213. data/support/gems/rspec-expectations-2.11.2/features/built_in_matchers/yield.feature +146 -0
  214. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/access_running_example.feature +53 -0
  215. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_diffable_matcher.feature +27 -0
  216. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher.feature +340 -0
  217. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher_outside_rspec.feature +38 -0
  218. data/support/gems/rspec-expectations-2.11.2/features/custom_matchers/define_matcher_with_fluent_interface.feature +24 -0
  219. data/support/gems/rspec-expectations-2.11.2/features/customized_message.feature +22 -0
  220. data/support/gems/rspec-expectations-2.11.2/features/diffing.feature +85 -0
  221. data/support/gems/rspec-expectations-2.11.2/features/implicit_docstrings.feature +52 -0
  222. data/support/gems/rspec-expectations-2.11.2/features/step_definitions/additional_cli_steps.rb +22 -0
  223. data/support/gems/rspec-expectations-2.11.2/features/support/env.rb +5 -0
  224. data/support/gems/rspec-expectations-2.11.2/features/syntax_configuration.feature +68 -0
  225. data/support/gems/rspec-expectations-2.11.2/features/test_frameworks/test_unit.feature +46 -0
  226. data/support/gems/rspec-expectations-2.11.2/lib/rspec-expectations.rb +1 -0
  227. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations.rb +47 -0
  228. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/deprecation.rb +38 -0
  229. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/differ.rb +81 -0
  230. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/errors.rb +9 -0
  231. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/expectation_target.rb +58 -0
  232. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions.rb +2 -0
  233. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions/array.rb +9 -0
  234. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/extensions/object.rb +39 -0
  235. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/fail_with.rb +55 -0
  236. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/handler.rb +48 -0
  237. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/syntax.rb +110 -0
  238. data/support/gems/rspec-expectations-2.11.2/lib/rspec/expectations/version.rb +8 -0
  239. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers.rb +689 -0
  240. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/be_close.rb +9 -0
  241. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in.rb +39 -0
  242. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/base_matcher.rb +68 -0
  243. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be.rb +185 -0
  244. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_instance_of.rb +11 -0
  245. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_kind_of.rb +11 -0
  246. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/be_within.rb +45 -0
  247. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/change.rb +132 -0
  248. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/cover.rb +21 -0
  249. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/eq.rb +22 -0
  250. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/eql.rb +23 -0
  251. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/equal.rb +44 -0
  252. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/exist.rb +26 -0
  253. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/has.rb +47 -0
  254. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/have.rb +107 -0
  255. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/include.rb +51 -0
  256. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/match.rb +12 -0
  257. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/match_array.rb +45 -0
  258. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/raise_error.rb +96 -0
  259. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/respond_to.rb +73 -0
  260. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/satisfy.rb +29 -0
  261. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/start_and_end_with.rb +48 -0
  262. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/throw_symbol.rb +93 -0
  263. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/built_in/yield.rb +219 -0
  264. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/compatibility.rb +14 -0
  265. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/configuration.rb +66 -0
  266. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/dsl.rb +24 -0
  267. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/extensions/instance_eval_with_args.rb +39 -0
  268. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/generated_descriptions.rb +36 -0
  269. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/matcher.rb +299 -0
  270. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/method_missing.rb +12 -0
  271. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/operator_matcher.rb +84 -0
  272. data/support/gems/rspec-expectations-2.11.2/lib/rspec/matchers/pretty.rb +60 -0
  273. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/differ_spec.rb +153 -0
  274. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/expectation_target_spec.rb +65 -0
  275. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/extensions/kernel_spec.rb +67 -0
  276. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/fail_with_spec.rb +70 -0
  277. data/support/gems/rspec-expectations-2.11.2/spec/rspec/expectations/handler_spec.rb +206 -0
  278. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/base_matcher_spec.rb +60 -0
  279. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_close_spec.rb +22 -0
  280. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_instance_of_spec.rb +36 -0
  281. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_kind_of_spec.rb +33 -0
  282. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_spec.rb +452 -0
  283. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/be_within_spec.rb +76 -0
  284. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/change_spec.rb +522 -0
  285. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/configuration_spec.rb +160 -0
  286. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/cover_spec.rb +65 -0
  287. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/description_generation_spec.rb +176 -0
  288. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/dsl_spec.rb +57 -0
  289. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/eq_spec.rb +50 -0
  290. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/eql_spec.rb +37 -0
  291. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/equal_spec.rb +57 -0
  292. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/exist_spec.rb +104 -0
  293. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/has_spec.rb +113 -0
  294. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/have_spec.rb +458 -0
  295. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/include_spec.rb +363 -0
  296. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/match_array_spec.rb +120 -0
  297. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/match_spec.rb +57 -0
  298. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/matcher_spec.rb +434 -0
  299. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/matchers_spec.rb +31 -0
  300. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/method_missing_spec.rb +24 -0
  301. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/operator_matcher_spec.rb +221 -0
  302. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/raise_error_spec.rb +339 -0
  303. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/respond_to_spec.rb +292 -0
  304. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/satisfy_spec.rb +40 -0
  305. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/start_with_end_with_spec.rb +174 -0
  306. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/throw_symbol_spec.rb +111 -0
  307. data/support/gems/rspec-expectations-2.11.2/spec/rspec/matchers/yield_spec.rb +374 -0
  308. data/support/gems/rspec-expectations-2.11.2/spec/spec_helper.rb +27 -0
  309. data/support/gems/rspec-expectations-2.11.2/spec/support/classes.rb +56 -0
  310. data/support/gems/rspec-expectations-2.11.2/spec/support/in_sub_process.rb +31 -0
  311. data/support/gems/rspec-expectations-2.11.2/spec/support/matchers.rb +22 -0
  312. data/support/gems/rspec-expectations-2.11.2/spec/support/ruby_version.rb +10 -0
  313. data/support/gems/rspec-mocks-2.11.1/.document +5 -0
  314. data/support/gems/rspec-mocks-2.11.1/.yardopts +6 -0
  315. data/support/gems/rspec-mocks-2.11.1/Changelog.md +199 -0
  316. data/support/gems/rspec-mocks-2.11.1/License.txt +23 -0
  317. data/support/gems/rspec-mocks-2.11.1/README.md +276 -0
  318. data/support/gems/rspec-mocks-2.11.1/features/README.md +67 -0
  319. data/support/gems/rspec-mocks-2.11.1/features/Scope.md +17 -0
  320. data/support/gems/rspec-mocks-2.11.1/features/Upgrade.md +22 -0
  321. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/README.md +27 -0
  322. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/explicit.feature +60 -0
  323. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/general_matchers.feature +85 -0
  324. data/support/gems/rspec-mocks-2.11.1/features/argument_matchers/type_matchers.feature +25 -0
  325. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/README.md +58 -0
  326. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/any_instance.feature +21 -0
  327. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/block_local_expectations.feature.pending +55 -0
  328. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/expect_message.feature +94 -0
  329. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/receive_counts.feature +209 -0
  330. data/support/gems/rspec-mocks-2.11.1/features/message_expectations/warn_when_expectation_is_set_on_nil.feature +50 -0
  331. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/README.md +43 -0
  332. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/any_instance.feature +133 -0
  333. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/as_null_object.feature +35 -0
  334. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/simple_return_value.feature +64 -0
  335. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/stub_chain.feature +51 -0
  336. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/stub_implementation.feature +26 -0
  337. data/support/gems/rspec-mocks-2.11.1/features/method_stubs/to_ary.feature +47 -0
  338. data/support/gems/rspec-mocks-2.11.1/features/outside_rspec/configuration.feature +82 -0
  339. data/support/gems/rspec-mocks-2.11.1/features/outside_rspec/standalone.feature +32 -0
  340. data/support/gems/rspec-mocks-2.11.1/features/step_definitions/additional_cli_steps.rb +4 -0
  341. data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/README.md +62 -0
  342. data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/stub_defined_constant.feature +79 -0
  343. data/support/gems/rspec-mocks-2.11.1/features/stubbing_constants/stub_undefined_constant.feature +50 -0
  344. data/support/gems/rspec-mocks-2.11.1/features/support/env.rb +6 -0
  345. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks.rb +39 -0
  346. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance.rb +81 -0
  347. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/chain.rb +77 -0
  348. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/expectation_chain.rb +57 -0
  349. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/message_chains.rb +60 -0
  350. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/recorder.rb +197 -0
  351. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/stub_chain.rb +37 -0
  352. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +25 -0
  353. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/argument_list_matcher.rb +93 -0
  354. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/argument_matchers.rb +238 -0
  355. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/error_generator.rb +114 -0
  356. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/errors.rb +12 -0
  357. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/example_methods.rb +95 -0
  358. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/instance_exec.rb +34 -0
  359. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/marshal.rb +23 -0
  360. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/extensions/psych.rb +23 -0
  361. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/framework.rb +20 -0
  362. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/message_expectation.rb +488 -0
  363. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/method_double.rb +196 -0
  364. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/methods.rb +155 -0
  365. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/mock.rb +7 -0
  366. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/order_group.rb +40 -0
  367. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/proxy.rb +190 -0
  368. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/serialization.rb +34 -0
  369. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/space.rb +34 -0
  370. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/standalone.rb +3 -0
  371. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/stub_const.rb +280 -0
  372. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/test_double.rb +103 -0
  373. data/support/gems/rspec-mocks-2.11.1/lib/rspec/mocks/version.rb +7 -0
  374. data/support/gems/rspec-mocks-2.11.1/lib/spec/mocks.rb +2 -0
  375. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/and_yield_spec.rb +114 -0
  376. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_instance/message_chains_spec.rb +40 -0
  377. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_instance_spec.rb +825 -0
  378. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/any_number_of_times_spec.rb +30 -0
  379. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/argument_expectation_spec.rb +34 -0
  380. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/at_least_spec.rb +142 -0
  381. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/at_most_spec.rb +90 -0
  382. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/block_return_value_spec.rb +53 -0
  383. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_10260_spec.rb +8 -0
  384. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_10263_spec.rb +25 -0
  385. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_11545_spec.rb +32 -0
  386. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_496_spec.rb +17 -0
  387. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_600_spec.rb +22 -0
  388. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_7611_spec.rb +16 -0
  389. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_8165_spec.rb +31 -0
  390. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_830_spec.rb +21 -0
  391. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/bug_report_957_spec.rb +22 -0
  392. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/double_spec.rb +12 -0
  393. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/failing_argument_matchers_spec.rb +95 -0
  394. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/hash_excluding_matcher_spec.rb +67 -0
  395. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/hash_including_matcher_spec.rb +90 -0
  396. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_ordering_spec.rb +103 -0
  397. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_space_spec.rb +58 -0
  398. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/mock_spec.rb +730 -0
  399. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/multiple_return_value_spec.rb +119 -0
  400. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/nil_expectation_warning_spec.rb +62 -0
  401. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/null_object_mock_spec.rb +106 -0
  402. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/once_counts_spec.rb +52 -0
  403. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/options_hash_spec.rb +35 -0
  404. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/partial_mock_spec.rb +156 -0
  405. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/partial_mock_using_mocks_directly_spec.rb +95 -0
  406. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/passing_argument_matchers_spec.rb +142 -0
  407. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/precise_counts_spec.rb +68 -0
  408. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/record_messages_spec.rb +26 -0
  409. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/serialization_spec.rb +111 -0
  410. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stash_spec.rb +27 -0
  411. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_chain_spec.rb +149 -0
  412. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_const_spec.rb +309 -0
  413. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_implementation_spec.rb +68 -0
  414. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stub_spec.rb +238 -0
  415. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/stubbed_message_expectations_spec.rb +47 -0
  416. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/test_double_spec.rb +57 -0
  417. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/to_ary_spec.rb +40 -0
  418. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks/twice_counts_spec.rb +66 -0
  419. data/support/gems/rspec-mocks-2.11.1/spec/rspec/mocks_spec.rb +51 -0
  420. data/support/gems/rspec-mocks-2.11.1/spec/spec_helper.rb +15 -0
  421. data/support/gems/rspec-rails-2.11.0/.document +5 -0
  422. data/support/gems/rspec-rails-2.11.0/.yardopts +8 -0
  423. data/support/gems/rspec-rails-2.11.0/Changelog.md +293 -0
  424. data/support/gems/rspec-rails-2.11.0/License.txt +22 -0
  425. data/support/gems/rspec-rails-2.11.0/README.md +494 -0
  426. data/support/gems/rspec-rails-2.11.0/features/Autotest.md +24 -0
  427. data/support/gems/rspec-rails-2.11.0/features/Generators.md +8 -0
  428. data/support/gems/rspec-rails-2.11.0/features/GettingStarted.md +84 -0
  429. data/support/gems/rspec-rails-2.11.0/features/README.md +56 -0
  430. data/support/gems/rspec-rails-2.11.0/features/RailsVersions.md +4 -0
  431. data/support/gems/rspec-rails-2.11.0/features/Transactions.md +84 -0
  432. data/support/gems/rspec-rails-2.11.0/features/Upgrade.md +117 -0
  433. data/support/gems/rspec-rails-2.11.0/features/controller_specs/Cookies.md +57 -0
  434. data/support/gems/rspec-rails-2.11.0/features/controller_specs/README.md +45 -0
  435. data/support/gems/rspec-rails-2.11.0/features/controller_specs/anonymous_controller.feature +330 -0
  436. data/support/gems/rspec-rails-2.11.0/features/controller_specs/bypass_rescue.feature +75 -0
  437. data/support/gems/rspec-rails-2.11.0/features/controller_specs/controller_spec.feature +35 -0
  438. data/support/gems/rspec-rails-2.11.0/features/controller_specs/isolation_from_views.feature +87 -0
  439. data/support/gems/rspec-rails-2.11.0/features/controller_specs/render_views.feature +114 -0
  440. data/support/gems/rspec-rails-2.11.0/features/helper_specs/helper_spec.feature +96 -0
  441. data/support/gems/rspec-rails-2.11.0/features/mailer_specs/url_helpers.feature +38 -0
  442. data/support/gems/rspec-rails-2.11.0/features/matchers/README.md +18 -0
  443. data/support/gems/rspec-rails-2.11.0/features/matchers/new_record_matcher.feature +28 -0
  444. data/support/gems/rspec-rails-2.11.0/features/matchers/redirect_to_matcher.feature +40 -0
  445. data/support/gems/rspec-rails-2.11.0/features/matchers/relation_match_array.feature +20 -0
  446. data/support/gems/rspec-rails-2.11.0/features/matchers/render_template_matcher.feature +28 -0
  447. data/support/gems/rspec-rails-2.11.0/features/mocks/mock_model.feature +147 -0
  448. data/support/gems/rspec-rails-2.11.0/features/mocks/stub_model.feature +58 -0
  449. data/support/gems/rspec-rails-2.11.0/features/model_specs/README.md +21 -0
  450. data/support/gems/rspec-rails-2.11.0/features/model_specs/errors_on.feature +33 -0
  451. data/support/gems/rspec-rails-2.11.0/features/model_specs/transactional_examples.feature +109 -0
  452. data/support/gems/rspec-rails-2.11.0/features/request_specs/request_spec.feature +49 -0
  453. data/support/gems/rspec-rails-2.11.0/features/routing_specs/README.md +17 -0
  454. data/support/gems/rspec-rails-2.11.0/features/routing_specs/be_routable_matcher.feature +80 -0
  455. data/support/gems/rspec-rails-2.11.0/features/routing_specs/named_routes.feature +18 -0
  456. data/support/gems/rspec-rails-2.11.0/features/routing_specs/route_to_matcher.feature +90 -0
  457. data/support/gems/rspec-rails-2.11.0/features/step_definitions/additional_cli_steps.rb +4 -0
  458. data/support/gems/rspec-rails-2.11.0/features/step_definitions/model_steps.rb +3 -0
  459. data/support/gems/rspec-rails-2.11.0/features/support/env.rb +53 -0
  460. data/support/gems/rspec-rails-2.11.0/features/view_specs/inferred_controller_path.feature +44 -0
  461. data/support/gems/rspec-rails-2.11.0/features/view_specs/stub_template.feature +51 -0
  462. data/support/gems/rspec-rails-2.11.0/features/view_specs/view_spec.feature +174 -0
  463. data/support/gems/rspec-rails-2.11.0/lib/autotest/rails_rspec2.rb +84 -0
  464. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec.rb +25 -0
  465. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/controller_generator.rb +33 -0
  466. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/templates/controller_spec.rb +14 -0
  467. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/controller/templates/view_spec.rb +5 -0
  468. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/helper/helper_generator.rb +15 -0
  469. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/helper/templates/helper_spec.rb +15 -0
  470. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/install_generator.rb +24 -0
  471. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/templates/.rspec +1 -0
  472. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/install/templates/spec/spec_helper.rb +38 -0
  473. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/integration/integration_generator.rb +27 -0
  474. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/integration/templates/request_spec.rb +15 -0
  475. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/mailer_generator.rb +20 -0
  476. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/templates/fixture +3 -0
  477. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/mailer/templates/mailer_spec.rb +23 -0
  478. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/model_generator.rb +22 -0
  479. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/templates/fixtures.yml +19 -0
  480. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/model/templates/model_spec.rb +5 -0
  481. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/observer/observer_generator.rb +12 -0
  482. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/observer/templates/observer_spec.rb +5 -0
  483. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/scaffold_generator.rb +158 -0
  484. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/controller_spec.rb +166 -0
  485. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/edit_spec.rb +31 -0
  486. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/index_spec.rb +32 -0
  487. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/new_spec.rb +30 -0
  488. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/routing_spec.rb +37 -0
  489. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/scaffold/templates/show_spec.rb +28 -0
  490. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/view/templates/view_spec.rb +5 -0
  491. data/support/gems/rspec-rails-2.11.0/lib/generators/rspec/view/view_generator.rb +21 -0
  492. data/support/gems/rspec-rails-2.11.0/lib/rspec-rails.rb +14 -0
  493. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails.rb +17 -0
  494. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/adapters.rb +79 -0
  495. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example.rb +38 -0
  496. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/controller_example_group.rb +128 -0
  497. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/helper_example_group.rb +40 -0
  498. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/mailer_example_group.rb +22 -0
  499. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/model_example_group.rb +10 -0
  500. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/rails_example_group.rb +14 -0
  501. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/request_example_group.rb +23 -0
  502. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/routing_example_group.rb +27 -0
  503. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/example/view_example_group.rb +155 -0
  504. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/extensions.rb +1 -0
  505. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/extensions/active_record/base.rb +45 -0
  506. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/fixture_support.rb +40 -0
  507. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers.rb +26 -0
  508. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/be_a_new.rb +76 -0
  509. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/be_new_record.rb +19 -0
  510. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/have_extension.rb +35 -0
  511. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/have_rendered.rb +40 -0
  512. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/redirect_to.rb +37 -0
  513. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/relation_match_array.rb +3 -0
  514. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/matchers/routing_matchers.rb +107 -0
  515. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/mocks.rb +243 -0
  516. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/module_inclusion.rb +29 -0
  517. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/tasks/rspec.rake +56 -0
  518. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/vendor/capybara.rb +29 -0
  519. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/vendor/webrat.rb +33 -0
  520. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/version.rb +7 -0
  521. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/view_assigns.rb +45 -0
  522. data/support/gems/rspec-rails-2.11.0/lib/rspec/rails/view_rendering.rb +121 -0
  523. data/support/gems/rspec-rails-2.11.0/spec/autotest/rails_rspec2_spec.rb +36 -0
  524. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/controller/controller_generator_spec.rb +86 -0
  525. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/helper/helper_generator_spec.rb +30 -0
  526. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/install/install_generator_spec.rb +18 -0
  527. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/integration/integration_generator_spec.rb +44 -0
  528. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/mailer/mailer_generator_spec.rb +48 -0
  529. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/model/model_generator_spec.rb +52 -0
  530. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/observer/observer_generator_spec.rb +21 -0
  531. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/scaffold/scaffold_generator_spec.rb +107 -0
  532. data/support/gems/rspec-rails-2.11.0/spec/generators/rspec/view/view_generator_spec.rb +41 -0
  533. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
  534. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/configuration_spec.rb +26 -0
  535. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/deprecations_spec.rb +18 -0
  536. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/controller_example_group_spec.rb +100 -0
  537. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/helper_example_group_spec.rb +64 -0
  538. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/mailer_example_group_spec.rb +21 -0
  539. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/model_example_group_spec.rb +15 -0
  540. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/request_example_group_spec.rb +17 -0
  541. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/routing_example_group_spec.rb +32 -0
  542. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/example/view_example_group_spec.rb +214 -0
  543. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/extensions/active_model/errors_on_spec.rb +23 -0
  544. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/extensions/active_record/records_spec.rb +9 -0
  545. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/fixture_support_spec.rb +17 -0
  546. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_a_new_spec.rb +142 -0
  547. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_new_record_spec.rb +19 -0
  548. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/be_routable_spec.rb +41 -0
  549. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/errors_on_spec.rb +38 -0
  550. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/have_rendered_spec.rb +93 -0
  551. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/redirect_to_spec.rb +80 -0
  552. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/relation_match_array_spec.rb +20 -0
  553. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/matchers/route_to_spec.rb +152 -0
  554. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/mocks/mock_model_spec.rb +379 -0
  555. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/mocks/stub_model_spec.rb +154 -0
  556. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/setup_and_teardown_adapter_spec.rb +32 -0
  557. data/support/gems/rspec-rails-2.11.0/spec/rspec/rails/view_rendering_spec.rb +111 -0
  558. data/support/gems/rspec-rails-2.11.0/spec/spec_helper.rb +31 -0
  559. data/support/gems/rspec-rails-2.11.0/spec/support/ar_classes.rb +42 -0
  560. data/support/gems/rspec-rails-2.11.0/spec/support/helpers.rb +20 -0
  561. data/support/gems/rspec-rails-2.11.0/spec/support/matchers.rb +9 -0
  562. data/support/specifications/rspec-2.11.0.gemspec +39 -0
  563. data/support/specifications/rspec-core-2.11.1.gemspec +61 -0
  564. data/support/specifications/rspec-expectations-2.11.2.gemspec +40 -0
  565. data/support/specifications/rspec-mocks-2.11.1.gemspec +37 -0
  566. data/support/specifications/rspec-rails-2.11.0.gemspec +55 -0
  567. metadata +653 -0
@@ -0,0 +1,65 @@
1
+ module RSpec
2
+ module Core
3
+ # @private
4
+ module ConstMissing
5
+ # Used to print deprecation warnings for Rspec and Spec constants (use
6
+ # RSpec instead)
7
+ def const_missing(name)
8
+ case name
9
+ when :Rspec, :Spec
10
+ RSpec.warn_deprecation <<-WARNING
11
+ *****************************************************************
12
+ DEPRECATION WARNING: you are using a deprecated constant that will
13
+ be removed from a future version of RSpec.
14
+
15
+ #{caller(0)[2]}
16
+
17
+ * #{name} is deprecated.
18
+ * RSpec is the new top-level module in RSpec-2
19
+ *****************************************************************
20
+ WARNING
21
+ RSpec
22
+ else
23
+ begin
24
+ super
25
+ rescue Exception => e
26
+ e.backtrace.reject! {|l| l =~ Regexp.compile(__FILE__) }
27
+ raise e
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+
34
+ module Runner
35
+ # @deprecated use RSpec.configure instead.
36
+ def self.configure(&block)
37
+ RSpec.deprecate("Spec::Runner.configure", "RSpec.configure")
38
+ RSpec.configure(&block)
39
+ end
40
+ end
41
+
42
+ # @private
43
+ module Rake
44
+ # Used to print deprecation warnings for Rake::SpecTask constant (use
45
+ # RSpec::Core::RakeTask instead)
46
+ def self.const_missing(name)
47
+ case name
48
+ when :SpecTask
49
+ RSpec.deprecate("Spec::Rake::SpecTask", "RSpec::Core::RakeTask")
50
+ require 'rspec/core/rake_task'
51
+ RSpec::Core::RakeTask
52
+ else
53
+ begin
54
+ super
55
+ rescue Exception => e
56
+ e.backtrace.reject! {|l| l =~ Regexp.compile(__FILE__) }
57
+ raise e
58
+ end
59
+ end
60
+ end
61
+
62
+ end
63
+ end
64
+
65
+ Object.extend(RSpec::Core::ConstMissing)
@@ -0,0 +1,36 @@
1
+ module RSpec
2
+ module Core
3
+ class CommandLine
4
+ def initialize(options, configuration=RSpec::configuration, world=RSpec::world)
5
+ if Array === options
6
+ options = ConfigurationOptions.new(options)
7
+ options.parse_options
8
+ end
9
+ @options = options
10
+ @configuration = configuration
11
+ @world = world
12
+ end
13
+
14
+ # Configures and runs a suite
15
+ #
16
+ # @param [IO] err
17
+ # @param [IO] out
18
+ def run(err, out)
19
+ @configuration.error_stream = err
20
+ @configuration.output_stream ||= out
21
+ @options.configure(@configuration)
22
+ @configuration.load_spec_files
23
+ @world.announce_filters
24
+
25
+ @configuration.reporter.report(@world.example_count, @configuration.randomize? ? @configuration.seed : nil) do |reporter|
26
+ begin
27
+ @configuration.run_hook(:before, :suite)
28
+ @world.example_groups.ordered.map {|g| g.run(reporter)}.all? ? 0 : @configuration.failure_exit_code
29
+ ensure
30
+ @configuration.run_hook(:after, :suite)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,944 @@
1
+ require 'fileutils'
2
+
3
+ module RSpec
4
+ module Core
5
+ # Stores runtime configuration information.
6
+ #
7
+ # @example Standard settings
8
+ # RSpec.configure do |c|
9
+ # c.drb = true
10
+ # c.drb_port = 1234
11
+ # c.default_path = 'behavior'
12
+ # end
13
+ #
14
+ # @example Hooks
15
+ # RSpec.configure do |c|
16
+ # c.before(:suite) { establish_connection }
17
+ # c.before(:each) { log_in_as :authorized }
18
+ # c.around(:each) { |ex| Database.transaction(&ex) }
19
+ # end
20
+ #
21
+ # @see RSpec.configure
22
+ # @see Hooks
23
+ class Configuration
24
+ include RSpec::Core::Hooks
25
+
26
+ class MustBeConfiguredBeforeExampleGroupsError < StandardError; end
27
+
28
+ # @private
29
+ def self.define_reader(name)
30
+ eval <<-CODE
31
+ def #{name}
32
+ value_for(#{name.inspect}, defined?(@#{name}) ? @#{name} : nil)
33
+ end
34
+ CODE
35
+ end
36
+
37
+ # @private
38
+ def self.deprecate_alias_key
39
+ RSpec.warn_deprecation <<-MESSAGE
40
+ The :alias option to add_setting is deprecated. Use :alias_with on the original setting instead.
41
+ Called from #{caller(0)[5]}
42
+ MESSAGE
43
+ end
44
+
45
+ # @private
46
+ def self.define_aliases(name, alias_name)
47
+ alias_method alias_name, name
48
+ alias_method "#{alias_name}=", "#{name}="
49
+ define_predicate_for alias_name
50
+ end
51
+
52
+ # @private
53
+ def self.define_predicate_for(*names)
54
+ names.each {|name| alias_method "#{name}?", name}
55
+ end
56
+
57
+ # @private
58
+ #
59
+ # Invoked by the `add_setting` instance method. Use that method on a
60
+ # `Configuration` instance rather than this class method.
61
+ def self.add_setting(name, opts={})
62
+ raise "Use the instance add_setting method if you want to set a default" if opts.has_key?(:default)
63
+ if opts[:alias]
64
+ deprecate_alias_key
65
+ define_aliases(opts[:alias], name)
66
+ else
67
+ attr_writer name
68
+ define_reader name
69
+ define_predicate_for name
70
+ end
71
+ [opts[:alias_with]].flatten.compact.each do |alias_name|
72
+ define_aliases(name, alias_name)
73
+ end
74
+ end
75
+
76
+ # @macro [attach] add_setting
77
+ # @attribute $1
78
+ # Patterns to match against lines in backtraces presented in failure
79
+ # messages in order to filter them out (default:
80
+ # DEFAULT_BACKTRACE_PATTERNS). You can either replace this list using
81
+ # the setter or modify it using the getter.
82
+ #
83
+ # To override this behavior and display a full backtrace, use
84
+ # `--backtrace` on the command line, in a `.rspec` file, or in the
85
+ # `rspec_options` attribute of RSpec's rake task.
86
+ add_setting :backtrace_clean_patterns
87
+
88
+ # Path to use if no path is provided to the `rspec` command (default:
89
+ # `"spec"`). Allows you to just type `rspec` instead of `rspec spec` to
90
+ # run all the examples in the `spec` directory.
91
+ add_setting :default_path
92
+
93
+ # Run examples over DRb (default: `false`). RSpec doesn't supply the DRb
94
+ # server, but you can use tools like spork.
95
+ add_setting :drb
96
+
97
+ # The drb_port (default: `8989`).
98
+ add_setting :drb_port
99
+
100
+ # Default: `$stderr`.
101
+ add_setting :error_stream
102
+
103
+ # Clean up and exit after the first failure (default: `false`).
104
+ add_setting :fail_fast
105
+
106
+ # The exit code to return if there are any failures (default: 1).
107
+ add_setting :failure_exit_code
108
+
109
+ # Determines the order in which examples are run (default: OS standard
110
+ # load order for files, declaration order for groups and examples).
111
+ define_reader :order
112
+
113
+ # Default: `$stdout`.
114
+ # Also known as `output` and `out`
115
+ add_setting :output_stream, :alias_with => [:output, :out]
116
+
117
+ # Load files matching this pattern (default: `'**/*_spec.rb'`)
118
+ add_setting :pattern, :alias_with => :filename_pattern
119
+
120
+ # Report the times for the 10 slowest examples (default: `false`).
121
+ add_setting :profile_examples
122
+
123
+ # Run all examples if none match the configured filters (default: `false`).
124
+ add_setting :run_all_when_everything_filtered
125
+
126
+ # Seed for random ordering (default: generated randomly each run).
127
+ #
128
+ # When you run specs with `--order random`, RSpec generates a random seed
129
+ # for the randomization and prints it to the `output_stream` (assuming
130
+ # you're using RSpec's built-in formatters). If you discover an ordering
131
+ # dependency (i.e. examples fail intermittently depending on order), set
132
+ # this (on Configuration or on the command line with `--seed`) to run
133
+ # using the same seed while you debug the issue.
134
+ #
135
+ # We recommend, actually, that you use the command line approach so you
136
+ # don't accidentally leave the seed encoded.
137
+ define_reader :seed
138
+
139
+ # When a block passed to pending fails (as expected), display the failure
140
+ # without reporting it as a failure (default: false).
141
+ add_setting :show_failures_in_pending_blocks
142
+
143
+ # Convert symbols to hashes with the symbol as a key with a value of
144
+ # `true` (default: false).
145
+ #
146
+ # This allows you to tag a group or example like this:
147
+ #
148
+ # describe "something slow", :slow do
149
+ # # ...
150
+ # end
151
+ #
152
+ # ... instead of having to type:
153
+ #
154
+ # describe "something slow", :slow => true do
155
+ # # ...
156
+ # end
157
+ add_setting :treat_symbols_as_metadata_keys_with_true_values
158
+
159
+ # @private
160
+ add_setting :tty
161
+ # @private
162
+ add_setting :include_or_extend_modules
163
+ # @private
164
+ add_setting :files_to_run
165
+ # @private
166
+ add_setting :expecting_with_rspec
167
+ # @private
168
+ attr_accessor :filter_manager
169
+
170
+ DEFAULT_BACKTRACE_PATTERNS = [
171
+ /\/lib\d*\/ruby\//,
172
+ /org\/jruby\//,
173
+ /bin\//,
174
+ /gems/,
175
+ /spec\/spec_helper\.rb/,
176
+ /lib\/rspec\/(core|expectations|matchers|mocks)/
177
+ ]
178
+
179
+ def initialize
180
+ @expectation_frameworks = []
181
+ @include_or_extend_modules = []
182
+ @mock_framework = nil
183
+ @files_to_run = []
184
+ @formatters = []
185
+ @color = false
186
+ @pattern = '**/*_spec.rb'
187
+ @failure_exit_code = 1
188
+ @backtrace_clean_patterns = DEFAULT_BACKTRACE_PATTERNS.dup
189
+ @default_path = 'spec'
190
+ @filter_manager = FilterManager.new
191
+ @preferred_options = {}
192
+ @seed = srand % 0xFFFF
193
+ end
194
+
195
+ # @private
196
+ #
197
+ # Used to set higher priority option values from the command line.
198
+ def force(hash)
199
+ if hash.has_key?(:seed)
200
+ hash[:order], hash[:seed] = order_and_seed_from_seed(hash[:seed])
201
+ elsif hash.has_key?(:order)
202
+ set_order_and_seed(hash)
203
+ end
204
+ @preferred_options.merge!(hash)
205
+ end
206
+
207
+ # @private
208
+ def reset
209
+ @reporter = nil
210
+ @formatters.clear
211
+ end
212
+
213
+ # @overload add_setting(name)
214
+ # @overload add_setting(name, opts)
215
+ # @option opts [Symbol] :default
216
+ #
217
+ # set a default value for the generated getter and predicate methods:
218
+ #
219
+ # add_setting(:foo, :default => "default value")
220
+ #
221
+ # @option opts [Symbol] :alias_with
222
+ #
223
+ # Use `:alias_with` to alias the setter, getter, and predicate to another
224
+ # name, or names:
225
+ #
226
+ # add_setting(:foo, :alias_with => :bar)
227
+ # add_setting(:foo, :alias_with => [:bar, :baz])
228
+ #
229
+ # Adds a custom setting to the RSpec.configuration object.
230
+ #
231
+ # RSpec.configuration.add_setting :foo
232
+ #
233
+ # Used internally and by extension frameworks like rspec-rails, so they
234
+ # can add config settings that are domain specific. For example:
235
+ #
236
+ # RSpec.configure do |c|
237
+ # c.add_setting :use_transactional_fixtures,
238
+ # :default => true,
239
+ # :alias_with => :use_transactional_examples
240
+ # end
241
+ #
242
+ # `add_setting` creates three methods on the configuration object, a
243
+ # setter, a getter, and a predicate:
244
+ #
245
+ # RSpec.configuration.foo=(value)
246
+ # RSpec.configuration.foo
247
+ # RSpec.configuration.foo? # returns true if foo returns anything but nil or false
248
+ def add_setting(name, opts={})
249
+ default = opts.delete(:default)
250
+ (class << self; self; end).class_eval do
251
+ add_setting(name, opts)
252
+ end
253
+ send("#{name}=", default) if default
254
+ end
255
+
256
+ # Used by formatters to ask whether a backtrace line should be displayed
257
+ # or not, based on the line matching any `backtrace_clean_patterns`.
258
+ def cleaned_from_backtrace?(line)
259
+ # TODO (David 2011-12-25) why are we asking the configuration to do
260
+ # stuff? Either use the patterns directly or enapsulate the filtering
261
+ # in a BacktraceCleaner object.
262
+ backtrace_clean_patterns.any? { |regex| line =~ regex }
263
+ end
264
+
265
+ # Returns the configured mock framework adapter module
266
+ def mock_framework
267
+ mock_with :rspec unless @mock_framework
268
+ @mock_framework
269
+ end
270
+
271
+ # Delegates to mock_framework=(framework)
272
+ def mock_framework=(framework)
273
+ mock_with framework
274
+ end
275
+
276
+ # Sets the mock framework adapter module.
277
+ #
278
+ # `framework` can be a Symbol or a Module.
279
+ #
280
+ # Given any of `:rspec`, `:mocha`, `:flexmock`, or `:rr`, configures the
281
+ # named framework.
282
+ #
283
+ # Given `:nothing`, configures no framework. Use this if you don't use
284
+ # any mocking framework to save a little bit of overhead.
285
+ #
286
+ # Given a Module, includes that module in every example group. The module
287
+ # should adhere to RSpec's mock framework adapter API:
288
+ #
289
+ # setup_mocks_for_rspec
290
+ # - called before each example
291
+ #
292
+ # verify_mocks_for_rspec
293
+ # - called after each example. Framework should raise an exception
294
+ # when expectations fail
295
+ #
296
+ # teardown_mocks_for_rspec
297
+ # - called after verify_mocks_for_rspec (even if there are errors)
298
+ #
299
+ # If the module responds to `configuration` and `mock_with` receives a block,
300
+ # it will yield the configuration object to the block e.g.
301
+ #
302
+ # config.mock_with OtherMockFrameworkAdapter do |mod_config|
303
+ # mod_config.custom_setting = true
304
+ # end
305
+ def mock_with(framework)
306
+ framework_module = case framework
307
+ when Module
308
+ framework
309
+ when String, Symbol
310
+ require case framework.to_s
311
+ when /rspec/i
312
+ 'rspec/core/mocking/with_rspec'
313
+ when /mocha/i
314
+ 'rspec/core/mocking/with_mocha'
315
+ when /rr/i
316
+ 'rspec/core/mocking/with_rr'
317
+ when /flexmock/i
318
+ 'rspec/core/mocking/with_flexmock'
319
+ else
320
+ 'rspec/core/mocking/with_absolutely_nothing'
321
+ end
322
+ RSpec::Core::MockFrameworkAdapter
323
+ end
324
+
325
+ new_name, old_name = [framework_module, @mock_framework].map do |mod|
326
+ mod.respond_to?(:framework_name) ? mod.framework_name : :unnamed
327
+ end
328
+
329
+ unless new_name == old_name
330
+ assert_no_example_groups_defined(:mock_framework)
331
+ end
332
+
333
+ if block_given?
334
+ raise "#{framework_module} must respond to `configuration` so that mock_with can yield it." unless framework_module.respond_to?(:configuration)
335
+ yield framework_module.configuration
336
+ end
337
+
338
+ @mock_framework = framework_module
339
+ end
340
+
341
+ # Returns the configured expectation framework adapter module(s)
342
+ def expectation_frameworks
343
+ expect_with :rspec if @expectation_frameworks.empty?
344
+ @expectation_frameworks
345
+ end
346
+
347
+ # Delegates to expect_with(framework)
348
+ def expectation_framework=(framework)
349
+ expect_with(framework)
350
+ end
351
+
352
+ # Sets the expectation framework module(s) to be included in each example
353
+ # group.
354
+ #
355
+ # `frameworks` can be `:rspec`, `:stdlib`, a custom module, or any
356
+ # combination thereof:
357
+ #
358
+ # config.expect_with :rspec
359
+ # config.expect_with :stdlib
360
+ # config.expect_with :rspec, :stdlib
361
+ # config.expect_with OtherExpectationFramework
362
+ #
363
+ # RSpec will translate `:rspec` and `:stdlib` into the appropriate
364
+ # modules.
365
+ #
366
+ # ## Configuration
367
+ #
368
+ # If the module responds to `configuration`, `expect_with` will
369
+ # yield the `configuration` object if given a block:
370
+ #
371
+ # config.expect_with OtherExpectationFramework do |custom_config|
372
+ # custom_config.custom_setting = true
373
+ # end
374
+ def expect_with(*frameworks)
375
+ modules = frameworks.map do |framework|
376
+ case framework
377
+ when Module
378
+ framework
379
+ when :rspec
380
+ require 'rspec/expectations'
381
+ self.expecting_with_rspec = true
382
+ ::RSpec::Matchers
383
+ when :stdlib
384
+ require 'test/unit/assertions'
385
+ ::Test::Unit::Assertions
386
+ else
387
+ raise ArgumentError, "#{framework.inspect} is not supported"
388
+ end
389
+ end
390
+
391
+ if (modules - @expectation_frameworks).any?
392
+ assert_no_example_groups_defined(:expect_with)
393
+ end
394
+
395
+ if block_given?
396
+ raise "expect_with only accepts a block with a single argument. Call expect_with #{modules.length} times, once with each argument, instead." if modules.length > 1
397
+ raise "#{modules.first} must respond to `configuration` so that expect_with can yield it." unless modules.first.respond_to?(:configuration)
398
+ yield modules.first.configuration
399
+ end
400
+
401
+ @expectation_frameworks.push(*modules)
402
+ end
403
+
404
+ def full_backtrace=(true_or_false)
405
+ @backtrace_clean_patterns = true_or_false ? [] : DEFAULT_BACKTRACE_PATTERNS
406
+ end
407
+
408
+ def color
409
+ return false unless output_to_tty?
410
+ value_for(:color, @color)
411
+ end
412
+
413
+ def color=(bool)
414
+ if bool
415
+ @color = true
416
+ if RSpec.windows_os? and not ENV['ANSICON']
417
+ warn "You must use ANSICON 1.31 or later (http://adoxa.110mb.com/ansicon/) to use colour on Windows"
418
+ @color = false
419
+ end
420
+ end
421
+ end
422
+
423
+ # TODO - deprecate color_enabled - probably not until the last 2.x
424
+ # release before 3.0
425
+ alias_method :color_enabled, :color
426
+ alias_method :color_enabled=, :color=
427
+ define_predicate_for :color_enabled, :color
428
+
429
+ def libs=(libs)
430
+ libs.map {|lib| $LOAD_PATH.unshift lib}
431
+ end
432
+
433
+ def requires=(paths)
434
+ paths.map {|path| require path}
435
+ end
436
+
437
+ def debug=(bool)
438
+ return unless bool
439
+ begin
440
+ require 'ruby-debug'
441
+ Debugger.start
442
+ rescue LoadError => e
443
+ raise <<-EOM
444
+
445
+ #{'*'*50}
446
+ #{e.message}
447
+
448
+ If you have it installed as a ruby gem, then you need to either require
449
+ 'rubygems' or configure the RUBYOPT environment variable with the value
450
+ 'rubygems'.
451
+
452
+ #{e.backtrace.join("\n")}
453
+ #{'*'*50}
454
+ EOM
455
+ end
456
+ end
457
+
458
+ # Run examples defined on `line_numbers` in all files to run.
459
+ def line_numbers=(line_numbers)
460
+ filter_run :line_numbers => line_numbers.map{|l| l.to_i}
461
+ end
462
+
463
+ def full_description=(description)
464
+ filter_run :full_description => Regexp.union(*Array(description).map {|d| Regexp.new(d) })
465
+ end
466
+
467
+ # @overload add_formatter(formatter)
468
+ #
469
+ # Adds a formatter to the formatters collection. `formatter` can be a
470
+ # string representing any of the built-in formatters (see
471
+ # `built_in_formatter`), or a custom formatter class.
472
+ #
473
+ # ### Note
474
+ #
475
+ # For internal purposes, `add_formatter` also accepts the name of a class
476
+ # and path to a file that contains that class definition, but you should
477
+ # consider that a private api that may change at any time without notice.
478
+ def add_formatter(formatter_to_use, path=nil)
479
+ formatter_class =
480
+ built_in_formatter(formatter_to_use) ||
481
+ custom_formatter(formatter_to_use) ||
482
+ (raise ArgumentError, "Formatter '#{formatter_to_use}' unknown - maybe you meant 'documentation' or 'progress'?.")
483
+
484
+ formatters << formatter_class.new(path ? file_at(path) : output)
485
+ end
486
+
487
+ alias_method :formatter=, :add_formatter
488
+
489
+ def formatters
490
+ @formatters ||= []
491
+ end
492
+
493
+ def reporter
494
+ @reporter ||= begin
495
+ add_formatter('progress') if formatters.empty?
496
+ Reporter.new(*formatters)
497
+ end
498
+ end
499
+
500
+ # @private
501
+ def files_or_directories_to_run=(*files)
502
+ files = files.flatten
503
+ files << default_path if command == 'rspec' && default_path && files.empty?
504
+ self.files_to_run = get_files_to_run(files)
505
+ end
506
+
507
+ # Creates a method that delegates to `example` including the submitted
508
+ # `args`. Used internally to add variants of `example` like `pending`:
509
+ #
510
+ # @example
511
+ # alias_example_to :pending, :pending => true
512
+ #
513
+ # # This lets you do this:
514
+ #
515
+ # describe Thing do
516
+ # pending "does something" do
517
+ # thing = Thing.new
518
+ # end
519
+ # end
520
+ #
521
+ # # ... which is the equivalent of
522
+ #
523
+ # describe Thing do
524
+ # it "does something", :pending => true do
525
+ # thing = Thing.new
526
+ # end
527
+ # end
528
+ def alias_example_to(new_name, *args)
529
+ extra_options = build_metadata_hash_from(args)
530
+ RSpec::Core::ExampleGroup.alias_example_to(new_name, extra_options)
531
+ end
532
+
533
+ # Define an alias for it_should_behave_like that allows different
534
+ # language (like "it_has_behavior" or "it_behaves_like") to be
535
+ # employed when including shared examples.
536
+ #
537
+ # Example:
538
+ #
539
+ # alias_it_behaves_like_to(:it_has_behavior, 'has behavior:')
540
+ #
541
+ # allows the user to include a shared example group like:
542
+ #
543
+ # describe Entity do
544
+ # it_has_behavior 'sortability' do
545
+ # let(:sortable) { Entity.new }
546
+ # end
547
+ # end
548
+ #
549
+ # which is reported in the output as:
550
+ #
551
+ # Entity
552
+ # has behavior: sortability
553
+ # # sortability examples here
554
+ def alias_it_behaves_like_to(new_name, report_label = '')
555
+ RSpec::Core::ExampleGroup.alias_it_behaves_like_to(new_name, report_label)
556
+ end
557
+
558
+ alias_method :alias_it_should_behave_like_to, :alias_it_behaves_like_to
559
+
560
+ # Adds key/value pairs to the `inclusion_filter`. If the
561
+ # `treat_symbols_as_metadata_keys_with_true_values` config option is set
562
+ # to true and `args` includes any symbols that are not part of a hash,
563
+ # each symbol is treated as a key in the hash with the value `true`.
564
+ #
565
+ # ### Note
566
+ #
567
+ # Filters set using this method can be overridden from the command line
568
+ # or config files (e.g. `.rspec`).
569
+ #
570
+ # @example
571
+ # # given this declaration
572
+ # describe "something", :foo => 'bar' do
573
+ # # ...
574
+ # end
575
+ #
576
+ # # any of the following will include that group
577
+ # config.filter_run_including :foo => 'bar'
578
+ # config.filter_run_including :foo => /^ba/
579
+ # config.filter_run_including :foo => lambda {|v| v == 'bar'}
580
+ # config.filter_run_including :foo => lambda {|v,m| m[:foo] == 'bar'}
581
+ #
582
+ # # given a proc with an arity of 1, the lambda is passed the value related to the key, e.g.
583
+ # config.filter_run_including :foo => lambda {|v| v == 'bar'}
584
+ #
585
+ # # given a proc with an arity of 2, the lambda is passed the value related to the key,
586
+ # # and the metadata itself e.g.
587
+ # config.filter_run_including :foo => lambda {|v,m| m[:foo] == 'bar'}
588
+ #
589
+ # # with treat_symbols_as_metadata_keys_with_true_values = true
590
+ # filter_run_including :foo # same as filter_run_including :foo => true
591
+ def filter_run_including(*args)
592
+ filter_manager.include_with_low_priority build_metadata_hash_from(args)
593
+ end
594
+
595
+ alias_method :filter_run, :filter_run_including
596
+
597
+ # Clears and reassigns the `inclusion_filter`. Set to `nil` if you don't
598
+ # want any inclusion filter at all.
599
+ #
600
+ # ### Warning
601
+ #
602
+ # This overrides any inclusion filters/tags set on the command line or in
603
+ # configuration files.
604
+ def inclusion_filter=(filter)
605
+ filter_manager.include! build_metadata_hash_from([filter])
606
+ end
607
+
608
+ alias_method :filter=, :inclusion_filter=
609
+
610
+ # Returns the `inclusion_filter`. If none has been set, returns an empty
611
+ # hash.
612
+ def inclusion_filter
613
+ filter_manager.inclusions
614
+ end
615
+
616
+ alias_method :filter, :inclusion_filter
617
+
618
+ # Adds key/value pairs to the `exclusion_filter`. If the
619
+ # `treat_symbols_as_metadata_keys_with_true_values` config option is set
620
+ # to true and `args` excludes any symbols that are not part of a hash,
621
+ # each symbol is treated as a key in the hash with the value `true`.
622
+ #
623
+ # ### Note
624
+ #
625
+ # Filters set using this method can be overridden from the command line
626
+ # or config files (e.g. `.rspec`).
627
+ #
628
+ # @example
629
+ # # given this declaration
630
+ # describe "something", :foo => 'bar' do
631
+ # # ...
632
+ # end
633
+ #
634
+ # # any of the following will exclude that group
635
+ # config.filter_run_excluding :foo => 'bar'
636
+ # config.filter_run_excluding :foo => /^ba/
637
+ # config.filter_run_excluding :foo => lambda {|v| v == 'bar'}
638
+ # config.filter_run_excluding :foo => lambda {|v,m| m[:foo] == 'bar'}
639
+ #
640
+ # # given a proc with an arity of 1, the lambda is passed the value related to the key, e.g.
641
+ # config.filter_run_excluding :foo => lambda {|v| v == 'bar'}
642
+ #
643
+ # # given a proc with an arity of 2, the lambda is passed the value related to the key,
644
+ # # and the metadata itself e.g.
645
+ # config.filter_run_excluding :foo => lambda {|v,m| m[:foo] == 'bar'}
646
+ #
647
+ # # with treat_symbols_as_metadata_keys_with_true_values = true
648
+ # filter_run_excluding :foo # same as filter_run_excluding :foo => true
649
+ def filter_run_excluding(*args)
650
+ filter_manager.exclude_with_low_priority build_metadata_hash_from(args)
651
+ end
652
+
653
+ # Clears and reassigns the `exclusion_filter`. Set to `nil` if you don't
654
+ # want any exclusion filter at all.
655
+ #
656
+ # ### Warning
657
+ #
658
+ # This overrides any exclusion filters/tags set on the command line or in
659
+ # configuration files.
660
+ def exclusion_filter=(filter)
661
+ filter_manager.exclude! build_metadata_hash_from([filter])
662
+ end
663
+
664
+ # Returns the `exclusion_filter`. If none has been set, returns an empty
665
+ # hash.
666
+ def exclusion_filter
667
+ filter_manager.exclusions
668
+ end
669
+
670
+ # Tells RSpec to include `mod` in example groups. Methods defined in
671
+ # `mod` are exposed to examples (not example groups). Use `filters` to
672
+ # constrain the groups in which to include the module.
673
+ #
674
+ # @example
675
+ #
676
+ # module AuthenticationHelpers
677
+ # def login_as(user)
678
+ # # ...
679
+ # end
680
+ # end
681
+ #
682
+ # module UserHelpers
683
+ # def users(username)
684
+ # # ...
685
+ # end
686
+ # end
687
+ #
688
+ # RSpec.configure do |config|
689
+ # config.include(UserHelpers) # included in all modules
690
+ # config.include(AuthenticationHelpers, :type => :request)
691
+ # end
692
+ #
693
+ # describe "edit profile", :type => :request do
694
+ # it "can be viewed by owning user" do
695
+ # login_as users(:jdoe)
696
+ # get "/profiles/jdoe"
697
+ # assert_select ".username", :text => 'jdoe'
698
+ # end
699
+ # end
700
+ #
701
+ # @see #extend
702
+ def include(mod, *filters)
703
+ include_or_extend_modules << [:include, mod, build_metadata_hash_from(filters)]
704
+ end
705
+
706
+ # Tells RSpec to extend example groups with `mod`. Methods defined in
707
+ # `mod` are exposed to example groups (not examples). Use `filters` to
708
+ # constrain the groups to extend.
709
+ #
710
+ # Similar to `include`, but behavior is added to example groups, which
711
+ # are classes, rather than the examples, which are instances of those
712
+ # classes.
713
+ #
714
+ # @example
715
+ #
716
+ # module UiHelpers
717
+ # def run_in_browser
718
+ # # ...
719
+ # end
720
+ # end
721
+ #
722
+ # RSpec.configure do |config|
723
+ # config.extend(UiHelpers, :type => :request)
724
+ # end
725
+ #
726
+ # describe "edit profile", :type => :request do
727
+ # run_in_browser
728
+ #
729
+ # it "does stuff in the client" do
730
+ # # ...
731
+ # end
732
+ # end
733
+ #
734
+ # @see #include
735
+ def extend(mod, *filters)
736
+ include_or_extend_modules << [:extend, mod, build_metadata_hash_from(filters)]
737
+ end
738
+
739
+ # @private
740
+ #
741
+ # Used internally to extend a group with modules using `include` and/or
742
+ # `extend`.
743
+ def configure_group(group)
744
+ include_or_extend_modules.each do |include_or_extend, mod, filters|
745
+ next unless filters.empty? || group.any_apply?(filters)
746
+ send("safe_#{include_or_extend}", mod, group)
747
+ end
748
+ end
749
+
750
+ # @private
751
+ def safe_include(mod, host)
752
+ host.send(:include,mod) unless host < mod
753
+ end
754
+
755
+ # @private
756
+ if RUBY_VERSION.to_f >= 1.9
757
+ def safe_extend(mod, host)
758
+ host.extend(mod) unless (class << host; self; end) < mod
759
+ end
760
+ else
761
+ def safe_extend(mod, host)
762
+ host.extend(mod) unless (class << host; self; end).included_modules.include?(mod)
763
+ end
764
+ end
765
+
766
+ # @private
767
+ def configure_mock_framework
768
+ RSpec::Core::ExampleGroup.send(:include, mock_framework)
769
+ end
770
+
771
+ # @private
772
+ def configure_expectation_framework
773
+ expectation_frameworks.each do |framework|
774
+ RSpec::Core::ExampleGroup.send(:include, framework)
775
+ end
776
+ end
777
+
778
+ # @private
779
+ def load_spec_files
780
+ files_to_run.uniq.map {|f| load File.expand_path(f) }
781
+ raise_if_rspec_1_is_loaded
782
+ end
783
+
784
+ # @api
785
+ #
786
+ # Sets the seed value and sets `order='rand'`
787
+ def seed=(seed)
788
+ order_and_seed_from_seed(seed)
789
+ end
790
+
791
+ # @api
792
+ #
793
+ # Sets the order and, if order is `'rand:<seed>'`, also sets the seed.
794
+ def order=(type)
795
+ order_and_seed_from_order(type)
796
+ end
797
+
798
+ def randomize?
799
+ order.to_s.match(/rand/)
800
+ end
801
+
802
+ private
803
+
804
+ def get_files_to_run(paths)
805
+ patterns = pattern.split(",")
806
+ paths.map do |path|
807
+ path = path.gsub(File::ALT_SEPARATOR, File::SEPARATOR) if File::ALT_SEPARATOR
808
+ File.directory?(path) ? gather_directories(path, patterns) : extract_location(path)
809
+ end.flatten
810
+ end
811
+
812
+ def gather_directories(path, patterns)
813
+ patterns.map do |pattern|
814
+ pattern =~ /^#{path}/ ? Dir[pattern.strip] : Dir["#{path}/{#{pattern.strip}}"]
815
+ end
816
+ end
817
+
818
+ def extract_location(path)
819
+ if path =~ /^(.*?)((?:\:\d+)+)$/
820
+ path, lines = $1, $2[1..-1].split(":").map{|n| n.to_i}
821
+ filter_manager.add_location path, lines
822
+ end
823
+ path
824
+ end
825
+
826
+ def command
827
+ $0.split(File::SEPARATOR).last
828
+ end
829
+
830
+ def value_for(key, default=nil)
831
+ @preferred_options.has_key?(key) ? @preferred_options[key] : default
832
+ end
833
+
834
+ def assert_no_example_groups_defined(config_option)
835
+ if RSpec.world.example_groups.any?
836
+ raise MustBeConfiguredBeforeExampleGroupsError.new(
837
+ "RSpec's #{config_option} configuration option must be configured before " +
838
+ "any example groups are defined, but you have already defined a group."
839
+ )
840
+ end
841
+ end
842
+
843
+ def raise_if_rspec_1_is_loaded
844
+ if defined?(Spec) && defined?(Spec::VERSION::MAJOR) && Spec::VERSION::MAJOR == 1
845
+ raise <<-MESSAGE
846
+
847
+ #{'*'*80}
848
+ You are running rspec-2, but it seems as though rspec-1 has been loaded as
849
+ well. This is likely due to a statement like this somewhere in the specs:
850
+
851
+ require 'spec'
852
+
853
+ Please locate that statement, remove it, and try again.
854
+ #{'*'*80}
855
+ MESSAGE
856
+ end
857
+ end
858
+
859
+ def output_to_tty?
860
+ begin
861
+ output_stream.tty? || tty?
862
+ rescue NoMethodError
863
+ false
864
+ end
865
+ end
866
+
867
+ def built_in_formatter(key)
868
+ case key.to_s
869
+ when 'd', 'doc', 'documentation', 's', 'n', 'spec', 'nested'
870
+ require 'rspec/core/formatters/documentation_formatter'
871
+ RSpec::Core::Formatters::DocumentationFormatter
872
+ when 'h', 'html'
873
+ require 'rspec/core/formatters/html_formatter'
874
+ RSpec::Core::Formatters::HtmlFormatter
875
+ when 't', 'textmate'
876
+ require 'rspec/core/formatters/text_mate_formatter'
877
+ RSpec::Core::Formatters::TextMateFormatter
878
+ when 'p', 'progress'
879
+ require 'rspec/core/formatters/progress_formatter'
880
+ RSpec::Core::Formatters::ProgressFormatter
881
+ end
882
+ end
883
+
884
+ def custom_formatter(formatter_ref)
885
+ if Class === formatter_ref
886
+ formatter_ref
887
+ elsif string_const?(formatter_ref)
888
+ begin
889
+ eval(formatter_ref)
890
+ rescue NameError
891
+ require path_for(formatter_ref)
892
+ eval(formatter_ref)
893
+ end
894
+ end
895
+ end
896
+
897
+ def string_const?(str)
898
+ str.is_a?(String) && /\A[A-Z][a-zA-Z0-9_:]*\z/ =~ str
899
+ end
900
+
901
+ def path_for(const_ref)
902
+ underscore_with_fix_for_non_standard_rspec_naming(const_ref)
903
+ end
904
+
905
+ def underscore_with_fix_for_non_standard_rspec_naming(string)
906
+ underscore(string).sub(%r{(^|/)r_spec($|/)}, '\\1rspec\\2')
907
+ end
908
+
909
+ # activesupport/lib/active_support/inflector/methods.rb, line 48
910
+ def underscore(camel_cased_word)
911
+ word = camel_cased_word.to_s.dup
912
+ word.gsub!(/::/, '/')
913
+ word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
914
+ word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
915
+ word.tr!("-", "_")
916
+ word.downcase!
917
+ word
918
+ end
919
+
920
+ def file_at(path)
921
+ FileUtils.mkdir_p(File.dirname(path))
922
+ File.new(path, 'w')
923
+ end
924
+
925
+ def order_and_seed_from_seed(value)
926
+ @order, @seed = 'rand', value.to_i
927
+ end
928
+
929
+ def set_order_and_seed(hash)
930
+ hash[:order], seed = order_and_seed_from_order(hash[:order])
931
+ hash[:seed] = seed if seed
932
+ end
933
+
934
+ def order_and_seed_from_order(type)
935
+ order, seed = type.to_s.split(':')
936
+ @order = order
937
+ @seed = seed = seed.to_i if seed
938
+ @order, @seed = nil, nil if order == 'default'
939
+ return order, seed
940
+ end
941
+
942
+ end
943
+ end
944
+ end