qiita_org 0.1.35 → 0.1.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/Gemfile.lock +15 -15
  4. data/lib/qiita_org/post.rb +64 -5
  5. data/lib/qiita_org/template.org +1 -1
  6. data/lib/qiita_org/version.rb +1 -1
  7. data/tests/tags_test.org +16 -0
  8. data/tests/tags_test2.org +16 -0
  9. metadata +4 -2430
  10. data/.bandle/ruby/2.7.0/bin/htmldiff +0 -29
  11. data/.bandle/ruby/2.7.0/bin/ldiff +0 -29
  12. data/.bandle/ruby/2.7.0/bin/qiita_org +0 -27
  13. data/.bandle/ruby/2.7.0/bin/rake +0 -27
  14. data/.bandle/ruby/2.7.0/bin/rspec +0 -27
  15. data/.bandle/ruby/2.7.0/bin/thor +0 -27
  16. data/.bandle/ruby/2.7.0/cache/diff-lcs-1.4.4.gem +0 -0
  17. data/.bandle/ruby/2.7.0/cache/rake-12.3.3.gem +0 -0
  18. data/.bandle/ruby/2.7.0/cache/rspec-3.9.0.gem +0 -0
  19. data/.bandle/ruby/2.7.0/cache/rspec-core-3.9.2.gem +0 -0
  20. data/.bandle/ruby/2.7.0/cache/rspec-expectations-3.9.2.gem +0 -0
  21. data/.bandle/ruby/2.7.0/cache/rspec-mocks-3.9.1.gem +0 -0
  22. data/.bandle/ruby/2.7.0/cache/rspec-support-3.9.3.gem +0 -0
  23. data/.bandle/ruby/2.7.0/cache/thor-1.0.1.gem +0 -0
  24. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/.rspec +0 -1
  25. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Code-of-Conduct.md +0 -74
  26. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Contributing.md +0 -118
  27. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/History.md +0 -319
  28. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/License.md +0 -39
  29. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Manifest.txt +0 -45
  30. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/README.rdoc +0 -84
  31. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/Rakefile +0 -74
  32. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/autotest/discover.rb +0 -3
  33. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/bin/htmldiff +0 -35
  34. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/bin/ldiff +0 -9
  35. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/docs/COPYING.txt +0 -339
  36. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/docs/artistic.txt +0 -127
  37. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff-lcs.rb +0 -3
  38. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs.rb +0 -739
  39. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/array.rb +0 -7
  40. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/backports.rb +0 -9
  41. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/block.rb +0 -37
  42. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/callbacks.rb +0 -325
  43. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/change.rb +0 -174
  44. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/htmldiff.rb +0 -150
  45. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/hunk.rb +0 -358
  46. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/internals.rb +0 -304
  47. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/ldiff.rb +0 -171
  48. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/lib/diff/lcs/string.rb +0 -5
  49. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/change_spec.rb +0 -89
  50. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/diff_spec.rb +0 -51
  51. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/aX +0 -1
  52. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/bXaX +0 -1
  53. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ds1.csv +0 -50
  54. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ds2.csv +0 -51
  55. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff +0 -4
  56. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-c +0 -7
  57. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-e +0 -3
  58. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-f +0 -3
  59. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-u +0 -5
  60. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/hunk_spec.rb +0 -83
  61. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/issues_spec.rb +0 -154
  62. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/lcs_spec.rb +0 -56
  63. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/ldiff_spec.rb +0 -87
  64. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/patch_spec.rb +0 -416
  65. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/sdiff_spec.rb +0 -214
  66. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/spec_helper.rb +0 -375
  67. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/traverse_balanced_spec.rb +0 -310
  68. data/.bandle/ruby/2.7.0/gems/diff-lcs-1.4.4/spec/traverse_sequences_spec.rb +0 -139
  69. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +0 -43
  70. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/Gemfile +0 -3
  71. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/History.rdoc +0 -2344
  72. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/MIT-LICENSE +0 -21
  73. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/README.rdoc +0 -156
  74. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/Rakefile +0 -41
  75. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/azure-pipelines.yml +0 -11
  76. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/bundle +0 -105
  77. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/console +0 -7
  78. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rake +0 -29
  79. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rdoc +0 -29
  80. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/rubocop +0 -29
  81. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/bin/setup +0 -6
  82. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +0 -158
  83. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile1 +0 -38
  84. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile2 +0 -35
  85. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/a.c +0 -6
  86. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/b.c +0 -6
  87. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/example/main.c +0 -11
  88. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/glossary.rdoc +0 -42
  89. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/jamis.rb +0 -592
  90. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/proto_rake.rdoc +0 -127
  91. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rake.1 +0 -156
  92. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rakefile.rdoc +0 -622
  93. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/doc/rational.rdoc +0 -151
  94. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/exe/rake +0 -27
  95. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake.rb +0 -71
  96. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/application.rb +0 -824
  97. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/backtrace.rb +0 -24
  98. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/clean.rb +0 -78
  99. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cloneable.rb +0 -17
  100. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +0 -107
  101. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/default_loader.rb +0 -15
  102. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +0 -195
  103. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/early_time.rb +0 -22
  104. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/core.rb +0 -26
  105. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/string.rb +0 -176
  106. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +0 -25
  107. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_list.rb +0 -435
  108. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_task.rb +0 -54
  109. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils.rb +0 -137
  110. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +0 -145
  111. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +0 -57
  112. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +0 -17
  113. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/late_time.rb +0 -18
  114. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/linked_list.rb +0 -112
  115. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +0 -54
  116. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/multi_task.rb +0 -14
  117. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/name_space.rb +0 -38
  118. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/packagetask.rb +0 -207
  119. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/phony.rb +0 -16
  120. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/private_reader.rb +0 -21
  121. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/promise.rb +0 -100
  122. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +0 -30
  123. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_module.rb +0 -67
  124. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +0 -27
  125. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +0 -20
  126. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/scope.rb +0 -43
  127. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task.rb +0 -413
  128. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +0 -8
  129. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +0 -109
  130. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_manager.rb +0 -324
  131. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/tasklib.rb +0 -12
  132. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/testtask.rb +0 -224
  133. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +0 -49
  134. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +0 -163
  135. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/trace_output.rb +0 -23
  136. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/version.rb +0 -10
  137. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/lib/rake/win32.rb +0 -51
  138. data/.bandle/ruby/2.7.0/gems/rake-12.3.3/rake.gemspec +0 -42
  139. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/LICENSE.md +0 -27
  140. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/README.md +0 -43
  141. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec.rb +0 -3
  142. data/.bandle/ruby/2.7.0/gems/rspec-3.9.0/lib/rspec/version.rb +0 -5
  143. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/.document +0 -5
  144. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/.yardopts +0 -8
  145. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/Changelog.md +0 -2291
  146. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/LICENSE.md +0 -26
  147. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/README.md +0 -384
  148. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/exe/rspec +0 -4
  149. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/autorun.rb +0 -3
  150. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core.rb +0 -186
  151. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/backtrace_formatter.rb +0 -65
  152. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/coordinator.rb +0 -62
  153. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/example_minimizer.rb +0 -173
  154. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/fork_runner.rb +0 -135
  155. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/server.rb +0 -61
  156. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_command.rb +0 -126
  157. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/shell_runner.rb +0 -73
  158. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/bisect/utilities.rb +0 -58
  159. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb +0 -2363
  160. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration_options.rb +0 -233
  161. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/did_you_mean.rb +0 -46
  162. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/drb.rb +0 -113
  163. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/dsl.rb +0 -98
  164. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb +0 -656
  165. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb +0 -900
  166. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/example_status_persister.rb +0 -235
  167. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/filter_manager.rb +0 -231
  168. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/flat_map.rb +0 -20
  169. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters.rb +0 -273
  170. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -45
  171. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_formatter.rb +0 -70
  172. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  173. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -29
  174. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -157
  175. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/console_codes.rb +0 -68
  176. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  177. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/documentation_formatter.rb +0 -102
  178. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb +0 -511
  179. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/failure_list_formatter.rb +0 -23
  180. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  181. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/helpers.rb +0 -110
  182. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_formatter.rb +0 -153
  183. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_printer.rb +0 -414
  184. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
  185. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/json_formatter.rb +0 -102
  186. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  187. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  188. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/protocol.rb +0 -182
  189. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  190. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  191. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb +0 -641
  192. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/invocations.rb +0 -87
  193. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/memoized_helpers.rb +0 -554
  194. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata.rb +0 -498
  195. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/metadata_filter.rb +0 -255
  196. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  197. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  198. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  199. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/null.rb +0 -14
  200. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  201. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  202. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb +0 -521
  203. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/option_parser.rb +0 -316
  204. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/ordering.rb +0 -158
  205. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/output_wrapper.rb +0 -29
  206. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/pending.rb +0 -165
  207. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/profiler.rb +0 -34
  208. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer.rb +0 -48
  209. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/.rspec +0 -1
  210. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  211. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/rake_task.rb +0 -188
  212. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb +0 -265
  213. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/ruby_project.rb +0 -53
  214. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb +0 -204
  215. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/sandbox.rb +0 -37
  216. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/set.rb +0 -54
  217. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_context.rb +0 -55
  218. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shared_example_group.rb +0 -271
  219. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/shell_escape.rb +0 -49
  220. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  221. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/version.rb +0 -9
  222. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/warnings.rb +0 -40
  223. data/.bandle/ruby/2.7.0/gems/rspec-core-3.9.2/lib/rspec/core/world.rb +0 -276
  224. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/.document +0 -5
  225. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/.yardopts +0 -6
  226. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/Changelog.md +0 -1191
  227. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/LICENSE.md +0 -25
  228. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/README.md +0 -320
  229. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations.rb +0 -82
  230. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  231. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/configuration.rb +0 -215
  232. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/expectation_target.rb +0 -127
  233. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/fail_with.rb +0 -39
  234. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/failure_aggregator.rb +0 -194
  235. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/handler.rb +0 -170
  236. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/minitest_integration.rb +0 -58
  237. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/syntax.rb +0 -132
  238. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/version.rb +0 -8
  239. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers.rb +0 -1038
  240. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/aliased_matcher.rb +0 -116
  241. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in.rb +0 -52
  242. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/all.rb +0 -86
  243. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  244. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be.rb +0 -288
  245. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_between.rb +0 -77
  246. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_instance_of.rb +0 -26
  247. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_kind_of.rb +0 -20
  248. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/be_within.rb +0 -72
  249. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/change.rb +0 -428
  250. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/compound.rb +0 -276
  251. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/contain_exactly.rb +0 -302
  252. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/cover.rb +0 -24
  253. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eq.rb +0 -40
  254. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/eql.rb +0 -34
  255. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/equal.rb +0 -81
  256. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/exist.rb +0 -90
  257. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/has.rb +0 -103
  258. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  259. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/include.rb +0 -149
  260. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/match.rb +0 -106
  261. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/operators.rb +0 -128
  262. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/output.rb +0 -200
  263. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  264. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/respond_to.rb +0 -199
  265. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  266. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  267. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  268. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/yield.rb +0 -441
  269. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/composable.rb +0 -171
  270. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/dsl.rb +0 -540
  271. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/english_phrasing.rb +0 -58
  272. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -82
  273. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/fail_matchers.rb +0 -42
  274. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/generated_descriptions.rb +0 -41
  275. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_delegator.rb +0 -35
  276. data/.bandle/ruby/2.7.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/matcher_protocol.rb +0 -99
  277. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.document +0 -5
  278. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/.yardopts +0 -6
  279. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/Changelog.md +0 -1133
  280. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/LICENSE.md +0 -25
  281. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/README.md +0 -463
  282. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +0 -130
  283. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +0 -11
  284. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +0 -111
  285. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  286. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  287. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  288. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  289. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  290. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +0 -294
  291. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  292. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  293. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  294. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +0 -322
  295. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +0 -212
  296. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +0 -369
  297. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +0 -434
  298. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  299. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +0 -41
  300. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  301. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +0 -134
  302. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +0 -132
  303. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  304. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  305. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +0 -87
  306. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +0 -751
  307. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +0 -287
  308. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +0 -202
  309. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +0 -68
  310. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +0 -339
  311. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +0 -149
  312. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +0 -81
  313. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +0 -503
  314. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +0 -238
  315. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +0 -3
  316. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +0 -325
  317. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +0 -124
  318. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +0 -171
  319. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +0 -129
  320. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  321. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +0 -220
  322. data/.bandle/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +0 -9
  323. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/Changelog.md +0 -302
  324. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/LICENSE.md +0 -23
  325. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/README.md +0 -40
  326. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support.rb +0 -149
  327. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/caller_filter.rb +0 -83
  328. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/comparable_version.rb +0 -46
  329. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/differ.rb +0 -215
  330. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/directory_maker.rb +0 -63
  331. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/encoded_string.rb +0 -161
  332. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/fuzzy_matcher.rb +0 -48
  333. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/hunk_generator.rb +0 -47
  334. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/matcher_definition.rb +0 -42
  335. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/method_signature_verifier.rb +0 -438
  336. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/mutex.rb +0 -73
  337. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/object_formatter.rb +0 -275
  338. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/recursive_const_methods.rb +0 -76
  339. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/reentrant_mutex.rb +0 -61
  340. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/ruby_features.rb +0 -190
  341. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source.rb +0 -75
  342. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/location.rb +0 -21
  343. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/node.rb +0 -110
  344. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/source/token.rb +0 -87
  345. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec.rb +0 -81
  346. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  347. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/formatting_support.rb +0 -9
  348. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/in_sub_process.rb +0 -69
  349. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  350. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/shell_out.rb +0 -89
  351. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/stderr_splitter.rb +0 -75
  352. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/string_matcher.rb +0 -46
  353. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  354. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  355. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/version.rb +0 -7
  356. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/warnings.rb +0 -39
  357. data/.bandle/ruby/2.7.0/gems/rspec-support-3.9.3/lib/rspec/support/with_keywords_when_needed.rb +0 -33
  358. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/.document +0 -5
  359. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/CHANGELOG.md +0 -220
  360. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/CONTRIBUTING.md +0 -15
  361. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/LICENSE.md +0 -20
  362. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/README.md +0 -51
  363. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/bin/thor +0 -6
  364. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor.rb +0 -517
  365. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions.rb +0 -336
  366. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/create_file.rb +0 -104
  367. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/create_link.rb +0 -61
  368. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/directory.rb +0 -108
  369. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/empty_directory.rb +0 -143
  370. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/file_manipulation.rb +0 -373
  371. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/actions/inject_into_file.rb +0 -120
  372. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/base.rb +0 -699
  373. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/command.rb +0 -142
  374. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -97
  375. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/error.rb +0 -110
  376. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/group.rb +0 -281
  377. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb +0 -178
  378. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor.rb +0 -17
  379. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor/basic.rb +0 -37
  380. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/line_editor/readline.rb +0 -88
  381. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/nested_context.rb +0 -29
  382. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser.rb +0 -4
  383. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/argument.rb +0 -70
  384. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/arguments.rb +0 -175
  385. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/option.rb +0 -159
  386. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/parser/options.rb +0 -236
  387. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/rake_compat.rb +0 -72
  388. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/runner.rb +0 -325
  389. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell.rb +0 -81
  390. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/basic.rb +0 -491
  391. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/color.rb +0 -153
  392. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/shell/html.rb +0 -126
  393. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/util.rb +0 -284
  394. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/version.rb +0 -3
  395. data/.bandle/ruby/2.7.0/gems/thor-1.0.1/thor.gemspec +0 -28
  396. data/.bandle/ruby/2.7.0/specifications/diff-lcs-1.4.4.gemspec +0 -50
  397. data/.bandle/ruby/2.7.0/specifications/rake-12.3.3.gemspec +0 -43
  398. data/.bandle/ruby/2.7.0/specifications/rspec-3.9.0.gemspec +0 -39
  399. data/.bandle/ruby/2.7.0/specifications/rspec-core-3.9.2.gemspec +0 -53
  400. data/.bandle/ruby/2.7.0/specifications/rspec-expectations-3.9.2.gemspec +0 -44
  401. data/.bandle/ruby/2.7.0/specifications/rspec-mocks-3.9.1.gemspec +0 -44
  402. data/.bandle/ruby/2.7.0/specifications/rspec-support-3.9.3.gemspec +0 -36
  403. data/.bandle/ruby/2.7.0/specifications/thor-1.0.1.gemspec +0 -34
@@ -1,127 +0,0 @@
1
- The "Artistic License"
2
-
3
- Preamble
4
-
5
- The intent of this document is to state the conditions under which a
6
- Package may be copied, such that the Copyright Holder maintains some
7
- semblance of artistic control over the development of the package,
8
- while giving the users of the package the right to use and distribute
9
- the Package in a more-or-less customary fashion, plus the right to make
10
- reasonable modifications.
11
-
12
- Definitions:
13
-
14
- "Package" refers to the collection of files distributed by the
15
- Copyright Holder, and derivatives of that collection of files
16
- created through textual modification.
17
-
18
- "Standard Version" refers to such a Package if it has not been
19
- modified, or has been modified in accordance with the wishes
20
- of the Copyright Holder as specified below.
21
-
22
- "Copyright Holder" is whoever is named in the copyright or
23
- copyrights for the package.
24
-
25
- "You" is you, if you're thinking about copying or distributing
26
- this Package.
27
-
28
- "Reasonable copying fee" is whatever you can justify on the
29
- basis of media cost, duplication charges, time of people involved,
30
- and so on. (You will not be required to justify it to the
31
- Copyright Holder, but only to the computing community at large
32
- as a market that must bear the fee.)
33
-
34
- "Freely Available" means that no fee is charged for the item
35
- itself, though there may be fees involved in handling the item.
36
- It also means that recipients of the item may redistribute it
37
- under the same conditions they received it.
38
-
39
- 1. You may make and give away verbatim copies of the source form of the
40
- Standard Version of this Package without restriction, provided that you
41
- duplicate all of the original copyright notices and associated disclaimers.
42
-
43
- 2. You may apply bug fixes, portability fixes and other modifications
44
- derived from the Public Domain or from the Copyright Holder. A Package
45
- modified in such a way shall still be considered the Standard Version.
46
-
47
- 3. You may otherwise modify your copy of this Package in any way, provided
48
- that you insert a prominent notice in each changed file stating how and
49
- when you changed that file, and provided that you do at least ONE of the
50
- following:
51
-
52
- a) place your modifications in the Public Domain or otherwise make them
53
- Freely Available, such as by posting said modifications to Usenet or
54
- an equivalent medium, or placing the modifications on a major archive
55
- site such as uunet.uu.net, or by allowing the Copyright Holder to include
56
- your modifications in the Standard Version of the Package.
57
-
58
- b) use the modified Package only within your corporation or organization.
59
-
60
- c) rename any non-standard executables so the names do not conflict
61
- with standard executables, which must also be provided, and provide
62
- a separate manual page for each non-standard executable that clearly
63
- documents how it differs from the Standard Version.
64
-
65
- d) make other distribution arrangements with the Copyright Holder.
66
-
67
- 4. You may distribute the programs of this Package in object code or
68
- executable form, provided that you do at least ONE of the following:
69
-
70
- a) distribute a Standard Version of the executables and library files,
71
- together with instructions (in the manual page or equivalent) on where
72
- to get the Standard Version.
73
-
74
- b) accompany the distribution with the machine-readable source of
75
- the Package with your modifications.
76
-
77
- c) give non-standard executables non-standard names, and clearly
78
- document the differences in manual pages (or equivalent), together
79
- with instructions on where to get the Standard Version.
80
-
81
- d) make other distribution arrangements with the Copyright Holder.
82
-
83
- 5. You may charge a reasonable copying fee for any distribution of this
84
- Package. You may charge any fee you choose for support of this
85
- Package. You may not charge a fee for this Package itself. However,
86
- you may distribute this Package in aggregate with other (possibly
87
- commercial) programs as part of a larger (possibly commercial) software
88
- distribution provided that you do not advertise this Package as a
89
- product of your own. You may embed this Package's interpreter within
90
- an executable of yours (by linking); this shall be construed as a mere
91
- form of aggregation, provided that the complete Standard Version of the
92
- interpreter is so embedded.
93
-
94
- 6. The scripts and library files supplied as input to or produced as
95
- output from the programs of this Package do not automatically fall
96
- under the copyright of this Package, but belong to whoever generated
97
- them, and may be sold commercially, and may be aggregated with this
98
- Package. If such scripts or library files are aggregated with this
99
- Package via the so-called "undump" or "unexec" methods of producing a
100
- binary executable image, then distribution of such an image shall
101
- neither be construed as a distribution of this Package nor shall it
102
- fall under the restrictions of Paragraphs 3 and 4, provided that you do
103
- not represent such an executable image as a Standard Version of this
104
- Package.
105
-
106
- 7. C subroutines (or comparably compiled subroutines in other
107
- languages) supplied by you and linked into this Package in order to
108
- emulate subroutines and variables of the language defined by this
109
- Package shall not be considered part of this Package, but are the
110
- equivalent of input as in Paragraph 6, provided these subroutines do
111
- not change the language in any way that would cause it to fail the
112
- regression tests for the language.
113
-
114
- 8. Aggregation of this Package with a commercial distribution is always
115
- permitted provided that the use of this Package is embedded; that is,
116
- when no overt attempt is made to make this Package's interfaces visible
117
- to the end user of the commercial distribution. Such use shall not be
118
- construed as a distribution of this Package.
119
-
120
- 9. The name of the Copyright Holder may not be used to endorse or promote
121
- products derived from this software without specific prior written permission.
122
-
123
- 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
124
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
125
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
126
-
127
- The End
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'diff/lcs'
@@ -1,739 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Diff; end unless defined? Diff # rubocop:disable Style/Documentation
4
-
5
- # == How Diff Works (by Mark-Jason Dominus)
6
- #
7
- # I once read an article written by the authors of +diff+; they said that they
8
- # hard worked very hard on the algorithm until they found the right one.
9
- #
10
- # I think what they ended up using (and I hope someone will correct me, because
11
- # I am not very confident about this) was the `longest common subsequence'
12
- # method. In the LCS problem, you have two sequences of items:
13
- #
14
- # a b c d f g h j q z
15
- # a b c d e f g i j k r x y z
16
- #
17
- # and you want to find the longest sequence of items that is present in both
18
- # original sequences in the same order. That is, you want to find a new
19
- # sequence *S* which can be obtained from the first sequence by deleting some
20
- # items, and from the second sequence by deleting other items. You also want
21
- # *S* to be as long as possible. In this case *S* is:
22
- #
23
- # a b c d f g j z
24
- #
25
- # From there it's only a small step to get diff-like output:
26
- #
27
- # e h i k q r x y
28
- # + - + + - + + +
29
- #
30
- # This module solves the LCS problem. It also includes a canned function to
31
- # generate +diff+-like output.
32
- #
33
- # It might seem from the example above that the LCS of two sequences is always
34
- # pretty obvious, but that's not always the case, especially when the two
35
- # sequences have many repeated elements. For example, consider
36
- #
37
- # a x b y c z p d q
38
- # a b c a x b y c z
39
- #
40
- # A naive approach might start by matching up the +a+ and +b+ that appear at
41
- # the beginning of each sequence, like this:
42
- #
43
- # a x b y c z p d q
44
- # a b c a b y c z
45
- #
46
- # This finds the common subsequence +a b c z+. But actually, the LCS is +a x b
47
- # y c z+:
48
- #
49
- # a x b y c z p d q
50
- # a b c a x b y c z
51
- module Diff::LCS
52
- VERSION = '1.4.4'
53
- end
54
-
55
- require 'diff/lcs/callbacks'
56
- require 'diff/lcs/internals'
57
-
58
- module Diff::LCS # rubocop:disable Style/Documentation
59
- # Returns an Array containing the longest common subsequence(s) between
60
- # +self+ and +other+. See Diff::LCS#lcs.
61
- #
62
- # lcs = seq1.lcs(seq2)
63
- #
64
- # A note when using objects: Diff::LCS only works properly when each object
65
- # can be used as a key in a Hash, which typically means that the objects must
66
- # implement Object#eql? in a way that two identical values compare
67
- # identically for key purposes. That is:
68
- #
69
- # O.new('a').eql?(O.new('a')) == true
70
- def lcs(other, &block) #:yields self[i] if there are matched subsequences:
71
- Diff::LCS.lcs(self, other, &block)
72
- end
73
-
74
- # Returns the difference set between +self+ and +other+. See Diff::LCS#diff.
75
- def diff(other, callbacks = nil, &block)
76
- Diff::LCS.diff(self, other, callbacks, &block)
77
- end
78
-
79
- # Returns the balanced ("side-by-side") difference set between +self+ and
80
- # +other+. See Diff::LCS#sdiff.
81
- def sdiff(other, callbacks = nil, &block)
82
- Diff::LCS.sdiff(self, other, callbacks, &block)
83
- end
84
-
85
- # Traverses the discovered longest common subsequences between +self+ and
86
- # +other+. See Diff::LCS#traverse_sequences.
87
- def traverse_sequences(other, callbacks = nil, &block)
88
- traverse_sequences(self, other, callbacks || Diff::LCS::SequenceCallbacks, &block)
89
- end
90
-
91
- # Traverses the discovered longest common subsequences between +self+ and
92
- # +other+ using the alternate, balanced algorithm. See
93
- # Diff::LCS#traverse_balanced.
94
- def traverse_balanced(other, callbacks = nil, &block)
95
- traverse_balanced(self, other, callbacks || Diff::LCS::BalancedCallbacks, &block)
96
- end
97
-
98
- # Attempts to patch +self+ with the provided +patchset+. A new sequence based
99
- # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Attempts
100
- # to autodiscover the direction of the patch.
101
- def patch(patchset)
102
- Diff::LCS.patch(self, patchset)
103
- end
104
- alias unpatch patch
105
-
106
- # Attempts to patch +self+ with the provided +patchset+. A new sequence based
107
- # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Does no
108
- # patch direction autodiscovery.
109
- def patch!(patchset)
110
- Diff::LCS.patch!(self, patchset)
111
- end
112
-
113
- # Attempts to unpatch +self+ with the provided +patchset+. A new sequence
114
- # based on +self+ and the +patchset+ will be created. See Diff::LCS#unpatch.
115
- # Does no patch direction autodiscovery.
116
- def unpatch!(patchset)
117
- Diff::LCS.unpatch!(self, patchset)
118
- end
119
-
120
- # Attempts to patch +self+ with the provided +patchset+, using #patch!. If
121
- # the sequence this is used on supports #replace, the value of +self+ will be
122
- # replaced. See Diff::LCS#patch. Does no patch direction autodiscovery.
123
- def patch_me(patchset)
124
- if respond_to? :replace
125
- replace(patch!(patchset))
126
- else
127
- patch!(patchset)
128
- end
129
- end
130
-
131
- # Attempts to unpatch +self+ with the provided +patchset+, using #unpatch!.
132
- # If the sequence this is used on supports #replace, the value of +self+ will
133
- # be replaced. See Diff::LCS#unpatch. Does no patch direction autodiscovery.
134
- def unpatch_me(patchset)
135
- if respond_to? :replace
136
- replace(unpatch!(patchset))
137
- else
138
- unpatch!(patchset)
139
- end
140
- end
141
- end
142
-
143
- class << Diff::LCS
144
- def lcs(seq1, seq2, &block) #:yields seq1[i] for each matched:
145
- matches = Diff::LCS::Internals.lcs(seq1, seq2)
146
- ret = []
147
- string = seq1.kind_of? String
148
- matches.each_with_index do |_e, i|
149
- next if matches[i].nil?
150
-
151
- v = string ? seq1[i, 1] : seq1[i]
152
- v = block[v] if block
153
- ret << v
154
- end
155
- ret
156
- end
157
- alias LCS lcs
158
-
159
- # #diff computes the smallest set of additions and deletions necessary to
160
- # turn the first sequence into the second, and returns a description of these
161
- # changes.
162
- #
163
- # See Diff::LCS::DiffCallbacks for the default behaviour. An alternate
164
- # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
165
- # Class argument is provided for +callbacks+, #diff will attempt to
166
- # initialise it. If the +callbacks+ object (possibly initialised) responds to
167
- # #finish, it will be called.
168
- def diff(seq1, seq2, callbacks = nil, &block) # :yields diff changes:
169
- diff_traversal(:diff, seq1, seq2, callbacks || Diff::LCS::DiffCallbacks, &block)
170
- end
171
-
172
- # #sdiff computes all necessary components to show two sequences and their
173
- # minimized differences side by side, just like the Unix utility
174
- # <em>sdiff</em> does:
175
- #
176
- # old < -
177
- # same same
178
- # before | after
179
- # - > new
180
- #
181
- # See Diff::LCS::SDiffCallbacks for the default behaviour. An alternate
182
- # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
183
- # Class argument is provided for +callbacks+, #diff will attempt to
184
- # initialise it. If the +callbacks+ object (possibly initialised) responds to
185
- # #finish, it will be called.
186
- #
187
- # Each element of a returned array is a Diff::LCS::ContextChange object,
188
- # which can be implicitly converted to an array.
189
- #
190
- # Diff::LCS.sdiff(a, b).each do |action, (old_pos, old_element), (new_pos, new_element)|
191
- # case action
192
- # when '!'
193
- # # replace
194
- # when '-'
195
- # # delete
196
- # when '+'
197
- # # insert
198
- # end
199
- # end
200
- def sdiff(seq1, seq2, callbacks = nil, &block) #:yields diff changes:
201
- diff_traversal(:sdiff, seq1, seq2, callbacks || Diff::LCS::SDiffCallbacks, &block)
202
- end
203
-
204
- # #traverse_sequences is the most general facility provided by this module;
205
- # #diff and #lcs are implemented as calls to it.
206
- #
207
- # The arguments to #traverse_sequences are the two sequences to traverse, and
208
- # a callback object, like this:
209
- #
210
- # traverse_sequences(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
211
- #
212
- # == Callback Methods
213
- #
214
- # Optional callback methods are <em>emphasized</em>.
215
- #
216
- # callbacks#match:: Called when +a+ and +b+ are pointing to
217
- # common elements in +A+ and +B+.
218
- # callbacks#discard_a:: Called when +a+ is pointing to an
219
- # element not in +B+.
220
- # callbacks#discard_b:: Called when +b+ is pointing to an
221
- # element not in +A+.
222
- # <em>callbacks#finished_a</em>:: Called when +a+ has reached the end of
223
- # sequence +A+.
224
- # <em>callbacks#finished_b</em>:: Called when +b+ has reached the end of
225
- # sequence +B+.
226
- #
227
- # == Algorithm
228
- #
229
- # a---+
230
- # v
231
- # A = a b c e h j l m n p
232
- # B = b c d e f j k l m r s t
233
- # ^
234
- # b---+
235
- #
236
- # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+
237
- # and +B+, the arrows will initially point to the first elements of their
238
- # respective sequences. #traverse_sequences will advance the arrows through
239
- # the sequences one element at a time, calling a method on the user-specified
240
- # callback object before each advance. It will advance the arrows in such a
241
- # way that if there are elements <tt>A[i]</tt> and <tt>B[j]</tt> which are
242
- # both equal and part of the longest common subsequence, there will be some
243
- # moment during the execution of #traverse_sequences when arrow +a+ is
244
- # pointing to <tt>A[i]</tt> and arrow +b+ is pointing to <tt>B[j]</tt>. When
245
- # this happens, #traverse_sequences will call <tt>callbacks#match</tt> and
246
- # then it will advance both arrows.
247
- #
248
- # Otherwise, one of the arrows is pointing to an element of its sequence that
249
- # is not part of the longest common subsequence. #traverse_sequences will
250
- # advance that arrow and will call <tt>callbacks#discard_a</tt> or
251
- # <tt>callbacks#discard_b</tt>, depending on which arrow it advanced. If both
252
- # arrows point to elements that are not part of the longest common
253
- # subsequence, then #traverse_sequences will advance one of them and call the
254
- # appropriate callback, but it is not specified which it will call.
255
- #
256
- # The methods for <tt>callbacks#match</tt>, <tt>callbacks#discard_a</tt>, and
257
- # <tt>callbacks#discard_b</tt> are invoked with an event comprising the
258
- # action ("=", "+", or "-", respectively), the indicies +i+ and +j+, and the
259
- # elements <tt>A[i]</tt> and <tt>B[j]</tt>. Return values are discarded by
260
- # #traverse_sequences.
261
- #
262
- # === End of Sequences
263
- #
264
- # If arrow +a+ reaches the end of its sequence before arrow +b+ does,
265
- # #traverse_sequence will try to call <tt>callbacks#finished_a</tt> with the
266
- # last index and element of +A+ (<tt>A[-1]</tt>) and the current index and
267
- # element of +B+ (<tt>B[j]</tt>). If <tt>callbacks#finished_a</tt> does not
268
- # exist, then <tt>callbacks#discard_b</tt> will be called on each element of
269
- # +B+ until the end of the sequence is reached (the call will be done with
270
- # <tt>A[-1]</tt> and <tt>B[j]</tt> for each element).
271
- #
272
- # If +b+ reaches the end of +B+ before +a+ reaches the end of +A+,
273
- # <tt>callbacks#finished_b</tt> will be called with the current index and
274
- # element of +A+ (<tt>A[i]</tt>) and the last index and element of +B+
275
- # (<tt>A[-1]</tt>). Again, if <tt>callbacks#finished_b</tt> does not exist on
276
- # the callback object, then <tt>callbacks#discard_a</tt> will be called on
277
- # each element of +A+ until the end of the sequence is reached (<tt>A[i]</tt>
278
- # and <tt>B[-1]</tt>).
279
- #
280
- # There is a chance that one additional <tt>callbacks#discard_a</tt> or
281
- # <tt>callbacks#discard_b</tt> will be called after the end of the sequence
282
- # is reached, if +a+ has not yet reached the end of +A+ or +b+ has not yet
283
- # reached the end of +B+.
284
- def traverse_sequences(seq1, seq2, callbacks = Diff::LCS::SequenceCallbacks) #:yields change events:
285
- callbacks ||= Diff::LCS::SequenceCallbacks
286
- matches = Diff::LCS::Internals.lcs(seq1, seq2)
287
-
288
- run_finished_a = run_finished_b = false
289
- string = seq1.kind_of?(String)
290
-
291
- a_size = seq1.size
292
- b_size = seq2.size
293
- ai = bj = 0
294
-
295
- (0..matches.size).each do |i|
296
- b_line = matches[i]
297
-
298
- ax = string ? seq1[i, 1] : seq1[i]
299
- bx = string ? seq2[bj, 1] : seq2[bj]
300
-
301
- if b_line.nil?
302
- unless ax.nil? or (string and ax.empty?)
303
- event = Diff::LCS::ContextChange.new('-', i, ax, bj, bx)
304
- event = yield event if block_given?
305
- callbacks.discard_a(event)
306
- end
307
- else
308
- loop do
309
- break unless bj < b_line
310
-
311
- bx = string ? seq2[bj, 1] : seq2[bj]
312
- event = Diff::LCS::ContextChange.new('+', i, ax, bj, bx)
313
- event = yield event if block_given?
314
- callbacks.discard_b(event)
315
- bj += 1
316
- end
317
- bx = string ? seq2[bj, 1] : seq2[bj]
318
- event = Diff::LCS::ContextChange.new('=', i, ax, bj, bx)
319
- event = yield event if block_given?
320
- callbacks.match(event)
321
- bj += 1
322
- end
323
- ai = i
324
- end
325
- ai += 1
326
-
327
- # The last entry (if any) processed was a match. +ai+ and +bj+ point just
328
- # past the last matching lines in their sequences.
329
- while (ai < a_size) or (bj < b_size)
330
- # last A?
331
- if ai == a_size and bj < b_size
332
- if callbacks.respond_to?(:finished_a) and !run_finished_a
333
- ax = string ? seq1[-1, 1] : seq1[-1]
334
- bx = string ? seq2[bj, 1] : seq2[bj]
335
- event = Diff::LCS::ContextChange.new('>', (a_size - 1), ax, bj, bx)
336
- event = yield event if block_given?
337
- callbacks.finished_a(event)
338
- run_finished_a = true
339
- else
340
- ax = string ? seq1[ai, 1] : seq1[ai]
341
- loop do
342
- bx = string ? seq2[bj, 1] : seq2[bj]
343
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
344
- event = yield event if block_given?
345
- callbacks.discard_b(event)
346
- bj += 1
347
- break unless bj < b_size
348
- end
349
- end
350
- end
351
-
352
- # last B?
353
- if bj == b_size and ai < a_size
354
- if callbacks.respond_to?(:finished_b) and !run_finished_b
355
- ax = string ? seq1[ai, 1] : seq1[ai]
356
- bx = string ? seq2[-1, 1] : seq2[-1]
357
- event = Diff::LCS::ContextChange.new('<', ai, ax, (b_size - 1), bx)
358
- event = yield event if block_given?
359
- callbacks.finished_b(event)
360
- run_finished_b = true
361
- else
362
- bx = string ? seq2[bj, 1] : seq2[bj]
363
- loop do
364
- ax = string ? seq1[ai, 1] : seq1[ai]
365
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
366
- event = yield event if block_given?
367
- callbacks.discard_a(event)
368
- ai += 1
369
- break unless bj < b_size
370
- end
371
- end
372
- end
373
-
374
- if ai < a_size
375
- ax = string ? seq1[ai, 1] : seq1[ai]
376
- bx = string ? seq2[bj, 1] : seq2[bj]
377
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
378
- event = yield event if block_given?
379
- callbacks.discard_a(event)
380
- ai += 1
381
- end
382
-
383
- next unless bj < b_size
384
-
385
- ax = string ? seq1[ai, 1] : seq1[ai]
386
- bx = string ? seq2[bj, 1] : seq2[bj]
387
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
388
- event = yield event if block_given?
389
- callbacks.discard_b(event)
390
- bj += 1
391
- end
392
- end
393
-
394
- # #traverse_balanced is an alternative to #traverse_sequences. It uses a
395
- # different algorithm to iterate through the entries in the computed longest
396
- # common subsequence. Instead of viewing the changes as insertions or
397
- # deletions from one of the sequences, #traverse_balanced will report
398
- # <em>changes</em> between the sequences.
399
- #
400
- # The arguments to #traverse_balanced are the two sequences to traverse and a
401
- # callback object, like this:
402
- #
403
- # traverse_balanced(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
404
- #
405
- # #sdiff is implemented with #traverse_balanced.
406
- #
407
- # == Callback Methods
408
- #
409
- # Optional callback methods are <em>emphasized</em>.
410
- #
411
- # callbacks#match:: Called when +a+ and +b+ are pointing to
412
- # common elements in +A+ and +B+.
413
- # callbacks#discard_a:: Called when +a+ is pointing to an
414
- # element not in +B+.
415
- # callbacks#discard_b:: Called when +b+ is pointing to an
416
- # element not in +A+.
417
- # <em>callbacks#change</em>:: Called when +a+ and +b+ are pointing to
418
- # the same relative position, but
419
- # <tt>A[a]</tt> and <tt>B[b]</tt> are not
420
- # the same; a <em>change</em> has
421
- # occurred.
422
- #
423
- # #traverse_balanced might be a bit slower than #traverse_sequences,
424
- # noticable only while processing huge amounts of data.
425
- #
426
- # == Algorithm
427
- #
428
- # a---+
429
- # v
430
- # A = a b c e h j l m n p
431
- # B = b c d e f j k l m r s t
432
- # ^
433
- # b---+
434
- #
435
- # === Matches
436
- #
437
- # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+
438
- # and +B+, the arrows will initially point to the first elements of their
439
- # respective sequences. #traverse_sequences will advance the arrows through
440
- # the sequences one element at a time, calling a method on the user-specified
441
- # callback object before each advance. It will advance the arrows in such a
442
- # way that if there are elements <tt>A[i]</tt> and <tt>B[j]</tt> which are
443
- # both equal and part of the longest common subsequence, there will be some
444
- # moment during the execution of #traverse_sequences when arrow +a+ is
445
- # pointing to <tt>A[i]</tt> and arrow +b+ is pointing to <tt>B[j]</tt>. When
446
- # this happens, #traverse_sequences will call <tt>callbacks#match</tt> and
447
- # then it will advance both arrows.
448
- #
449
- # === Discards
450
- #
451
- # Otherwise, one of the arrows is pointing to an element of its sequence that
452
- # is not part of the longest common subsequence. #traverse_sequences will
453
- # advance that arrow and will call <tt>callbacks#discard_a</tt> or
454
- # <tt>callbacks#discard_b</tt>, depending on which arrow it advanced.
455
- #
456
- # === Changes
457
- #
458
- # If both +a+ and +b+ point to elements that are not part of the longest
459
- # common subsequence, then #traverse_sequences will try to call
460
- # <tt>callbacks#change</tt> and advance both arrows. If
461
- # <tt>callbacks#change</tt> is not implemented, then
462
- # <tt>callbacks#discard_a</tt> and <tt>callbacks#discard_b</tt> will be
463
- # called in turn.
464
- #
465
- # The methods for <tt>callbacks#match</tt>, <tt>callbacks#discard_a</tt>,
466
- # <tt>callbacks#discard_b</tt>, and <tt>callbacks#change</tt> are invoked
467
- # with an event comprising the action ("=", "+", "-", or "!", respectively),
468
- # the indicies +i+ and +j+, and the elements <tt>A[i]</tt> and <tt>B[j]</tt>.
469
- # Return values are discarded by #traverse_balanced.
470
- #
471
- # === Context
472
- #
473
- # Note that +i+ and +j+ may not be the same index position, even if +a+ and
474
- # +b+ are considered to be pointing to matching or changed elements.
475
- def traverse_balanced(seq1, seq2, callbacks = Diff::LCS::BalancedCallbacks)
476
- matches = Diff::LCS::Internals.lcs(seq1, seq2)
477
- a_size = seq1.size
478
- b_size = seq2.size
479
- ai = bj = mb = 0
480
- ma = -1
481
- string = seq1.kind_of?(String)
482
-
483
- # Process all the lines in the match vector.
484
- loop do
485
- # Find next match indices +ma+ and +mb+
486
- loop do
487
- ma += 1
488
- break unless ma < matches.size and matches[ma].nil?
489
- end
490
-
491
- break if ma >= matches.size # end of matches?
492
-
493
- mb = matches[ma]
494
-
495
- # Change(seq2)
496
- while (ai < ma) or (bj < mb)
497
- ax = string ? seq1[ai, 1] : seq1[ai]
498
- bx = string ? seq2[bj, 1] : seq2[bj]
499
-
500
- case [(ai < ma), (bj < mb)]
501
- when [true, true]
502
- if callbacks.respond_to?(:change)
503
- event = Diff::LCS::ContextChange.new('!', ai, ax, bj, bx)
504
- event = yield event if block_given?
505
- callbacks.change(event)
506
- ai += 1
507
- else
508
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
509
- event = yield event if block_given?
510
- callbacks.discard_a(event)
511
- ai += 1
512
- ax = string ? seq1[ai, 1] : seq1[ai]
513
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
514
- event = yield event if block_given?
515
- callbacks.discard_b(event)
516
- end
517
-
518
- bj += 1
519
- when [true, false]
520
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
521
- event = yield event if block_given?
522
- callbacks.discard_a(event)
523
- ai += 1
524
- when [false, true]
525
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
526
- event = yield event if block_given?
527
- callbacks.discard_b(event)
528
- bj += 1
529
- end
530
- end
531
-
532
- # Match
533
- ax = string ? seq1[ai, 1] : seq1[ai]
534
- bx = string ? seq2[bj, 1] : seq2[bj]
535
- event = Diff::LCS::ContextChange.new('=', ai, ax, bj, bx)
536
- event = yield event if block_given?
537
- callbacks.match(event)
538
- ai += 1
539
- bj += 1
540
- end
541
-
542
- while (ai < a_size) or (bj < b_size)
543
- ax = string ? seq1[ai, 1] : seq1[ai]
544
- bx = string ? seq2[bj, 1] : seq2[bj]
545
-
546
- case [(ai < a_size), (bj < b_size)]
547
- when [true, true]
548
- if callbacks.respond_to?(:change)
549
- event = Diff::LCS::ContextChange.new('!', ai, ax, bj, bx)
550
- event = yield event if block_given?
551
- callbacks.change(event)
552
- ai += 1
553
- else
554
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
555
- event = yield event if block_given?
556
- callbacks.discard_a(event)
557
- ai += 1
558
- ax = string ? seq1[ai, 1] : seq1[ai]
559
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
560
- event = yield event if block_given?
561
- callbacks.discard_b(event)
562
- end
563
-
564
- bj += 1
565
- when [true, false]
566
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
567
- event = yield event if block_given?
568
- callbacks.discard_a(event)
569
- ai += 1
570
- when [false, true]
571
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
572
- event = yield event if block_given?
573
- callbacks.discard_b(event)
574
- bj += 1
575
- end
576
- end
577
- end
578
-
579
- PATCH_MAP = { #:nodoc:
580
- :patch => { '+' => '+', '-' => '-', '!' => '!', '=' => '=' }.freeze,
581
- :unpatch => { '+' => '-', '-' => '+', '!' => '!', '=' => '=' }.freeze
582
- }.freeze
583
-
584
- # Applies a +patchset+ to the sequence +src+ according to the +direction+
585
- # (<tt>:patch</tt> or <tt>:unpatch</tt>), producing a new sequence.
586
- #
587
- # If the +direction+ is not specified, Diff::LCS::patch will attempt to
588
- # discover the direction of the +patchset+.
589
- #
590
- # A +patchset+ can be considered to apply forward (<tt>:patch</tt>) if the
591
- # following expression is true:
592
- #
593
- # patch(s1, diff(s1, s2)) -> s2
594
- #
595
- # A +patchset+ can be considered to apply backward (<tt>:unpatch</tt>) if the
596
- # following expression is true:
597
- #
598
- # patch(s2, diff(s1, s2)) -> s1
599
- #
600
- # If the +patchset+ contains no changes, the +src+ value will be returned as
601
- # either <tt>src.dup</tt> or +src+. A +patchset+ can be deemed as having no
602
- # changes if the following predicate returns true:
603
- #
604
- # patchset.empty? or
605
- # patchset.flatten(1).all? { |change| change.unchanged? }
606
- #
607
- # === Patchsets
608
- #
609
- # A +patchset+ is always an enumerable sequence of changes, hunks of changes,
610
- # or a mix of the two. A hunk of changes is an enumerable sequence of
611
- # changes:
612
- #
613
- # [ # patchset
614
- # # change
615
- # [ # hunk
616
- # # change
617
- # ]
618
- # ]
619
- #
620
- # The +patch+ method accepts <tt>patchset</tt>s that are enumerable sequences
621
- # containing either Diff::LCS::Change objects (or a subclass) or the array
622
- # representations of those objects. Prior to application, array
623
- # representations of Diff::LCS::Change objects will be reified.
624
- def patch(src, patchset, direction = nil)
625
- # Normalize the patchset.
626
- has_changes, patchset = Diff::LCS::Internals.analyze_patchset(patchset)
627
-
628
- return src.respond_to?(:dup) ? src.dup : src unless has_changes
629
-
630
- string = src.kind_of?(String)
631
- # Start with a new empty type of the source's class
632
- res = src.class.new
633
-
634
- direction ||= Diff::LCS::Internals.intuit_diff_direction(src, patchset)
635
-
636
- ai = bj = 0
637
-
638
- patch_map = PATCH_MAP[direction]
639
-
640
- patchset.each do |change|
641
- # Both Change and ContextChange support #action
642
- action = patch_map[change.action]
643
-
644
- case change
645
- when Diff::LCS::ContextChange
646
- case direction
647
- when :patch
648
- el = change.new_element
649
- op = change.old_position
650
- np = change.new_position
651
- when :unpatch
652
- el = change.old_element
653
- op = change.new_position
654
- np = change.old_position
655
- end
656
-
657
- case action
658
- when '-' # Remove details from the old string
659
- while ai < op
660
- res << (string ? src[ai, 1] : src[ai])
661
- ai += 1
662
- bj += 1
663
- end
664
- ai += 1
665
- when '+'
666
- while bj < np
667
- res << (string ? src[ai, 1] : src[ai])
668
- ai += 1
669
- bj += 1
670
- end
671
-
672
- res << el
673
- bj += 1
674
- when '='
675
- # This only appears in sdiff output with the SDiff callback.
676
- # Therefore, we only need to worry about dealing with a single
677
- # element.
678
- res << el
679
-
680
- ai += 1
681
- bj += 1
682
- when '!'
683
- while ai < op
684
- res << (string ? src[ai, 1] : src[ai])
685
- ai += 1
686
- bj += 1
687
- end
688
-
689
- bj += 1
690
- ai += 1
691
-
692
- res << el
693
- end
694
- when Diff::LCS::Change
695
- case action
696
- when '-'
697
- while ai < change.position
698
- res << (string ? src[ai, 1] : src[ai])
699
- ai += 1
700
- bj += 1
701
- end
702
- ai += 1
703
- when '+'
704
- while bj < change.position
705
- res << (string ? src[ai, 1] : src[ai])
706
- ai += 1
707
- bj += 1
708
- end
709
-
710
- bj += 1
711
-
712
- res << change.element
713
- end
714
- end
715
- end
716
-
717
- while ai < src.size
718
- res << (string ? src[ai, 1] : src[ai])
719
- ai += 1
720
- bj += 1
721
- end
722
-
723
- res
724
- end
725
-
726
- # Given a set of patchset, convert the current version to the prior version.
727
- # Does no auto-discovery.
728
- def unpatch!(src, patchset)
729
- patch(src, patchset, :unpatch)
730
- end
731
-
732
- # Given a set of patchset, convert the current version to the next version.
733
- # Does no auto-discovery.
734
- def patch!(src, patchset)
735
- patch(src, patchset, :patch)
736
- end
737
- end
738
-
739
- require 'diff/lcs/backports'