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,14 @@
1
+ RSpec::Matchers.constants.each do |c|
2
+ if Class === (klass = RSpec::Matchers.const_get(c))
3
+ if klass.public_instance_methods.any? {|m| ['failure_message_for_should',:failure_message_for_should].include?(m)}
4
+ klass.class_eval do
5
+ alias_method :failure_message, :failure_message_for_should
6
+ end
7
+ end
8
+ if klass.public_instance_methods.any? {|m| ['failure_message_for_should_not',:failure_message_for_should_not].include?(m)}
9
+ klass.class_eval do
10
+ alias_method :negative_failure_message, :failure_message_for_should_not
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,66 @@
1
+ require 'rspec/expectations/syntax'
2
+
3
+ module RSpec
4
+ module Matchers
5
+ # Provides configuration options for rspec-expectations.
6
+ class Configuration
7
+ # Configures the supported syntax.
8
+ # @param [Array<Symbol>, Symbol] values the syntaxes to enable
9
+ # @example
10
+ # RSpec.configure do |rspec|
11
+ # rspec.expect_with :rspec do |c|
12
+ # c.syntax = :should
13
+ # # or
14
+ # c.syntax = :expect
15
+ # # or
16
+ # c.syntax = [:should, :expect]
17
+ # end
18
+ # end
19
+ def syntax=(values)
20
+ if Array(values).include?(:expect)
21
+ Expectations::Syntax.enable_expect
22
+ else
23
+ Expectations::Syntax.disable_expect
24
+ end
25
+
26
+ if Array(values).include?(:should)
27
+ Expectations::Syntax.enable_should
28
+ else
29
+ Expectations::Syntax.disable_should
30
+ end
31
+ end
32
+
33
+ # The list of configured syntaxes.
34
+ # @return [Array<Symbol>] the list of configured syntaxes.
35
+ def syntax
36
+ syntaxes = []
37
+ syntaxes << :should if Expectations::Syntax.should_enabled?
38
+ syntaxes << :expect if Expectations::Syntax.expect_enabled?
39
+ syntaxes
40
+ end
41
+
42
+ # Adds `should` and `should_not` to the given classes
43
+ # or modules. This can be used to ensure `should` works
44
+ # properly on things like proxy objects (particular
45
+ # `Delegator`-subclassed objects on 1.8).
46
+ #
47
+ # @param [Array<Module>] modules the list of classes or modules
48
+ # to add `should` and `should_not` to.
49
+ def add_should_and_should_not_to(*modules)
50
+ modules.each do |mod|
51
+ Expectations::Syntax.enable_should(mod)
52
+ end
53
+ end
54
+ end
55
+
56
+ # The configuration object
57
+ # @return [RSpec::Matchers::Configuration] the configuration object
58
+ def self.configuration
59
+ @configuration ||= Configuration.new
60
+ end
61
+
62
+ # set default syntax
63
+ configuration.syntax = [:expect, :should]
64
+ end
65
+ end
66
+
@@ -0,0 +1,24 @@
1
+ module RSpec
2
+ module Matchers
3
+ module DSL
4
+ # Defines a custom matcher.
5
+ # @see RSpec::Matchers
6
+ def define(name, &declarations)
7
+ matcher_template = RSpec::Matchers::DSL::Matcher.new(name, &declarations)
8
+ define_method name do |*expected|
9
+ matcher = matcher_template.for_expected(*expected)
10
+ matcher.matcher_execution_context = @matcher_execution_context ||= self
11
+ matcher
12
+ end
13
+ end
14
+
15
+ alias_method :matcher, :define
16
+
17
+ if RSpec.respond_to?(:configure)
18
+ RSpec.configure {|c| c.extend self}
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ RSpec::Matchers.extend RSpec::Matchers::DSL
@@ -0,0 +1,39 @@
1
+ module RSpec
2
+ module Matchers
3
+ module Extensions
4
+ module InstanceEvalWithArgs
5
+ # based on Bounded Spec InstanceExec (Mauricio Fernandez)
6
+ # http://eigenclass.org/hiki/bounded+space+instance_exec
7
+ # - uses singleton_class instead of global InstanceExecHelper module
8
+ # - this keeps it scoped to classes/modules that include this module
9
+ # - only necessary for ruby 1.8.6
10
+ def instance_eval_with_args(*args, &block)
11
+ return instance_exec(*args, &block) if respond_to?(:instance_exec)
12
+
13
+ # If there are no args and the block doesn't expect any, there's no
14
+ # need to fake instance_exec with our hack below.
15
+ # Notes:
16
+ # * lambda { }.arity # => -1
17
+ # * lambda { || }.arity # => 0
18
+ # * lambda { |*a| }.arity # -1
19
+ return instance_eval(&block) if block.arity < 1 && args.empty?
20
+
21
+ singleton_class = (class << self; self; end)
22
+ begin
23
+ orig_critical, Thread.critical = Thread.critical, true
24
+ n = 0
25
+ n += 1 while respond_to?(method_name="__instance_exec#{n}")
26
+ singleton_class.module_eval{ define_method(method_name, &block) }
27
+ ensure
28
+ Thread.critical = orig_critical
29
+ end
30
+ begin
31
+ return send(method_name, *args)
32
+ ensure
33
+ singleton_class.module_eval{ remove_method(method_name) } rescue nil
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,36 @@
1
+ module RSpec
2
+ module Matchers
3
+ class << self
4
+ attr_accessor :last_matcher, :last_should
5
+ end
6
+
7
+ def self.clear_generated_description
8
+ self.last_matcher = nil
9
+ self.last_should = nil
10
+ end
11
+
12
+ def self.generated_description
13
+ return nil if last_should.nil?
14
+ "#{last_should.to_s.gsub('_',' ')} #{last_description}"
15
+ end
16
+
17
+ private
18
+
19
+ def self.last_description
20
+ last_matcher.respond_to?(:description) ? last_matcher.description : <<-MESSAGE
21
+ When you call a matcher in an example without a String, like this:
22
+
23
+ specify { object.should matcher }
24
+
25
+ or this:
26
+
27
+ it { should matcher }
28
+
29
+ RSpec expects the matcher to have a #description method. You should either
30
+ add a String to the example this matcher is being used in, or give it a
31
+ description method. Then you won't have to suffer this lengthy warning again.
32
+ MESSAGE
33
+ end
34
+ end
35
+ end
36
+
@@ -0,0 +1,299 @@
1
+ require 'set'
2
+
3
+ module RSpec
4
+ module Matchers
5
+ module DSL
6
+ # Provides the context in which the block passed to RSpec::Matchers.define
7
+ # will be evaluated.
8
+ class Matcher
9
+ include RSpec::Matchers::Extensions::InstanceEvalWithArgs
10
+ include RSpec::Matchers::Pretty
11
+ include RSpec::Matchers
12
+
13
+ attr_reader :expected, :actual, :rescued_exception
14
+ attr_accessor :matcher_execution_context
15
+
16
+ # @api private
17
+ def initialize(name, &declarations)
18
+ @name = name
19
+ @declarations = declarations
20
+ @actual = nil
21
+ @diffable = false
22
+ @expected_exception, @rescued_exception = nil, nil
23
+ @match_for_should_not_block = nil
24
+ @messages = {}
25
+ end
26
+
27
+ PERSISTENT_INSTANCE_VARIABLES = [
28
+ :@name, :@declarations, :@diffable, :@messages,
29
+ :@match_block, :@match_for_should_not_block,
30
+ :@expected_exception
31
+ ].to_set
32
+
33
+ # @api private
34
+ def for_expected(*expected)
35
+ @expected = expected
36
+ dup.instance_eval do
37
+ instance_variables.map {|ivar| ivar.intern}.each do |ivar|
38
+ instance_variable_set(ivar, nil) unless (PERSISTENT_INSTANCE_VARIABLES + [:@expected]).include?(ivar)
39
+ end
40
+ making_declared_methods_public do
41
+ instance_eval_with_args(*@expected, &@declarations)
42
+ end
43
+ self
44
+ end
45
+ end
46
+
47
+ # @api private
48
+ # Used internally by +should+ and +should_not+.
49
+ def matches?(actual)
50
+ @actual = actual
51
+ if @expected_exception
52
+ begin
53
+ instance_eval_with_args(actual, &@match_block)
54
+ true
55
+ rescue @expected_exception => @rescued_exception
56
+ false
57
+ end
58
+ else
59
+ begin
60
+ instance_eval_with_args(actual, &@match_block)
61
+ rescue RSpec::Expectations::ExpectationNotMetError
62
+ false
63
+ end
64
+ end
65
+ end
66
+
67
+ # Stores the block that is used to determine whether this matcher passes
68
+ # or fails. The block should return a boolean value. When the matcher is
69
+ # passed to `should` and the block returns `true`, then the expectation
70
+ # passes. Similarly, when the matcher is passed to `should_not` and the
71
+ # block returns `false`, then the expectation passes.
72
+ #
73
+ # Use `match_for_should` when used in conjuntion with
74
+ # `match_for_should_not`.
75
+ #
76
+ # @example
77
+ #
78
+ # RSpec::Matchers.define :be_even do
79
+ # match do |actual|
80
+ # actual.even?
81
+ # end
82
+ # end
83
+ #
84
+ # 4.should be_even # passes
85
+ # 3.should_not be_even # passes
86
+ # 3.should be_even # fails
87
+ # 4.should_not be_even # fails
88
+ #
89
+ # @yield [Object] actual the actual value (or receiver of should)
90
+ def match(&block)
91
+ @match_block = block
92
+ end
93
+
94
+ alias_method :match_for_should, :match
95
+
96
+ # Use this to define the block for a negative expectation (`should_not`)
97
+ # when the positive and negative forms require different handling. This
98
+ # is rarely necessary, but can be helpful, for example, when specifying
99
+ # asynchronous processes that require different timeouts.
100
+ #
101
+ # @yield [Object] actual the actual value (or receiver of should)
102
+ def match_for_should_not(&block)
103
+ @match_for_should_not_block = block
104
+ end
105
+
106
+ # Use this instead of `match` when the block will raise an exception
107
+ # rather than returning false to indicate a failure.
108
+ #
109
+ # @example
110
+ #
111
+ # RSpec::Matchers.define :accept_as_valid do |candidate_address|
112
+ # match_unless_raises ValidationException do |validator|
113
+ # validator.validate(candidate_address)
114
+ # end
115
+ # end
116
+ #
117
+ # email_validator.should accept_as_valid("person@company.com")
118
+ def match_unless_raises(exception=Exception, &block)
119
+ @expected_exception = exception
120
+ match(&block)
121
+ end
122
+
123
+ # Customize the failure messsage to use when this matcher is invoked with
124
+ # `should`. Only use this when the message generated by default doesn't
125
+ # suit your needs.
126
+ #
127
+ # @example
128
+ #
129
+ # RSpec::Matchers.define :have_strength do |expected|
130
+ # match { ... }
131
+ #
132
+ # failure_message_for_should do |actual|
133
+ # "Expected strength of #{expected}, but had #{actual.strength}"
134
+ # end
135
+ # end
136
+ #
137
+ # @yield [Object] actual the actual object
138
+ def failure_message_for_should(&block)
139
+ cache_or_call_cached(:failure_message_for_should, &block)
140
+ end
141
+
142
+ # Customize the failure messsage to use when this matcher is invoked with
143
+ # `should_not`. Only use this when the message generated by default
144
+ # doesn't suit your needs.
145
+ #
146
+ # @example
147
+ #
148
+ # RSpec::Matchers.define :have_strength do |expected|
149
+ # match { ... }
150
+ #
151
+ # failure_message_for_should_not do |actual|
152
+ # "Expected not to have strength of #{expected}, but did"
153
+ # end
154
+ # end
155
+ #
156
+ # @yield [Object] actual the actual object
157
+ # @yield [Object] actual the actual object
158
+ def failure_message_for_should_not(&block)
159
+ cache_or_call_cached(:failure_message_for_should_not, &block)
160
+ end
161
+
162
+
163
+ # Customize the description to use for one-liners. Only use this when
164
+ # the description generated by default doesn't suit your needs.
165
+ #
166
+ # @example
167
+ #
168
+ # RSpec::Matchers.define :qualify_for do |expected|
169
+ # match { ... }
170
+ #
171
+ # description do
172
+ # "qualify for #{expected}"
173
+ # end
174
+ # end
175
+ def description(&block)
176
+ cache_or_call_cached(:description, &block)
177
+ end
178
+
179
+ # Tells the matcher to diff the actual and expected values in the failure
180
+ # message.
181
+ def diffable
182
+ @diffable = true
183
+ end
184
+
185
+ # Convenience for defining methods on this matcher to create a fluent
186
+ # interface. The trick about fluent interfaces is that each method must
187
+ # return self in order to chain methods together. `chain` handles that
188
+ # for you.
189
+ #
190
+ # @example
191
+ #
192
+ # RSpec::Matchers.define :have_errors_on do |key|
193
+ # chain :with do |message|
194
+ # @message = message
195
+ # end
196
+ #
197
+ # match do |actual|
198
+ # actual.errors[key] == @message
199
+ # end
200
+ # end
201
+ #
202
+ # minor.should have_errors_on(:age).with("Not old enough to participate")
203
+ def chain(method, &block)
204
+ define_method method do |*args|
205
+ block.call(*args)
206
+ self
207
+ end
208
+ end
209
+
210
+ # @api private
211
+ # Used internally by objects returns by +should+ and +should_not+.
212
+ def diffable?
213
+ @diffable
214
+ end
215
+
216
+ # @api private
217
+ # Used internally by +should_not+
218
+ def does_not_match?(actual)
219
+ @actual = actual
220
+ @match_for_should_not_block ?
221
+ instance_eval_with_args(actual, &@match_for_should_not_block) :
222
+ !matches?(actual)
223
+ end
224
+
225
+ def respond_to?(method, include_private=false)
226
+ super || matcher_execution_context.respond_to?(method, include_private)
227
+ end
228
+
229
+ private
230
+
231
+ def method_missing(method, *args, &block)
232
+ if matcher_execution_context.respond_to?(method)
233
+ matcher_execution_context.send method, *args, &block
234
+ else
235
+ super(method, *args, &block)
236
+ end
237
+ end
238
+
239
+ def include(*args)
240
+ singleton_class.__send__(:include, *args)
241
+ end
242
+
243
+ def define_method(name, &block)
244
+ singleton_class.__send__(:define_method, name, &block)
245
+ end
246
+
247
+ def making_declared_methods_public
248
+ # Our home-grown instance_exec in ruby 1.8.6 results in any methods
249
+ # declared in the block eval'd by instance_exec in the block to which we
250
+ # are yielding here are scoped private. This is NOT the case for Ruby
251
+ # 1.8.7 or 1.9.
252
+ #
253
+ # Also, due some crazy scoping that I don't understand, these methods
254
+ # are actually available in the specs (something about the matcher being
255
+ # defined in the scope of RSpec::Matchers or within an example), so not
256
+ # doing the following will not cause specs to fail, but they *will*
257
+ # cause features to fail and that will make users unhappy. So don't.
258
+ orig_private_methods = private_methods
259
+ yield
260
+ (private_methods - orig_private_methods).each {|m| singleton_class.__send__ :public, m}
261
+ end
262
+
263
+ def cache_or_call_cached(key, &block)
264
+ block ? cache(key, &block) : call_cached(key)
265
+ end
266
+
267
+ def cache(key, &block)
268
+ @messages[key] = block
269
+ end
270
+
271
+ def call_cached(key)
272
+ if @messages.has_key?(key)
273
+ @messages[key].arity == 1 ? @messages[key].call(@actual) : @messages[key].call
274
+ else
275
+ send("default_#{key}")
276
+ end
277
+ end
278
+
279
+ def default_description
280
+ "#{name_to_sentence}#{expected_to_sentence}"
281
+ end
282
+
283
+ def default_failure_message_for_should
284
+ "expected #{actual.inspect} to #{name_to_sentence}#{expected_to_sentence}"
285
+ end
286
+
287
+ def default_failure_message_for_should_not
288
+ "expected #{actual.inspect} not to #{name_to_sentence}#{expected_to_sentence}"
289
+ end
290
+
291
+ unless method_defined?(:singleton_class)
292
+ def singleton_class
293
+ class << self; self; end
294
+ end
295
+ end
296
+ end
297
+ end
298
+ end
299
+ end