pad_character 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 (374) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.ruby-version +1 -0
  4. data/CHANGELOG.md +5 -0
  5. data/CODE_OF_CONDUCT.md +84 -0
  6. data/Gemfile +10 -0
  7. data/Gemfile.lock +35 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +46 -0
  10. data/Rakefile +8 -0
  11. data/lib/pad_character/format_pad_character.rb +6 -0
  12. data/lib/pad_character/version.rb +5 -0
  13. data/lib/pad_character.rb +9 -0
  14. data/pad_character.gemspec +39 -0
  15. data/sig/pad_character.rbs +4 -0
  16. data/vendor/bundle/ruby/2.6.0/bin/htmldiff +29 -0
  17. data/vendor/bundle/ruby/2.6.0/bin/ldiff +29 -0
  18. data/vendor/bundle/ruby/2.6.0/bin/rake +29 -0
  19. data/vendor/bundle/ruby/2.6.0/bin/rspec +29 -0
  20. data/vendor/bundle/ruby/2.6.0/cache/diff-lcs-1.5.0.gem +0 -0
  21. data/vendor/bundle/ruby/2.6.0/cache/rake-13.0.6.gem +0 -0
  22. data/vendor/bundle/ruby/2.6.0/cache/rspec-3.12.0.gem +0 -0
  23. data/vendor/bundle/ruby/2.6.0/cache/rspec-core-3.12.0.gem +0 -0
  24. data/vendor/bundle/ruby/2.6.0/cache/rspec-expectations-3.12.0.gem +0 -0
  25. data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.12.0.gem +0 -0
  26. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.12.0.gem +0 -0
  27. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/.rspec +1 -0
  28. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Code-of-Conduct.md +74 -0
  29. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Contributing.md +119 -0
  30. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/History.md +400 -0
  31. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/License.md +39 -0
  32. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Manifest.txt +59 -0
  33. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/README.rdoc +84 -0
  34. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Rakefile +121 -0
  35. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/htmldiff +35 -0
  36. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/ldiff +9 -0
  37. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/COPYING.txt +339 -0
  38. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/artistic.txt +127 -0
  39. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
  40. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
  41. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
  42. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
  43. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
  44. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
  45. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
  46. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
  47. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
  48. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
  49. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
  50. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
  51. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
  52. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
  53. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/aX +1 -0
  54. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/bXaX +1 -0
  55. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds1.csv +50 -0
  56. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds2.csv +51 -0
  57. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff +4 -0
  58. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-c +7 -0
  59. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-e +3 -0
  60. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-f +3 -0
  61. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-u +5 -0
  62. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef +4 -0
  63. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  64. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  65. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  66. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  67. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  68. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  69. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  70. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  71. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  72. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  73. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef +4 -0
  74. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef2 +17 -0
  75. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef +4 -0
  76. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef2 +14 -0
  77. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
  78. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
  79. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
  80. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
  81. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
  82. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
  83. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
  84. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
  85. data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
  86. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/History.rdoc +2403 -0
  87. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/MIT-LICENSE +21 -0
  88. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/README.rdoc +155 -0
  89. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/command_line_usage.rdoc +158 -0
  90. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile1 +38 -0
  91. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile2 +35 -0
  92. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/a.c +6 -0
  93. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/b.c +6 -0
  94. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/main.c +11 -0
  95. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/glossary.rdoc +42 -0
  96. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
  97. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/proto_rake.rdoc +127 -0
  98. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rake.1 +156 -0
  99. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rakefile.rdoc +622 -0
  100. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rational.rdoc +151 -0
  101. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/exe/rake +27 -0
  102. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
  103. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
  104. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
  105. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
  106. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
  107. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
  108. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
  109. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
  110. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
  111. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
  112. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
  113. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
  114. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
  115. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
  116. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
  117. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
  118. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
  119. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
  120. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
  121. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
  122. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
  123. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
  124. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
  125. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
  126. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
  127. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
  128. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
  129. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
  130. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
  131. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
  132. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
  133. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
  134. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
  135. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
  136. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
  137. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
  138. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
  139. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
  140. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
  141. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
  142. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
  143. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
  144. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake.rb +71 -0
  145. data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/rake.gemspec +100 -0
  146. data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/LICENSE.md +27 -0
  147. data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/README.md +47 -0
  148. data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
  149. data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
  150. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.document +5 -0
  151. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.yardopts +8 -0
  152. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/Changelog.md +2360 -0
  153. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/LICENSE.md +26 -0
  154. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/README.md +384 -0
  155. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/exe/rspec +4 -0
  156. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/autorun.rb +3 -0
  157. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/backtrace_formatter.rb +65 -0
  158. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/coordinator.rb +62 -0
  159. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  160. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/fork_runner.rb +138 -0
  161. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/server.rb +61 -0
  162. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_command.rb +126 -0
  163. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_runner.rb +73 -0
  164. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/utilities.rb +69 -0
  165. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb +2385 -0
  166. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration_options.rb +233 -0
  167. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/did_you_mean.rb +46 -0
  168. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/drb.rb +120 -0
  169. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/dsl.rb +98 -0
  170. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example.rb +666 -0
  171. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb +905 -0
  172. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_status_persister.rb +235 -0
  173. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/filter_manager.rb +231 -0
  174. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/flat_map.rb +20 -0
  175. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  176. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
  177. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  178. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  179. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  180. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/console_codes.rb +76 -0
  181. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  182. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  183. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/exception_presenter.rb +525 -0
  184. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  185. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  186. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/helpers.rb +118 -0
  187. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
  188. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_printer.rb +412 -0
  189. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  190. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/json_formatter.rb +102 -0
  191. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  192. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  193. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/protocol.rb +182 -0
  194. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  195. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  196. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters.rb +279 -0
  197. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb +646 -0
  198. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/invocations.rb +87 -0
  199. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/memoized_helpers.rb +580 -0
  200. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata.rb +498 -0
  201. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata_filter.rb +255 -0
  202. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  203. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  204. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  205. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
  206. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  207. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  208. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/notifications.rb +521 -0
  209. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/option_parser.rb +323 -0
  210. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb +169 -0
  211. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/output_wrapper.rb +29 -0
  212. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/pending.rb +157 -0
  213. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/profiler.rb +34 -0
  214. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/.rspec +1 -0
  215. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  216. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer.rb +48 -0
  217. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/rake_task.rb +188 -0
  218. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb +265 -0
  219. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ruby_project.rb +53 -0
  220. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb +212 -0
  221. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/sandbox.rb +37 -0
  222. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/set.rb +54 -0
  223. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_context.rb +55 -0
  224. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_example_group.rb +271 -0
  225. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shell_escape.rb +49 -0
  226. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  227. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/version.rb +9 -0
  228. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/warnings.rb +40 -0
  229. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/world.rb +287 -0
  230. data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core.rb +212 -0
  231. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.document +5 -0
  232. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.yardopts +6 -0
  233. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/Changelog.md +1285 -0
  234. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/LICENSE.md +25 -0
  235. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/README.md +320 -0
  236. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  237. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/configuration.rb +230 -0
  238. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/expectation_target.rb +163 -0
  239. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/fail_with.rb +39 -0
  240. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/failure_aggregator.rb +212 -0
  241. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/handler.rb +182 -0
  242. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/minitest_integration.rb +58 -0
  243. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/syntax.rb +132 -0
  244. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/version.rb +8 -0
  245. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations.rb +82 -0
  246. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
  247. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/all.rb +86 -0
  248. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
  249. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be.rb +191 -0
  250. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
  251. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  252. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  253. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
  254. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/change.rb +450 -0
  255. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/compound.rb +290 -0
  256. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
  257. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  258. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/cover.rb +24 -0
  259. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eq.rb +40 -0
  260. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eql.rb +34 -0
  261. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/equal.rb +81 -0
  262. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/exist.rb +90 -0
  263. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/has.rb +167 -0
  264. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  265. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/include.rb +206 -0
  266. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/match.rb +106 -0
  267. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/operators.rb +128 -0
  268. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/output.rb +207 -0
  269. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/raise_error.rb +271 -0
  270. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  271. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  272. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  273. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  274. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/yield.rb +375 -0
  275. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in.rb +53 -0
  276. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/composable.rb +171 -0
  277. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/dsl.rb +544 -0
  278. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/english_phrasing.rb +58 -0
  279. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  280. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/fail_matchers.rb +42 -0
  281. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/generated_descriptions.rb +41 -0
  282. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
  283. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_protocol.rb +105 -0
  284. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers.rb +1044 -0
  285. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.document +5 -0
  286. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.yardopts +6 -0
  287. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/Changelog.md +1212 -0
  288. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/LICENSE.md +25 -0
  289. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/README.md +463 -0
  290. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/chain.rb +111 -0
  291. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  292. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  293. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  294. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  295. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  296. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/recorder.rb +295 -0
  297. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  298. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  299. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance.rb +11 -0
  300. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_list_matcher.rb +115 -0
  301. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_matchers.rb +322 -0
  302. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/configuration.rb +212 -0
  303. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/error_generator.rb +380 -0
  304. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/example_methods.rb +434 -0
  305. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  306. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/marshal_extension.rb +41 -0
  307. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  308. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/have_received.rb +134 -0
  309. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive.rb +133 -0
  310. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  311. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  312. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_chain.rb +87 -0
  313. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_expectation.rb +820 -0
  314. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_double.rb +291 -0
  315. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_reference.rb +214 -0
  316. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/minitest_integration.rb +68 -0
  317. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/mutate_const.rb +339 -0
  318. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/object_reference.rb +149 -0
  319. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/order_group.rb +81 -0
  320. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/proxy.rb +525 -0
  321. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/space.rb +238 -0
  322. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/standalone.rb +3 -0
  323. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/syntax.rb +325 -0
  324. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/targets.rb +124 -0
  325. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/test_double.rb +171 -0
  326. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_double.rb +121 -0
  327. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  328. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
  329. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/version.rb +9 -0
  330. data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks.rb +133 -0
  331. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/Changelog.md +364 -0
  332. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/LICENSE.md +23 -0
  333. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/README.md +40 -0
  334. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/caller_filter.rb +83 -0
  335. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/comparable_version.rb +46 -0
  336. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/differ.rb +215 -0
  337. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/directory_maker.rb +63 -0
  338. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/encoded_string.rb +161 -0
  339. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  340. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/hunk_generator.rb +47 -0
  341. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/matcher_definition.rb +42 -0
  342. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/method_signature_verifier.rb +438 -0
  343. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/mutex.rb +73 -0
  344. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/object_formatter.rb +275 -0
  345. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  346. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/reentrant_mutex.rb +78 -0
  347. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/ruby_features.rb +198 -0
  348. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/location.rb +21 -0
  349. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/node.rb +110 -0
  350. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/token.rb +94 -0
  351. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source.rb +85 -0
  352. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
  353. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/diff_helpers.rb +31 -0
  354. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  355. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/in_sub_process.rb +67 -0
  356. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  357. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/shell_out.rb +105 -0
  358. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/stderr_splitter.rb +75 -0
  359. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/string_matcher.rb +45 -0
  360. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  361. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  362. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec.rb +82 -0
  363. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/version.rb +7 -0
  364. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/warnings.rb +39 -0
  365. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  366. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support.rb +154 -0
  367. data/vendor/bundle/ruby/2.6.0/specifications/diff-lcs-1.5.0.gemspec +50 -0
  368. data/vendor/bundle/ruby/2.6.0/specifications/rake-13.0.6.gemspec +26 -0
  369. data/vendor/bundle/ruby/2.6.0/specifications/rspec-3.12.0.gemspec +39 -0
  370. data/vendor/bundle/ruby/2.6.0/specifications/rspec-core-3.12.0.gemspec +53 -0
  371. data/vendor/bundle/ruby/2.6.0/specifications/rspec-expectations-3.12.0.gemspec +44 -0
  372. data/vendor/bundle/ruby/2.6.0/specifications/rspec-mocks-3.12.0.gemspec +44 -0
  373. data/vendor/bundle/ruby/2.6.0/specifications/rspec-support-3.12.0.gemspec +36 -0
  374. metadata +419 -0
@@ -0,0 +1,323 @@
1
+ # http://www.ruby-doc.org/stdlib/libdoc/optparse/rdoc/classes/OptionParser.html
2
+ require 'optparse'
3
+
4
+ module RSpec::Core
5
+ # @private
6
+ class Parser
7
+ def self.parse(args, source=nil)
8
+ new(args).parse(source)
9
+ end
10
+
11
+ attr_reader :original_args
12
+
13
+ def initialize(original_args)
14
+ @original_args = original_args
15
+ end
16
+
17
+ def parse(source=nil)
18
+ return { :files_or_directories_to_run => [] } if original_args.empty?
19
+ args = original_args.dup
20
+
21
+ options = args.delete('--tty') ? { :tty => true } : {}
22
+ begin
23
+ parser(options).parse!(args)
24
+ rescue OptionParser::InvalidOption => e
25
+ abort "#{e.message}#{" (defined in #{source})" if source}\n\n" \
26
+ "Please use --help for a listing of valid options"
27
+ end
28
+
29
+ options[:files_or_directories_to_run] = args
30
+ options
31
+ end
32
+
33
+ private
34
+
35
+ # rubocop:disable Metrics/AbcSize
36
+ # rubocop:disable Metrics/MethodLength
37
+ # rubocop:disable Metrics/CyclomaticComplexity
38
+ # rubocop:disable Metrics/PerceivedComplexity
39
+ def parser(options)
40
+ OptionParser.new do |parser|
41
+ parser.summary_width = 34
42
+
43
+ parser.banner = "Usage: rspec [options] [files or directories]\n\n"
44
+
45
+ parser.on('-I PATH', 'Specify PATH to add to $LOAD_PATH (may be used more than once).') do |dirs|
46
+ options[:libs] ||= []
47
+ options[:libs].concat(dirs.split(File::PATH_SEPARATOR))
48
+ end
49
+
50
+ parser.on('-r', '--require PATH', 'Require a file.') do |path|
51
+ options[:requires] ||= []
52
+ options[:requires] << path
53
+ end
54
+
55
+ parser.on('-O', '--options PATH', 'Specify the path to a custom options file.') do |path|
56
+ options[:custom_options_file] = path
57
+ end
58
+
59
+ parser.on('--order TYPE[:SEED]', 'Run examples by the specified order type.',
60
+ ' [defined] examples and groups are run in the order they are defined',
61
+ ' [rand] randomize the order of groups and examples',
62
+ ' [random] alias for rand',
63
+ ' [random:SEED] e.g. --order random:123',
64
+ ' [recently-modified] run the most recently modified files first') do |o|
65
+ options[:order] = o
66
+ end
67
+
68
+ parser.on('--seed SEED', Integer, 'Equivalent of --order rand:SEED.') do |seed|
69
+ options[:order] = "rand:#{seed}"
70
+ end
71
+
72
+ parser.on('--bisect[=verbose]', 'Repeatedly runs the suite in order to isolate the failures to the ',
73
+ ' smallest reproducible case.') do |argument|
74
+ options[:bisect] = argument || true
75
+ options[:runner] = RSpec::Core::Invocations::Bisect.new
76
+ end
77
+
78
+ parser.on('--[no-]fail-fast[=COUNT]', 'Abort the run after a certain number of failures (1 by default).') do |argument|
79
+ if argument == true
80
+ value = 1
81
+ elsif argument == false || argument == 0
82
+ value = false
83
+ else
84
+ begin
85
+ value = Integer(argument)
86
+ rescue ArgumentError
87
+ RSpec.warning "Expected an integer value for `--fail-fast`, got: #{argument.inspect}", :call_site => nil
88
+ end
89
+ end
90
+ set_fail_fast(options, value)
91
+ end
92
+
93
+ parser.on('--failure-exit-code CODE', Integer,
94
+ 'Override the exit code used when there are failing specs.') do |code|
95
+ options[:failure_exit_code] = code
96
+ end
97
+
98
+ parser.on('--error-exit-code CODE', Integer,
99
+ 'Override the exit code used when there are errors loading or running specs outside of examples.') do |code|
100
+ options[:error_exit_code] = code
101
+ end
102
+
103
+ parser.on('-X', '--[no-]drb', 'Run examples via DRb.') do |use_drb|
104
+ options[:drb] = use_drb
105
+ options[:runner] = RSpec::Core::Invocations::DRbWithFallback.new if use_drb
106
+ end
107
+
108
+ parser.on('--drb-port PORT', 'Port to connect to the DRb server.') do |o|
109
+ options[:drb_port] = o.to_i
110
+ end
111
+
112
+ parser.separator("\n **** Output ****\n\n")
113
+
114
+ parser.on('-f', '--format FORMATTER', 'Choose a formatter.',
115
+ ' [p]rogress (default - dots)',
116
+ ' [d]ocumentation (group and example names)',
117
+ ' [h]tml',
118
+ ' [j]son',
119
+ ' [f]ailures ("file:line:reason", suitable for editors integration)',
120
+ ' custom formatter class name') do |o|
121
+ options[:formatters] ||= []
122
+ options[:formatters] << [o]
123
+ end
124
+
125
+ parser.on('-o', '--out FILE',
126
+ 'Write output to a file instead of $stdout. This option applies',
127
+ ' to the previously specified --format, or the default format',
128
+ ' if no format is specified.'
129
+ ) do |o|
130
+ options[:formatters] ||= [['progress']]
131
+ options[:formatters].last << o
132
+ end
133
+
134
+ parser.on('--deprecation-out FILE', 'Write deprecation warnings to a file instead of $stderr.') do |file|
135
+ options[:deprecation_stream] = file
136
+ end
137
+
138
+ parser.on('-b', '--backtrace', 'Enable full backtrace.') do |_o|
139
+ options[:full_backtrace] = true
140
+ end
141
+
142
+ parser.on('-c', '--color', '--colour', '') do |_o|
143
+ # flag will be excluded from `--help` output because it is deprecated
144
+ options[:color] = true
145
+ options[:color_mode] = :automatic
146
+ end
147
+
148
+ parser.on('--force-color', '--force-colour', 'Force the output to be in color, even if the output is not a TTY') do |_o|
149
+ if options[:color_mode] == :off
150
+ abort "Please only use one of `--force-color` and `--no-color`"
151
+ end
152
+ options[:color_mode] = :on
153
+ end
154
+
155
+ parser.on('--no-color', '--no-colour', 'Force the output to not be in color, even if the output is a TTY') do |_o|
156
+ if options[:color_mode] == :on
157
+ abort "Please only use one of --force-color and --no-color"
158
+ end
159
+ options[:color_mode] = :off
160
+ end
161
+
162
+ parser.on('-p', '--[no-]profile [COUNT]',
163
+ 'Enable profiling of examples and list the slowest examples (default: 10).') do |argument|
164
+ options[:profile_examples] = if argument.nil?
165
+ true
166
+ elsif argument == false
167
+ false
168
+ else
169
+ begin
170
+ Integer(argument)
171
+ rescue ArgumentError
172
+ RSpec.warning "Non integer specified as profile count, separate " \
173
+ "your path from options with -- e.g. " \
174
+ "`rspec --profile -- #{argument}`",
175
+ :call_site => nil
176
+ true
177
+ end
178
+ end
179
+ end
180
+
181
+ parser.on('--dry-run', 'Print the formatter output of your suite without',
182
+ ' running any examples or hooks') do |_o|
183
+ options[:dry_run] = true
184
+ end
185
+
186
+ parser.on('-w', '--warnings', 'Enable ruby warnings') do
187
+ if Object.const_defined?(:Warning) && Warning.respond_to?(:[]=)
188
+ Warning[:deprecated] = true
189
+ end
190
+ $VERBOSE = true
191
+ end
192
+
193
+ parser.separator <<-FILTERING
194
+
195
+ **** Filtering/tags ****
196
+
197
+ In addition to the following options for selecting specific files, groups, or
198
+ examples, you can select individual examples by appending the line number(s) to
199
+ the filename:
200
+
201
+ rspec path/to/a_spec.rb:37:87
202
+
203
+ You can also pass example ids enclosed in square brackets:
204
+
205
+ rspec path/to/a_spec.rb[1:5,1:6] # run the 5th and 6th examples/groups defined in the 1st group
206
+
207
+ FILTERING
208
+
209
+ parser.on('--only-failures', "Filter to just the examples that failed the last time they ran.") do
210
+ configure_only_failures(options)
211
+ end
212
+
213
+ parser.on("-n", "--next-failure", "Apply `--only-failures` and abort after one failure.",
214
+ " (Equivalent to `--only-failures --fail-fast --order defined`)") do
215
+ configure_only_failures(options)
216
+ set_fail_fast(options, 1)
217
+ options[:order] ||= 'defined'
218
+ end
219
+
220
+ parser.on('-P', '--pattern PATTERN', 'Load files matching pattern (default: "spec/**/*_spec.rb").') do |o|
221
+ if options[:pattern]
222
+ options[:pattern] += ',' + o
223
+ else
224
+ options[:pattern] = o
225
+ end
226
+ end
227
+
228
+ parser.on('--exclude-pattern PATTERN',
229
+ 'Load files except those matching pattern. Opposite effect of --pattern.') do |o|
230
+ options[:exclude_pattern] = o
231
+ end
232
+
233
+ parser.on('-e', '--example STRING', "Run examples whose full nested names include STRING (may be",
234
+ " used more than once)") do |o|
235
+ (options[:full_description] ||= []) << Regexp.compile(Regexp.escape(o))
236
+ end
237
+
238
+ parser.on('-E', '--example-matches REGEX', "Run examples whose full nested names match REGEX (may be",
239
+ " used more than once)") do |o|
240
+ (options[:full_description] ||= []) << Regexp.compile(o)
241
+ end
242
+
243
+ parser.on('-t', '--tag TAG[:VALUE]',
244
+ 'Run examples with the specified tag, or exclude examples',
245
+ 'by adding ~ before the tag.',
246
+ ' - e.g. ~slow',
247
+ ' - TAG is always converted to a symbol') do |tag|
248
+ filter_type = tag =~ /^~/ ? :exclusion_filter : :inclusion_filter
249
+
250
+ name, value = tag.gsub(/^(~@|~|@)/, '').split(':', 2)
251
+ name = name.to_sym
252
+
253
+ parsed_value = case value
254
+ when nil then true # The default value for tags is true
255
+ when 'true' then true
256
+ when 'false' then false
257
+ when 'nil' then nil
258
+ when /^:/ then value[1..-1].to_sym
259
+ when /^\d+$/ then Integer(value)
260
+ when /^\d+.\d+$/ then Float(value)
261
+ else
262
+ value
263
+ end
264
+
265
+ add_tag_filter(options, filter_type, name, parsed_value)
266
+ end
267
+
268
+ parser.on('--default-path PATH', 'Set the default path where RSpec looks for examples (can',
269
+ ' be a path to a file or a directory).') do |path|
270
+ options[:default_path] = path
271
+ end
272
+
273
+ parser.separator("\n **** Utility ****\n\n")
274
+
275
+ parser.on('--init', 'Initialize your project with RSpec.') do |_cmd|
276
+ options[:runner] = RSpec::Core::Invocations::InitializeProject.new
277
+ end
278
+
279
+ parser.on('-v', '--version', 'Display the version.') do
280
+ options[:runner] = RSpec::Core::Invocations::PrintVersion.new
281
+ end
282
+
283
+ # These options would otherwise be confusing to users, so we forcibly
284
+ # prevent them from executing.
285
+ #
286
+ # * --I is too similar to -I.
287
+ # * -d was a shorthand for --debugger, which is removed, but now would
288
+ # trigger --default-path.
289
+ invalid_options = %w[-d --I]
290
+
291
+ hidden_options = invalid_options + %w[-c]
292
+
293
+ parser.on_tail('-h', '--help', "You're looking at it.") do
294
+ options[:runner] = RSpec::Core::Invocations::PrintHelp.new(parser, hidden_options)
295
+ end
296
+
297
+ # This prevents usage of the invalid_options.
298
+ invalid_options.each do |option|
299
+ parser.on(option) do
300
+ raise OptionParser::InvalidOption.new
301
+ end
302
+ end
303
+ end
304
+ end
305
+ # rubocop:enable Metrics/AbcSize
306
+ # rubocop:enable Metrics/MethodLength
307
+ # rubocop:enable Metrics/CyclomaticComplexity
308
+ # rubocop:enable Metrics/PerceivedComplexity
309
+
310
+ def add_tag_filter(options, filter_type, tag_name, value=true)
311
+ (options[filter_type] ||= {})[tag_name] = value
312
+ end
313
+
314
+ def set_fail_fast(options, value)
315
+ options[:fail_fast] = value
316
+ end
317
+
318
+ def configure_only_failures(options)
319
+ options[:only_failures] = true
320
+ add_tag_filter(options, :inclusion_filter, :last_run_status, 'failed')
321
+ end
322
+ end
323
+ end
@@ -0,0 +1,169 @@
1
+ module RSpec
2
+ module Core
3
+ # @private
4
+ module Ordering
5
+ # @private
6
+ # The default global ordering (defined order).
7
+ class Identity
8
+ def order(items)
9
+ items
10
+ end
11
+ end
12
+
13
+ # @private
14
+ # Orders items randomly.
15
+ class Random
16
+ def initialize(configuration)
17
+ @configuration = configuration
18
+ @used = false
19
+ end
20
+
21
+ def used?
22
+ @used
23
+ end
24
+
25
+ def order(items)
26
+ @used = true
27
+
28
+ seed = @configuration.seed.to_s
29
+ items.sort_by { |item| jenkins_hash_digest(seed + item.id) }
30
+ end
31
+
32
+ private
33
+
34
+ # http://en.wikipedia.org/wiki/Jenkins_hash_function
35
+ # Jenkins provides a good distribution and is simpler than MD5.
36
+ # It's a bit slower than MD5 (primarily because `Digest::MD5` is
37
+ # implemented in C) but has the advantage of not requiring us
38
+ # to load another part of stdlib, which we try to minimize.
39
+ def jenkins_hash_digest(string)
40
+ hash = 0
41
+
42
+ string.each_byte do |byte|
43
+ hash += byte
44
+ hash &= MAX_32_BIT
45
+ hash += ((hash << 10) & MAX_32_BIT)
46
+ hash &= MAX_32_BIT
47
+ hash ^= hash >> 6
48
+ end
49
+
50
+ hash += ((hash << 3) & MAX_32_BIT)
51
+ hash &= MAX_32_BIT
52
+ hash ^= hash >> 11
53
+ hash += ((hash << 15) & MAX_32_BIT)
54
+ hash &= MAX_32_BIT
55
+ hash
56
+ end
57
+
58
+ MAX_32_BIT = 4_294_967_295
59
+ end
60
+
61
+ # @private
62
+ # Orders items by modification time (most recent modified first).
63
+ class RecentlyModified
64
+ def order(list)
65
+ list.sort_by { |item| -File.mtime(item.metadata[:absolute_file_path]).to_i }
66
+ end
67
+ end
68
+
69
+ # @private
70
+ # Orders items based on a custom block.
71
+ class Custom
72
+ def initialize(callable)
73
+ @callable = callable
74
+ end
75
+
76
+ def order(list)
77
+ @callable.call(list)
78
+ end
79
+ end
80
+
81
+ # @private
82
+ # Stores the different ordering strategies.
83
+ class Registry
84
+ def initialize(configuration)
85
+ @configuration = configuration
86
+ @strategies = {}
87
+
88
+ register(:random, Random.new(configuration))
89
+ register(:recently_modified, RecentlyModified.new)
90
+
91
+ identity = Identity.new
92
+ register(:defined, identity)
93
+
94
+ # The default global ordering is --defined.
95
+ register(:global, identity)
96
+ end
97
+
98
+ def fetch(name, &fallback)
99
+ @strategies.fetch(name, &fallback)
100
+ end
101
+
102
+ def register(sym, strategy)
103
+ @strategies[sym] = strategy
104
+ end
105
+
106
+ def used_random_seed?
107
+ @strategies[:random].used?
108
+ end
109
+ end
110
+
111
+ # @private
112
+ # Manages ordering configuration.
113
+ #
114
+ # @note This is not intended to be used externally. Use
115
+ # the APIs provided by `RSpec::Core::Configuration` instead.
116
+ class ConfigurationManager
117
+ attr_reader :seed, :ordering_registry
118
+
119
+ def initialize
120
+ @ordering_registry = Registry.new(self)
121
+ @seed = rand(0xFFFF)
122
+ @seed_forced = false
123
+ @order_forced = false
124
+ end
125
+
126
+ def seed_used?
127
+ ordering_registry.used_random_seed?
128
+ end
129
+
130
+ def seed=(seed)
131
+ return if @seed_forced
132
+ register_ordering(:global, ordering_registry.fetch(:random))
133
+ @seed = seed.to_i
134
+ end
135
+
136
+ def order=(type)
137
+ order, seed = type.to_s.split(':')
138
+ @seed = seed.to_i if seed
139
+
140
+ ordering_name = if order.include?('rand')
141
+ :random
142
+ elsif order == 'defined'
143
+ :defined
144
+ elsif order == 'recently-modified'
145
+ :recently_modified
146
+ end
147
+
148
+ register_ordering(:global, ordering_registry.fetch(ordering_name)) if ordering_name
149
+ end
150
+
151
+ def force(hash)
152
+ if hash.key?(:seed)
153
+ self.seed = hash[:seed]
154
+ @seed_forced = true
155
+ @order_forced = true
156
+ elsif hash.key?(:order)
157
+ self.order = hash[:order]
158
+ @order_forced = true
159
+ end
160
+ end
161
+
162
+ def register_ordering(name, strategy=Custom.new(Proc.new { |l| yield l }))
163
+ return if @order_forced && name == :global
164
+ ordering_registry.register(name, strategy)
165
+ end
166
+ end
167
+ end
168
+ end
169
+ end
@@ -0,0 +1,29 @@
1
+ module RSpec
2
+ module Core
3
+ # @private
4
+ class OutputWrapper
5
+ # @private
6
+ attr_accessor :output
7
+
8
+ # @private
9
+ def initialize(output)
10
+ @output = output
11
+ end
12
+
13
+ def respond_to?(name, priv=false)
14
+ output.respond_to?(name, priv)
15
+ end
16
+
17
+ def method_missing(name, *args, &block)
18
+ output.send(name, *args, &block)
19
+ end
20
+
21
+ # Redirect calls for IO interface methods
22
+ IO.instance_methods(false).each do |method|
23
+ define_method(method) do |*args, &block|
24
+ output.send(method, *args, &block)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,157 @@
1
+ module RSpec
2
+ module Core
3
+ # Provides methods to mark examples as pending. These methods are available
4
+ # to be called from within any example or hook.
5
+ module Pending
6
+ # Raised in the middle of an example to indicate that it should be marked
7
+ # as skipped.
8
+ class SkipDeclaredInExample < StandardError
9
+ attr_reader :argument
10
+
11
+ def initialize(argument)
12
+ @argument = argument
13
+ end
14
+ end
15
+
16
+ # If Test::Unit is loaded, we'll use its error as baseclass, so that
17
+ # Test::Unit will report unmet RSpec expectations as failures rather than
18
+ # errors.
19
+ begin
20
+ class PendingExampleFixedError < Test::Unit::AssertionFailedError; end
21
+ rescue
22
+ class PendingExampleFixedError < StandardError; end
23
+ end
24
+
25
+ # @private
26
+ NO_REASON_GIVEN = 'No reason given'
27
+
28
+ # @private
29
+ NOT_YET_IMPLEMENTED = 'Not yet implemented'
30
+
31
+ # @overload pending()
32
+ # @overload pending(message)
33
+ #
34
+ # Marks an example as pending. The rest of the example will still be
35
+ # executed, and if it passes the example will fail to indicate that the
36
+ # pending can be removed.
37
+ #
38
+ # @param message [String] optional message to add to the summary report.
39
+ #
40
+ # @example
41
+ # describe "some behaviour" do
42
+ # # reported as "Pending: no reason given"
43
+ # it "is pending with no message" do
44
+ # pending
45
+ # raise "broken"
46
+ # end
47
+ #
48
+ # # reported as "Pending: something else getting finished"
49
+ # it "is pending with a custom message" do
50
+ # pending("something else getting finished")
51
+ # raise "broken"
52
+ # end
53
+ # end
54
+ #
55
+ # @note When using `pending` inside an example body using this method
56
+ # hooks, such as `before(:example)`, have already be run. This means that
57
+ # a failure from the code in the `before` hook will prevent the example
58
+ # from being considered pending, as the example body would not be
59
+ # executed. If you need to consider hooks as pending as well you can use
60
+ # the pending metadata as an alternative, e.g.
61
+ # `it "does something", pending: "message"`.
62
+ def pending(message=nil)
63
+ current_example = RSpec.current_example
64
+
65
+ if block_given?
66
+ raise ArgumentError, <<-EOS.gsub(/^\s+\|/, '')
67
+ |The semantics of `RSpec::Core::Pending#pending` have changed in
68
+ |RSpec 3. In RSpec 2.x, it caused the example to be skipped. In
69
+ |RSpec 3, the rest of the example is still run but is expected to
70
+ |fail, and will be marked as a failure (rather than as pending) if
71
+ |the example passes.
72
+ |
73
+ |Passing a block within an example is now deprecated. Marking the
74
+ |example as pending provides the same behavior in RSpec 3 which was
75
+ |provided only by the block in RSpec 2.x.
76
+ |
77
+ |Move the code in the block provided to `pending` into the rest of
78
+ |the example body.
79
+ |
80
+ |Called from #{CallerFilter.first_non_rspec_line}.
81
+ |
82
+ EOS
83
+ elsif current_example
84
+ Pending.mark_pending! current_example, message
85
+ else
86
+ raise "`pending` may not be used outside of examples, such as in " \
87
+ "before(:context). Maybe you want `skip`?"
88
+ end
89
+ end
90
+
91
+ # @overload skip()
92
+ # @overload skip(message)
93
+ #
94
+ # Marks an example as pending and skips execution.
95
+ #
96
+ # @param message [String] optional message to add to the summary report.
97
+ #
98
+ # @example
99
+ # describe "an example" do
100
+ # # reported as "Pending: no reason given"
101
+ # it "is skipped with no message" do
102
+ # skip
103
+ # end
104
+ #
105
+ # # reported as "Pending: something else getting finished"
106
+ # it "is skipped with a custom message" do
107
+ # skip "something else getting finished"
108
+ # end
109
+ # end
110
+ def skip(message=nil)
111
+ current_example = RSpec.current_example
112
+
113
+ Pending.mark_skipped!(current_example, message) if current_example
114
+
115
+ raise SkipDeclaredInExample.new(message)
116
+ end
117
+
118
+ # @private
119
+ #
120
+ # Mark example as skipped.
121
+ #
122
+ # @param example [RSpec::Core::Example] the example to mark as skipped
123
+ # @param message_or_bool [Boolean, String] the message to use, or true
124
+ def self.mark_skipped!(example, message_or_bool)
125
+ Pending.mark_pending! example, message_or_bool
126
+ example.metadata[:skip] = true
127
+ end
128
+
129
+ # @private
130
+ #
131
+ # Mark example as pending.
132
+ #
133
+ # @param example [RSpec::Core::Example] the example to mark as pending
134
+ # @param message_or_bool [Boolean, String] the message to use, or true
135
+ def self.mark_pending!(example, message_or_bool)
136
+ message = if !message_or_bool || !(String === message_or_bool)
137
+ NO_REASON_GIVEN
138
+ else
139
+ message_or_bool
140
+ end
141
+
142
+ example.metadata[:pending] = true
143
+ example.execution_result.pending_message = message
144
+ example.execution_result.pending_fixed = false
145
+ end
146
+
147
+ # @private
148
+ #
149
+ # Mark example as fixed.
150
+ #
151
+ # @param example [RSpec::Core::Example] the example to mark as fixed
152
+ def self.mark_fixed!(example)
153
+ example.execution_result.pending_fixed = true
154
+ end
155
+ end
156
+ end
157
+ end