qiita_org 0.1.33 → 0.1.39

Sign up to get free protection for your applications and to get access to all the features.
Files changed (416) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/Gemfile.lock +15 -15
  4. data/lib/qiita_org.rb +18 -36
  5. data/lib/qiita_org/all.rb +4 -3
  6. data/lib/qiita_org/base.rb +10 -0
  7. data/lib/qiita_org/config.rb +0 -2
  8. data/lib/qiita_org/error_message.rb +15 -10
  9. data/lib/qiita_org/get.rb +0 -4
  10. data/lib/qiita_org/get_multiple_files.rb +1 -4
  11. data/lib/qiita_org/get_template.rb +0 -15
  12. data/lib/qiita_org/list.rb +0 -5
  13. data/lib/qiita_org/md_converter_for_image.rb +1 -1
  14. data/lib/qiita_org/{file_open.rb → old_programs/file_open.rb} +0 -0
  15. data/lib/qiita_org/post.rb +66 -26
  16. data/lib/qiita_org/template.org +1 -1
  17. data/lib/qiita_org/upload.rb +7 -29
  18. data/lib/qiita_org/version.rb +1 -1
  19. data/tests/tags_test.org +16 -0
  20. data/tests/tags_test2.org +16 -0
  21. metadata +5 -2436
  22. data/.bandle/ruby/2.7.0/bin/htmldiff +0 -29
  23. data/.bandle/ruby/2.7.0/bin/ldiff +0 -29
  24. data/.bandle/ruby/2.7.0/bin/qiita_org +0 -27
  25. data/.bandle/ruby/2.7.0/bin/rake +0 -27
  26. data/.bandle/ruby/2.7.0/bin/rspec +0 -27
  27. data/.bandle/ruby/2.7.0/bin/thor +0 -27
  28. data/.bandle/ruby/2.7.0/cache/diff-lcs-1.4.4.gem +0 -0
  29. data/.bandle/ruby/2.7.0/cache/rake-12.3.3.gem +0 -0
  30. data/.bandle/ruby/2.7.0/cache/rspec-3.9.0.gem +0 -0
  31. data/.bandle/ruby/2.7.0/cache/rspec-core-3.9.2.gem +0 -0
  32. data/.bandle/ruby/2.7.0/cache/rspec-expectations-3.9.2.gem +0 -0
  33. data/.bandle/ruby/2.7.0/cache/rspec-mocks-3.9.1.gem +0 -0
  34. data/.bandle/ruby/2.7.0/cache/rspec-support-3.9.3.gem +0 -0
  35. data/.bandle/ruby/2.7.0/cache/thor-1.0.1.gem +0 -0
  36. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/.rspec +0 -1
  37. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Code-of-Conduct.md +0 -74
  38. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Contributing.md +0 -118
  39. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/History.md +0 -319
  40. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/License.md +0 -39
  41. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Manifest.txt +0 -45
  42. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/README.rdoc +0 -84
  43. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Rakefile +0 -74
  44. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/autotest/discover.rb +0 -3
  45. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/bin/htmldiff +0 -35
  46. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/bin/ldiff +0 -9
  47. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/docs/COPYING.txt +0 -339
  48. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/docs/artistic.txt +0 -127
  49. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff-lcs.rb +0 -3
  50. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs.rb +0 -739
  51. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/array.rb +0 -7
  52. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/backports.rb +0 -9
  53. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/block.rb +0 -37
  54. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/callbacks.rb +0 -325
  55. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/change.rb +0 -174
  56. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/htmldiff.rb +0 -150
  57. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/hunk.rb +0 -358
  58. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/internals.rb +0 -304
  59. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/ldiff.rb +0 -171
  60. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/string.rb +0 -5
  61. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/change_spec.rb +0 -89
  62. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/diff_spec.rb +0 -51
  63. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/aX +0 -1
  64. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/bXaX +0 -1
  65. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ds1.csv +0 -50
  66. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ds2.csv +0 -51
  67. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff +0 -4
  68. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-c +0 -7
  69. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-e +0 -3
  70. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-f +0 -3
  71. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-u +0 -5
  72. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/hunk_spec.rb +0 -83
  73. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/issues_spec.rb +0 -154
  74. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/lcs_spec.rb +0 -56
  75. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/ldiff_spec.rb +0 -87
  76. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/patch_spec.rb +0 -416
  77. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/sdiff_spec.rb +0 -214
  78. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/spec_helper.rb +0 -375
  79. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/traverse_balanced_spec.rb +0 -310
  80. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/traverse_sequences_spec.rb +0 -139
  81. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +0 -43
  82. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/Gemfile +0 -3
  83. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/History.rdoc +0 -2344
  84. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/MIT-LICENSE +0 -21
  85. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/README.rdoc +0 -156
  86. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/Rakefile +0 -41
  87. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/azure-pipelines.yml +0 -11
  88. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/bundle +0 -105
  89. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/console +0 -7
  90. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rake +0 -29
  91. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rdoc +0 -29
  92. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rubocop +0 -29
  93. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/setup +0 -6
  94. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +0 -158
  95. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile1 +0 -38
  96. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile2 +0 -35
  97. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/a.c +0 -6
  98. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/b.c +0 -6
  99. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/main.c +0 -11
  100. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/glossary.rdoc +0 -42
  101. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/jamis.rb +0 -592
  102. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/proto_rake.rdoc +0 -127
  103. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rake.1 +0 -156
  104. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rakefile.rdoc +0 -622
  105. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rational.rdoc +0 -151
  106. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/exe/rake +0 -27
  107. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake.rb +0 -71
  108. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/application.rb +0 -824
  109. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/backtrace.rb +0 -24
  110. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/clean.rb +0 -78
  111. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cloneable.rb +0 -17
  112. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +0 -107
  113. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/default_loader.rb +0 -15
  114. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +0 -195
  115. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/early_time.rb +0 -22
  116. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/core.rb +0 -26
  117. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/string.rb +0 -176
  118. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +0 -25
  119. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_list.rb +0 -435
  120. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_task.rb +0 -54
  121. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils.rb +0 -137
  122. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +0 -145
  123. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +0 -57
  124. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +0 -17
  125. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/late_time.rb +0 -18
  126. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/linked_list.rb +0 -112
  127. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +0 -54
  128. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/multi_task.rb +0 -14
  129. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/name_space.rb +0 -38
  130. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/packagetask.rb +0 -207
  131. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/phony.rb +0 -16
  132. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/private_reader.rb +0 -21
  133. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/promise.rb +0 -100
  134. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +0 -30
  135. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_module.rb +0 -67
  136. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +0 -27
  137. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +0 -20
  138. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/scope.rb +0 -43
  139. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task.rb +0 -413
  140. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +0 -8
  141. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +0 -109
  142. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_manager.rb +0 -324
  143. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/tasklib.rb +0 -12
  144. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/testtask.rb +0 -224
  145. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +0 -49
  146. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +0 -163
  147. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/trace_output.rb +0 -23
  148. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/version.rb +0 -10
  149. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/win32.rb +0 -51
  150. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/rake.gemspec +0 -42
  151. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/LICENSE.md +0 -27
  152. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/README.md +0 -43
  153. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec.rb +0 -3
  154. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec/version.rb +0 -5
  155. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/.document +0 -5
  156. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/.yardopts +0 -8
  157. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/Changelog.md +0 -2291
  158. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/LICENSE.md +0 -26
  159. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/README.md +0 -384
  160. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/exe/rspec +0 -4
  161. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/autorun.rb +0 -3
  162. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core.rb +0 -186
  163. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/backtrace_formatter.rb +0 -65
  164. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/coordinator.rb +0 -62
  165. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/example_minimizer.rb +0 -173
  166. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/fork_runner.rb +0 -135
  167. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/server.rb +0 -61
  168. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_command.rb +0 -126
  169. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_runner.rb +0 -73
  170. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/utilities.rb +0 -58
  171. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb +0 -2363
  172. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration_options.rb +0 -233
  173. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/did_you_mean.rb +0 -46
  174. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/drb.rb +0 -113
  175. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/dsl.rb +0 -98
  176. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb +0 -656
  177. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb +0 -900
  178. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example_status_persister.rb +0 -235
  179. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/filter_manager.rb +0 -231
  180. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/flat_map.rb +0 -20
  181. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters.rb +0 -273
  182. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -45
  183. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_formatter.rb +0 -70
  184. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  185. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -29
  186. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -157
  187. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/console_codes.rb +0 -68
  188. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  189. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/documentation_formatter.rb +0 -102
  190. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb +0 -511
  191. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/failure_list_formatter.rb +0 -23
  192. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  193. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/helpers.rb +0 -110
  194. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_formatter.rb +0 -153
  195. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_printer.rb +0 -414
  196. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
  197. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/json_formatter.rb +0 -102
  198. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  199. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  200. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/protocol.rb +0 -182
  201. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  202. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  203. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb +0 -641
  204. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/invocations.rb +0 -87
  205. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/memoized_helpers.rb +0 -554
  206. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata.rb +0 -498
  207. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata_filter.rb +0 -255
  208. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  209. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  210. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  211. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/null.rb +0 -14
  212. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  213. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  214. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb +0 -521
  215. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/option_parser.rb +0 -316
  216. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/ordering.rb +0 -158
  217. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/output_wrapper.rb +0 -29
  218. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/pending.rb +0 -165
  219. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/profiler.rb +0 -34
  220. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer.rb +0 -48
  221. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/.rspec +0 -1
  222. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  223. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/rake_task.rb +0 -188
  224. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb +0 -265
  225. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/ruby_project.rb +0 -53
  226. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb +0 -204
  227. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/sandbox.rb +0 -37
  228. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/set.rb +0 -54
  229. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_context.rb +0 -55
  230. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_example_group.rb +0 -271
  231. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shell_escape.rb +0 -49
  232. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  233. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/version.rb +0 -9
  234. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/warnings.rb +0 -40
  235. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/world.rb +0 -276
  236. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/.document +0 -5
  237. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/.yardopts +0 -6
  238. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/Changelog.md +0 -1191
  239. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/LICENSE.md +0 -25
  240. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/README.md +0 -320
  241. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations.rb +0 -82
  242. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  243. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/configuration.rb +0 -215
  244. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/expectation_target.rb +0 -127
  245. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/fail_with.rb +0 -39
  246. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/failure_aggregator.rb +0 -194
  247. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/handler.rb +0 -170
  248. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/minitest_integration.rb +0 -58
  249. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/syntax.rb +0 -132
  250. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/version.rb +0 -8
  251. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers.rb +0 -1038
  252. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/aliased_matcher.rb +0 -116
  253. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in.rb +0 -52
  254. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/all.rb +0 -86
  255. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  256. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be.rb +0 -288
  257. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_between.rb +0 -77
  258. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_instance_of.rb +0 -26
  259. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_kind_of.rb +0 -20
  260. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_within.rb +0 -72
  261. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/change.rb +0 -428
  262. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/compound.rb +0 -276
  263. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/contain_exactly.rb +0 -302
  264. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/cover.rb +0 -24
  265. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eq.rb +0 -40
  266. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eql.rb +0 -34
  267. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/equal.rb +0 -81
  268. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/exist.rb +0 -90
  269. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/has.rb +0 -103
  270. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  271. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/include.rb +0 -149
  272. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/match.rb +0 -106
  273. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/operators.rb +0 -128
  274. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/output.rb +0 -200
  275. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  276. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/respond_to.rb +0 -199
  277. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  278. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  279. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  280. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/yield.rb +0 -441
  281. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/composable.rb +0 -171
  282. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/dsl.rb +0 -540
  283. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/english_phrasing.rb +0 -58
  284. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -82
  285. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/fail_matchers.rb +0 -42
  286. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/generated_descriptions.rb +0 -41
  287. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_delegator.rb +0 -35
  288. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_protocol.rb +0 -99
  289. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.document +0 -5
  290. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.yardopts +0 -6
  291. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/Changelog.md +0 -1133
  292. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/LICENSE.md +0 -25
  293. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/README.md +0 -463
  294. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +0 -130
  295. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +0 -11
  296. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +0 -111
  297. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  298. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  299. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  300. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  301. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  302. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +0 -294
  303. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  304. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  305. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  306. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +0 -322
  307. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +0 -212
  308. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +0 -369
  309. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +0 -434
  310. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  311. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +0 -41
  312. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  313. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +0 -134
  314. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +0 -132
  315. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  316. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  317. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +0 -87
  318. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +0 -751
  319. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +0 -287
  320. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +0 -202
  321. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +0 -68
  322. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +0 -339
  323. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +0 -149
  324. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +0 -81
  325. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +0 -503
  326. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +0 -238
  327. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +0 -3
  328. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +0 -325
  329. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +0 -124
  330. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +0 -171
  331. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +0 -129
  332. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  333. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +0 -220
  334. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +0 -9
  335. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/Changelog.md +0 -302
  336. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/LICENSE.md +0 -23
  337. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/README.md +0 -40
  338. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support.rb +0 -149
  339. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/caller_filter.rb +0 -83
  340. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/comparable_version.rb +0 -46
  341. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/differ.rb +0 -215
  342. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/directory_maker.rb +0 -63
  343. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/encoded_string.rb +0 -161
  344. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/fuzzy_matcher.rb +0 -48
  345. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/hunk_generator.rb +0 -47
  346. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/matcher_definition.rb +0 -42
  347. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/method_signature_verifier.rb +0 -438
  348. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/mutex.rb +0 -73
  349. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/object_formatter.rb +0 -275
  350. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/recursive_const_methods.rb +0 -76
  351. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/reentrant_mutex.rb +0 -61
  352. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/ruby_features.rb +0 -190
  353. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source.rb +0 -75
  354. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/location.rb +0 -21
  355. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/node.rb +0 -110
  356. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/token.rb +0 -87
  357. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec.rb +0 -81
  358. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  359. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/formatting_support.rb +0 -9
  360. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/in_sub_process.rb +0 -69
  361. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  362. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/shell_out.rb +0 -89
  363. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/stderr_splitter.rb +0 -75
  364. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/string_matcher.rb +0 -46
  365. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  366. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  367. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/version.rb +0 -7
  368. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/warnings.rb +0 -39
  369. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/with_keywords_when_needed.rb +0 -33
  370. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/.document +0 -5
  371. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/CHANGELOG.md +0 -220
  372. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/CONTRIBUTING.md +0 -15
  373. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/LICENSE.md +0 -20
  374. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/README.md +0 -51
  375. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/bin/thor +0 -6
  376. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor.rb +0 -517
  377. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions.rb +0 -336
  378. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/create_file.rb +0 -104
  379. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/create_link.rb +0 -61
  380. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/directory.rb +0 -108
  381. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/empty_directory.rb +0 -143
  382. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/file_manipulation.rb +0 -373
  383. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/inject_into_file.rb +0 -120
  384. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/base.rb +0 -699
  385. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/command.rb +0 -142
  386. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -97
  387. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/error.rb +0 -110
  388. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/group.rb +0 -281
  389. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb +0 -178
  390. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor.rb +0 -17
  391. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor/basic.rb +0 -37
  392. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor/readline.rb +0 -88
  393. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/nested_context.rb +0 -29
  394. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser.rb +0 -4
  395. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/argument.rb +0 -70
  396. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/arguments.rb +0 -175
  397. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/option.rb +0 -159
  398. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/options.rb +0 -236
  399. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/rake_compat.rb +0 -72
  400. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/runner.rb +0 -325
  401. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell.rb +0 -81
  402. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/basic.rb +0 -491
  403. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/color.rb +0 -153
  404. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/html.rb +0 -126
  405. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/util.rb +0 -284
  406. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/version.rb +0 -3
  407. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/thor.gemspec +0 -28
  408. data/.bandle/ruby/2.7.0/specifications/diff-lcs-1.4.4.gemspec +0 -50
  409. data/.bandle/ruby/2.7.0/specifications/rake-12.3.3.gemspec +0 -43
  410. data/.bandle/ruby/2.7.0/specifications/rspec-3.9.0.gemspec +0 -39
  411. data/.bandle/ruby/2.7.0/specifications/rspec-core-3.9.2.gemspec +0 -53
  412. data/.bandle/ruby/2.7.0/specifications/rspec-expectations-3.9.2.gemspec +0 -44
  413. data/.bandle/ruby/2.7.0/specifications/rspec-mocks-3.9.1.gemspec +0 -44
  414. data/.bandle/ruby/2.7.0/specifications/rspec-support-3.9.3.gemspec +0 -36
  415. data/.bandle/ruby/2.7.0/specifications/thor-1.0.1.gemspec +0 -34
  416. data/lib/qiita_org/hoge.txt +0 -3
@@ -1,63 +0,0 @@
1
- RSpec::Support.require_rspec_support 'ruby_features'
2
-
3
- module RSpec
4
- module Support
5
- # @api private
6
- #
7
- # Replacement for fileutils#mkdir_p because we don't want to require parts
8
- # of stdlib in RSpec.
9
- class DirectoryMaker
10
- # @api private
11
- #
12
- # Implements nested directory construction
13
- def self.mkdir_p(path)
14
- stack = generate_stack(path)
15
- path.split(File::SEPARATOR).each do |part|
16
- stack = generate_path(stack, part)
17
- begin
18
- Dir.mkdir(stack) unless directory_exists?(stack)
19
- rescue Errno::EEXIST => e
20
- raise e unless directory_exists?(stack)
21
- rescue Errno::ENOTDIR => e
22
- raise Errno::EEXIST, e.message
23
- end
24
- end
25
- end
26
-
27
- if OS.windows_file_path?
28
- def self.generate_stack(path)
29
- if path.start_with?(File::SEPARATOR)
30
- File::SEPARATOR
31
- elsif path[1] == ':'
32
- ''
33
- else
34
- '.'
35
- end
36
- end
37
- def self.generate_path(stack, part)
38
- if stack == ''
39
- part
40
- elsif stack == File::SEPARATOR
41
- File.join('', part)
42
- else
43
- File.join(stack, part)
44
- end
45
- end
46
- else
47
- def self.generate_stack(path)
48
- path.start_with?(File::SEPARATOR) ? File::SEPARATOR : "."
49
- end
50
- def self.generate_path(stack, part)
51
- File.join(stack, part)
52
- end
53
- end
54
-
55
- def self.directory_exists?(dirname)
56
- File.exist?(dirname) && File.directory?(dirname)
57
- end
58
- private_class_method :directory_exists?
59
- private_class_method :generate_stack
60
- private_class_method :generate_path
61
- end
62
- end
63
- end
@@ -1,161 +0,0 @@
1
- module RSpec
2
- module Support
3
- # @private
4
- class EncodedString
5
- # Reduce allocations by storing constants.
6
- UTF_8 = "UTF-8"
7
- US_ASCII = "US-ASCII"
8
-
9
- # Ruby's default replacement string is:
10
- # U+FFFD ("\xEF\xBF\xBD"), for Unicode encoding forms, else
11
- # ? ("\x3F")
12
- REPLACE = "?"
13
-
14
- def initialize(string, encoding=nil)
15
- @encoding = encoding
16
- @source_encoding = detect_source_encoding(string)
17
- @string = matching_encoding(string)
18
- end
19
- attr_reader :source_encoding
20
-
21
- delegated_methods = String.instance_methods.map(&:to_s) & %w[eql? lines == encoding empty?]
22
- delegated_methods.each do |name|
23
- define_method(name) { |*args, &block| @string.__send__(name, *args, &block) }
24
- end
25
-
26
- def <<(string)
27
- @string << matching_encoding(string)
28
- end
29
-
30
- if Ruby.jruby?
31
- def split(regex_or_string)
32
- @string.split(matching_encoding(regex_or_string))
33
- rescue ArgumentError
34
- # JRuby raises an ArgumentError when splitting a source string that
35
- # contains invalid bytes.
36
- remove_invalid_bytes(@string).split regex_or_string
37
- end
38
- else
39
- def split(regex_or_string)
40
- @string.split(matching_encoding(regex_or_string))
41
- end
42
- end
43
-
44
- def to_s
45
- @string
46
- end
47
- alias :to_str :to_s
48
-
49
- if String.method_defined?(:encoding)
50
-
51
- private
52
-
53
- # Encoding Exceptions:
54
- #
55
- # Raised by Encoding and String methods:
56
- # Encoding::UndefinedConversionError:
57
- # when a transcoding operation fails
58
- # if the String contains characters invalid for the target encoding
59
- # e.g. "\x80".encode('UTF-8','ASCII-8BIT')
60
- # vs "\x80".encode('UTF-8','ASCII-8BIT', undef: :replace, replace: '<undef>')
61
- # # => '<undef>'
62
- # Encoding::CompatibilityError
63
- # when Encoding.compatibile?(str1, str2) is nil
64
- # e.g. utf_16le_emoji_string.split("\n")
65
- # e.g. valid_unicode_string.encode(utf8_encoding) << ascii_string
66
- # Encoding::InvalidByteSequenceError:
67
- # when the string being transcoded contains a byte invalid for
68
- # either the source or target encoding
69
- # e.g. "\x80".encode('UTF-8','US-ASCII')
70
- # vs "\x80".encode('UTF-8','US-ASCII', invalid: :replace, replace: '<byte>')
71
- # # => '<byte>'
72
- # ArgumentError
73
- # when operating on a string with invalid bytes
74
- # e.g."\x80".split("\n")
75
- # TypeError
76
- # when a symbol is passed as an encoding
77
- # Encoding.find(:"UTF-8")
78
- # when calling force_encoding on an object
79
- # that doesn't respond to #to_str
80
- #
81
- # Raised by transcoding methods:
82
- # Encoding::ConverterNotFoundError:
83
- # when a named encoding does not correspond with a known converter
84
- # e.g. 'abc'.force_encoding('UTF-8').encode('foo')
85
- # or a converter path cannot be found
86
- # e.g. "\x80".force_encoding('ASCII-8BIT').encode('Emacs-Mule')
87
- #
88
- # Raised by byte <-> char conversions
89
- # RangeError: out of char range
90
- # e.g. the UTF-16LE emoji: 128169.chr
91
- def matching_encoding(string)
92
- string = remove_invalid_bytes(string)
93
- string.encode(@encoding)
94
- rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
95
- # Originally defined as a constant to avoid uneeded allocations, this hash must
96
- # be defined inline (without {}) to avoid warnings on Ruby 2.7
97
- #
98
- # In MRI 2.1 'invalid: :replace' changed to also replace an invalid byte sequence
99
- # see https://github.com/ruby/ruby/blob/v2_1_0/NEWS#L176
100
- # https://www.ruby-forum.com/topic/6861247
101
- # https://twitter.com/nalsh/status/553413844685438976
102
- #
103
- # For example, given:
104
- # "\x80".force_encoding("Emacs-Mule").encode(:invalid => :replace).bytes.to_a
105
- #
106
- # On MRI 2.1 or above: 63 # '?'
107
- # else : 128 # "\x80"
108
- #
109
- string.encode(@encoding, :invalid => :replace, :undef => :replace, :replace => REPLACE)
110
- rescue Encoding::ConverterNotFoundError
111
- # Originally defined as a constant to avoid uneeded allocations, this hash must
112
- # be defined inline (without {}) to avoid warnings on Ruby 2.7
113
- string.dup.force_encoding(@encoding).encode(:invalid => :replace, :replace => REPLACE)
114
- end
115
-
116
- # Prevents raising ArgumentError
117
- if String.method_defined?(:scrub)
118
- # https://github.com/ruby/ruby/blob/eeb05e8c11/doc/NEWS-2.1.0#L120-L123
119
- # https://github.com/ruby/ruby/blob/v2_1_0/string.c#L8242
120
- # https://github.com/hsbt/string-scrub
121
- # https://github.com/rubinius/rubinius/blob/v2.5.2/kernel/common/string.rb#L1913-L1972
122
- def remove_invalid_bytes(string)
123
- string.scrub(REPLACE)
124
- end
125
- else
126
- # http://stackoverflow.com/a/8711118/879854
127
- # Loop over chars in a string replacing chars
128
- # with invalid encoding, which is a pretty good proxy
129
- # for the invalid byte sequence that causes an ArgumentError
130
- def remove_invalid_bytes(string)
131
- string.chars.map do |char|
132
- char.valid_encoding? ? char : REPLACE
133
- end.join
134
- end
135
- end
136
-
137
- def detect_source_encoding(string)
138
- string.encoding
139
- end
140
-
141
- def self.pick_encoding(source_a, source_b)
142
- Encoding.compatible?(source_a, source_b) || Encoding.default_external
143
- end
144
- else
145
-
146
- def self.pick_encoding(_source_a, _source_b)
147
- end
148
-
149
- private
150
-
151
- def matching_encoding(string)
152
- string
153
- end
154
-
155
- def detect_source_encoding(_string)
156
- US_ASCII
157
- end
158
- end
159
- end
160
- end
161
- end
@@ -1,48 +0,0 @@
1
- module RSpec
2
- module Support
3
- # Provides a means to fuzzy-match between two arbitrary objects.
4
- # Understands array/hash nesting. Uses `===` or `==` to
5
- # perform the matching.
6
- module FuzzyMatcher
7
- # @api private
8
- def self.values_match?(expected, actual)
9
- if Hash === actual
10
- return hashes_match?(expected, actual) if Hash === expected
11
- elsif Array === expected && Enumerable === actual && !(Struct === actual)
12
- return arrays_match?(expected, actual.to_a)
13
- end
14
-
15
- return true if expected == actual
16
-
17
- begin
18
- expected === actual
19
- rescue ArgumentError
20
- # Some objects, like 0-arg lambdas on 1.9+, raise
21
- # ArgumentError for `expected === actual`.
22
- false
23
- end
24
- end
25
-
26
- # @private
27
- def self.arrays_match?(expected_list, actual_list)
28
- return false if expected_list.size != actual_list.size
29
-
30
- expected_list.zip(actual_list).all? do |expected, actual|
31
- values_match?(expected, actual)
32
- end
33
- end
34
-
35
- # @private
36
- def self.hashes_match?(expected_hash, actual_hash)
37
- return false if expected_hash.size != actual_hash.size
38
-
39
- expected_hash.all? do |expected_key, expected_value|
40
- actual_value = actual_hash.fetch(expected_key) { return false }
41
- values_match?(expected_value, actual_value)
42
- end
43
- end
44
-
45
- private_class_method :arrays_match?, :hashes_match?
46
- end
47
- end
48
- end
@@ -1,47 +0,0 @@
1
- require 'diff/lcs'
2
- require 'diff/lcs/hunk'
3
-
4
- module RSpec
5
- module Support
6
- # @private
7
- class HunkGenerator
8
- def initialize(actual, expected)
9
- @actual = actual
10
- @expected = expected
11
- end
12
-
13
- def hunks
14
- @file_length_difference = 0
15
- @hunks ||= diffs.map do |piece|
16
- build_hunk(piece)
17
- end
18
- end
19
-
20
- private
21
-
22
- def diffs
23
- Diff::LCS.diff(expected_lines, actual_lines)
24
- end
25
-
26
- def expected_lines
27
- @expected.split("\n").map! { |e| e.chomp }
28
- end
29
-
30
- def actual_lines
31
- @actual.split("\n").map! { |e| e.chomp }
32
- end
33
-
34
- def build_hunk(piece)
35
- Diff::LCS::Hunk.new(
36
- expected_lines, actual_lines, piece, context_lines, @file_length_difference
37
- ).tap do |h|
38
- @file_length_difference = h.file_length_difference
39
- end
40
- end
41
-
42
- def context_lines
43
- 3
44
- end
45
- end
46
- end
47
- end
@@ -1,42 +0,0 @@
1
- module RSpec
2
- module Support
3
- # @private
4
- def self.matcher_definitions
5
- @matcher_definitions ||= []
6
- end
7
-
8
- # Used internally to break cyclic dependency between mocks, expectations,
9
- # and support. We don't currently have a consistent implementation of our
10
- # matchers, though we are considering changing that:
11
- # https://github.com/rspec/rspec-mocks/issues/513
12
- #
13
- # @private
14
- def self.register_matcher_definition(&block)
15
- matcher_definitions << block
16
- end
17
-
18
- # Remove a previously registered matcher. Useful for cleaning up after
19
- # yourself in specs.
20
- #
21
- # @private
22
- def self.deregister_matcher_definition(&block)
23
- matcher_definitions.delete(block)
24
- end
25
-
26
- # @private
27
- def self.is_a_matcher?(object)
28
- matcher_definitions.any? { |md| md.call(object) }
29
- end
30
-
31
- # @api private
32
- #
33
- # gives a string representation of an object for use in RSpec descriptions
34
- def self.rspec_description_for_object(object)
35
- if RSpec::Support.is_a_matcher?(object) && object.respond_to?(:description)
36
- object.description
37
- else
38
- object
39
- end
40
- end
41
- end
42
- end
@@ -1,438 +0,0 @@
1
- require 'rspec/support'
2
- RSpec::Support.require_rspec_support "ruby_features"
3
- RSpec::Support.require_rspec_support "matcher_definition"
4
-
5
- module RSpec
6
- module Support
7
- # Extracts info about the number of arguments and allowed/required
8
- # keyword args of a given method.
9
- #
10
- # @private
11
- class MethodSignature # rubocop:disable ClassLength
12
- attr_reader :min_non_kw_args, :max_non_kw_args, :optional_kw_args, :required_kw_args
13
-
14
- def initialize(method)
15
- @method = method
16
- @optional_kw_args = []
17
- @required_kw_args = []
18
- classify_parameters
19
- end
20
-
21
- def non_kw_args_arity_description
22
- case max_non_kw_args
23
- when min_non_kw_args then min_non_kw_args.to_s
24
- when INFINITY then "#{min_non_kw_args} or more"
25
- else "#{min_non_kw_args} to #{max_non_kw_args}"
26
- end
27
- end
28
-
29
- def valid_non_kw_args?(positional_arg_count, optional_max_arg_count=positional_arg_count)
30
- return true if positional_arg_count.nil?
31
-
32
- min_non_kw_args <= positional_arg_count &&
33
- optional_max_arg_count <= max_non_kw_args
34
- end
35
-
36
- def classify_arity(arity=@method.arity)
37
- if arity < 0
38
- # `~` inverts the one's complement and gives us the
39
- # number of required args
40
- @min_non_kw_args = ~arity
41
- @max_non_kw_args = INFINITY
42
- else
43
- @min_non_kw_args = arity
44
- @max_non_kw_args = arity
45
- end
46
- end
47
-
48
- if RubyFeatures.optional_and_splat_args_supported?
49
- def description
50
- @description ||= begin
51
- parts = []
52
-
53
- unless non_kw_args_arity_description == "0"
54
- parts << "arity of #{non_kw_args_arity_description}"
55
- end
56
-
57
- if @optional_kw_args.any?
58
- parts << "optional keyword args (#{@optional_kw_args.map(&:inspect).join(", ")})"
59
- end
60
-
61
- if @required_kw_args.any?
62
- parts << "required keyword args (#{@required_kw_args.map(&:inspect).join(", ")})"
63
- end
64
-
65
- parts << "any additional keyword args" if @allows_any_kw_args
66
-
67
- parts.join(" and ")
68
- end
69
- end
70
-
71
- def missing_kw_args_from(given_kw_args)
72
- @required_kw_args - given_kw_args
73
- end
74
-
75
- def invalid_kw_args_from(given_kw_args)
76
- return [] if @allows_any_kw_args
77
- given_kw_args - @allowed_kw_args
78
- end
79
-
80
- # If the last argument is Hash, Ruby will treat only symbol keys as keyword arguments
81
- # the rest will be grouped in another Hash and passed as positional argument.
82
- def has_kw_args_in?(args)
83
- Hash === args.last &&
84
- could_contain_kw_args?(args) &&
85
- (args.last.empty? || args.last.keys.any? { |x| x.is_a?(Symbol) })
86
- end
87
-
88
- # Without considering what the last arg is, could it
89
- # contain keyword arguments?
90
- def could_contain_kw_args?(args)
91
- return false if args.count <= min_non_kw_args
92
-
93
- @allows_any_kw_args || @allowed_kw_args.any?
94
- end
95
-
96
- def arbitrary_kw_args?
97
- @allows_any_kw_args
98
- end
99
-
100
- def unlimited_args?
101
- @max_non_kw_args == INFINITY
102
- end
103
-
104
- def classify_parameters
105
- optional_non_kw_args = @min_non_kw_args = 0
106
- @allows_any_kw_args = false
107
-
108
- @method.parameters.each do |(type, name)|
109
- case type
110
- # def foo(a:)
111
- when :keyreq then @required_kw_args << name
112
- # def foo(a: 1)
113
- when :key then @optional_kw_args << name
114
- # def foo(**kw_args)
115
- when :keyrest then @allows_any_kw_args = true
116
- # def foo(a)
117
- when :req then @min_non_kw_args += 1
118
- # def foo(a = 1)
119
- when :opt then optional_non_kw_args += 1
120
- # def foo(*a)
121
- when :rest then optional_non_kw_args = INFINITY
122
- end
123
- end
124
-
125
- @max_non_kw_args = @min_non_kw_args + optional_non_kw_args
126
- @allowed_kw_args = @required_kw_args + @optional_kw_args
127
- end
128
- else
129
- def description
130
- "arity of #{non_kw_args_arity_description}"
131
- end
132
-
133
- def missing_kw_args_from(_given_kw_args)
134
- []
135
- end
136
-
137
- def invalid_kw_args_from(_given_kw_args)
138
- []
139
- end
140
-
141
- def has_kw_args_in?(_args)
142
- false
143
- end
144
-
145
- def could_contain_kw_args?(*)
146
- false
147
- end
148
-
149
- def arbitrary_kw_args?
150
- false
151
- end
152
-
153
- def unlimited_args?
154
- false
155
- end
156
-
157
- alias_method :classify_parameters, :classify_arity
158
- end
159
-
160
- INFINITY = 1 / 0.0
161
- end
162
-
163
- if RSpec::Support::Ruby.jruby?
164
- # JRuby has only partial support for UnboundMethod#parameters, so we fall back on using #arity
165
- # https://github.com/jruby/jruby/issues/2816 and https://github.com/jruby/jruby/issues/2817
166
- if RubyFeatures.optional_and_splat_args_supported? &&
167
- Java::JavaLang::String.instance_method(:char_at).parameters == []
168
-
169
- class MethodSignature < remove_const(:MethodSignature)
170
- private
171
-
172
- def classify_parameters
173
- super
174
- if (arity = @method.arity) != 0 && @method.parameters.empty?
175
- classify_arity(arity)
176
- end
177
- end
178
- end
179
- end
180
-
181
- # JRuby used to always report -1 arity for Java proxy methods.
182
- # The workaround essentially makes use of Java's introspection to figure
183
- # out matching methods (which could be more than one partly because Java
184
- # supports multiple overloads, and partly because JRuby introduces
185
- # aliases to make method names look more Rubyesque). If there is only a
186
- # single match, we can use that methods arity directly instead of the
187
- # default -1 arity.
188
- #
189
- # This workaround only works for Java proxy methods, and in order to
190
- # support regular methods and blocks, we need to be careful about calling
191
- # owner and java_class as they might not be available
192
- if Java::JavaLang::String.instance_method(:char_at).arity == -1
193
- class MethodSignature < remove_const(:MethodSignature)
194
- private
195
-
196
- def classify_parameters
197
- super
198
- return unless @method.arity == -1
199
- return unless @method.respond_to?(:owner)
200
- return unless @method.owner.respond_to?(:java_class)
201
- java_instance_methods = @method.owner.java_class.java_instance_methods
202
- compatible_overloads = java_instance_methods.select do |java_method|
203
- @method == @method.owner.instance_method(java_method.name)
204
- end
205
- if compatible_overloads.size == 1
206
- classify_arity(compatible_overloads.first.arity)
207
- end
208
- end
209
- end
210
- end
211
- end
212
-
213
- # Encapsulates expectations about the number of arguments and
214
- # allowed/required keyword args of a given method.
215
- #
216
- # @api private
217
- class MethodSignatureExpectation
218
- def initialize
219
- @min_count = nil
220
- @max_count = nil
221
- @keywords = []
222
-
223
- @expect_unlimited_arguments = false
224
- @expect_arbitrary_keywords = false
225
- end
226
-
227
- attr_reader :min_count, :max_count, :keywords
228
-
229
- attr_accessor :expect_unlimited_arguments, :expect_arbitrary_keywords
230
-
231
- def max_count=(number)
232
- raise ArgumentError, 'must be a non-negative integer or nil' \
233
- unless number.nil? || (number.is_a?(Integer) && number >= 0)
234
-
235
- @max_count = number
236
- end
237
-
238
- def min_count=(number)
239
- raise ArgumentError, 'must be a non-negative integer or nil' \
240
- unless number.nil? || (number.is_a?(Integer) && number >= 0)
241
-
242
- @min_count = number
243
- end
244
-
245
- def empty?
246
- @min_count.nil? &&
247
- @keywords.to_a.empty? &&
248
- !@expect_arbitrary_keywords &&
249
- !@expect_unlimited_arguments
250
- end
251
-
252
- def keywords=(values)
253
- @keywords = values.to_a || []
254
- end
255
- end
256
-
257
- # Deals with the slightly different semantics of block arguments.
258
- # For methods, arguments are required unless a default value is provided.
259
- # For blocks, arguments are optional, even if no default value is provided.
260
- #
261
- # However, we want to treat block args as required since you virtually
262
- # always want to pass a value for each received argument and our
263
- # `and_yield` has treated block args as required for many years.
264
- #
265
- # @api private
266
- class BlockSignature < MethodSignature
267
- if RubyFeatures.optional_and_splat_args_supported?
268
- def classify_parameters
269
- super
270
- @min_non_kw_args = @max_non_kw_args unless @max_non_kw_args == INFINITY
271
- end
272
- end
273
- end
274
-
275
- # Abstract base class for signature verifiers.
276
- #
277
- # @api private
278
- class MethodSignatureVerifier
279
- attr_reader :non_kw_args, :kw_args, :min_non_kw_args, :max_non_kw_args
280
-
281
- def initialize(signature, args=[])
282
- @signature = signature
283
- @non_kw_args, @kw_args = split_args(*args)
284
- @min_non_kw_args = @max_non_kw_args = @non_kw_args
285
- @arbitrary_kw_args = @unlimited_args = false
286
- end
287
-
288
- def with_expectation(expectation) # rubocop:disable MethodLength
289
- return self unless MethodSignatureExpectation === expectation
290
-
291
- if expectation.empty?
292
- @min_non_kw_args = @max_non_kw_args = @non_kw_args = nil
293
- @kw_args = []
294
- else
295
- @min_non_kw_args = @non_kw_args = expectation.min_count || 0
296
- @max_non_kw_args = expectation.max_count || @min_non_kw_args
297
-
298
- if RubyFeatures.optional_and_splat_args_supported?
299
- @unlimited_args = expectation.expect_unlimited_arguments
300
- else
301
- @unlimited_args = false
302
- end
303
-
304
- if RubyFeatures.kw_args_supported?
305
- @kw_args = expectation.keywords
306
- @arbitrary_kw_args = expectation.expect_arbitrary_keywords
307
- else
308
- @kw_args = []
309
- @arbitrary_kw_args = false
310
- end
311
- end
312
-
313
- self
314
- end
315
-
316
- def valid?
317
- missing_kw_args.empty? &&
318
- invalid_kw_args.empty? &&
319
- valid_non_kw_args? &&
320
- arbitrary_kw_args? &&
321
- unlimited_args?
322
- end
323
-
324
- def error_message
325
- if missing_kw_args.any?
326
- "Missing required keyword arguments: %s" % [
327
- missing_kw_args.join(", ")
328
- ]
329
- elsif invalid_kw_args.any?
330
- "Invalid keyword arguments provided: %s" % [
331
- invalid_kw_args.join(", ")
332
- ]
333
- elsif !valid_non_kw_args?
334
- "Wrong number of arguments. Expected %s, got %s." % [
335
- @signature.non_kw_args_arity_description,
336
- non_kw_args
337
- ]
338
- end
339
- end
340
-
341
- private
342
-
343
- def valid_non_kw_args?
344
- @signature.valid_non_kw_args?(min_non_kw_args, max_non_kw_args)
345
- end
346
-
347
- def missing_kw_args
348
- @signature.missing_kw_args_from(kw_args)
349
- end
350
-
351
- def invalid_kw_args
352
- @signature.invalid_kw_args_from(kw_args)
353
- end
354
-
355
- def arbitrary_kw_args?
356
- !@arbitrary_kw_args || @signature.arbitrary_kw_args?
357
- end
358
-
359
- def unlimited_args?
360
- !@unlimited_args || @signature.unlimited_args?
361
- end
362
-
363
- def split_args(*args)
364
- kw_args = if @signature.has_kw_args_in?(args)
365
- last = args.pop
366
- non_kw_args = last.reject { |k, _| k.is_a?(Symbol) }
367
- if non_kw_args.empty?
368
- last.keys
369
- else
370
- args << non_kw_args
371
- last.select { |k, _| k.is_a?(Symbol) }.keys
372
- end
373
- else
374
- []
375
- end
376
-
377
- [args.length, kw_args]
378
- end
379
- end
380
-
381
- # Figures out wether a given method can accept various arguments.
382
- # Surprisingly non-trivial.
383
- #
384
- # @private
385
- StrictSignatureVerifier = MethodSignatureVerifier
386
-
387
- # Allows matchers to be used instead of providing keyword arguments. In
388
- # practice, when this happens only the arity of the method is verified.
389
- #
390
- # @private
391
- class LooseSignatureVerifier < MethodSignatureVerifier
392
- private
393
-
394
- def split_args(*args)
395
- if RSpec::Support.is_a_matcher?(args.last) && @signature.could_contain_kw_args?(args)
396
- args.pop
397
- @signature = SignatureWithKeywordArgumentsMatcher.new(@signature)
398
- end
399
-
400
- super(*args)
401
- end
402
-
403
- # If a matcher is used in a signature in place of keyword arguments, all
404
- # keyword argument validation needs to be skipped since the matcher is
405
- # opaque.
406
- #
407
- # Instead, keyword arguments will be validated when the method is called
408
- # and they are actually known.
409
- #
410
- # @private
411
- class SignatureWithKeywordArgumentsMatcher
412
- def initialize(signature)
413
- @signature = signature
414
- end
415
-
416
- def missing_kw_args_from(_kw_args)
417
- []
418
- end
419
-
420
- def invalid_kw_args_from(_kw_args)
421
- []
422
- end
423
-
424
- def non_kw_args_arity_description
425
- @signature.non_kw_args_arity_description
426
- end
427
-
428
- def valid_non_kw_args?(*args)
429
- @signature.valid_non_kw_args?(*args)
430
- end
431
-
432
- def has_kw_args_in?(args)
433
- @signature.has_kw_args_in?(args)
434
- end
435
- end
436
- end
437
- end
438
- end