gem_repackager 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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