jscop 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.replit +1 -1
  4. data/.rubocop.yml +2 -1
  5. data/.stickler.yml +2 -1
  6. data/.travis.yml +7 -0
  7. data/Gemfile +2 -2
  8. data/README.md +49 -34
  9. data/bin/console +2 -2
  10. data/exe/jscop +1 -2
  11. data/jscop.gemspec +20 -23
  12. data/lib/helpers/lint_ware.rb +1 -1
  13. data/lib/jscop/version.rb +1 -1
  14. data/lib/jscop.rb +1 -1
  15. metadata +4 -467
  16. data/Gemfile.lock +0 -59
  17. data/vendor/cache/ruby/2.6.0/bin/htmldiff +0 -29
  18. data/vendor/cache/ruby/2.6.0/bin/ldiff +0 -29
  19. data/vendor/cache/ruby/2.6.0/bin/rake +0 -27
  20. data/vendor/cache/ruby/2.6.0/bin/rspec +0 -27
  21. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/CHANGELOG +0 -65
  22. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/LICENSE +0 -339
  23. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/README.md +0 -105
  24. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/Rakefile +0 -13
  25. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/colorize.gemspec +0 -36
  26. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorize/class_methods.rb +0 -120
  27. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorize/instance_methods.rb +0 -132
  28. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorize.rb +0 -12
  29. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorized_string.rb +0 -19
  30. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/test/test_colorize.rb +0 -164
  31. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/.rspec +0 -1
  32. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Code-of-Conduct.md +0 -74
  33. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Contributing.md +0 -83
  34. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/History.md +0 -220
  35. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/License.md +0 -39
  36. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Manifest.txt +0 -37
  37. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/README.rdoc +0 -84
  38. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Rakefile +0 -57
  39. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  40. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/bin/htmldiff +0 -32
  41. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/bin/ldiff +0 -6
  42. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/docs/COPYING.txt +0 -339
  43. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/docs/artistic.txt +0 -127
  44. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +0 -7
  45. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +0 -37
  46. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +0 -322
  47. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +0 -181
  48. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +0 -149
  49. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +0 -276
  50. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +0 -307
  51. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +0 -167
  52. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +0 -5
  53. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs.rb +0 -725
  54. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  55. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/change_spec.rb +0 -65
  56. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  57. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +0 -50
  58. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +0 -51
  59. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  60. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  61. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/lcs_spec.rb +0 -56
  62. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/ldiff_spec.rb +0 -47
  63. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/patch_spec.rb +0 -422
  64. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  65. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/spec_helper.rb +0 -321
  66. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  67. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +0 -139
  68. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/.autotest +0 -7
  69. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/.rubocop.yml +0 -27
  70. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/.togglerc +0 -7
  71. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/CONTRIBUTING.rdoc +0 -38
  72. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/History.rdoc +0 -659
  73. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/MIT-LICENSE +0 -21
  74. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/Manifest.txt +0 -166
  75. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/README.rdoc +0 -139
  76. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/Rakefile +0 -81
  77. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/bin/rake +0 -33
  78. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/command_line_usage.rdoc +0 -158
  79. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/Rakefile1 +0 -38
  80. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/Rakefile2 +0 -35
  81. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/a.c +0 -6
  82. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/b.c +0 -6
  83. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/main.c +0 -11
  84. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/glossary.rdoc +0 -42
  85. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/jamis.rb +0 -591
  86. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/proto_rake.rdoc +0 -127
  87. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/rake.1 +0 -141
  88. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/rakefile.rdoc +0 -624
  89. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/rational.rdoc +0 -151
  90. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +0 -23
  91. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +0 -35
  92. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +0 -53
  93. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +0 -78
  94. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +0 -46
  95. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +0 -141
  96. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +0 -119
  97. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +0 -59
  98. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +0 -121
  99. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +0 -47
  100. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +0 -114
  101. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +0 -165
  102. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +0 -112
  103. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +0 -147
  104. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +0 -53
  105. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +0 -37
  106. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +0 -55
  107. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +0 -112
  108. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +0 -52
  109. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  110. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +0 -49
  111. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +0 -102
  112. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +0 -60
  113. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +0 -55
  114. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +0 -64
  115. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +0 -178
  116. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +0 -58
  117. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +0 -53
  118. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +0 -191
  119. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +0 -61
  120. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/alt_system.rb +0 -110
  121. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/application.rb +0 -790
  122. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/backtrace.rb +0 -23
  123. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/clean.rb +0 -76
  124. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/cloneable.rb +0 -16
  125. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/.document +0 -1
  126. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +0 -21
  127. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +0 -137
  128. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +0 -81
  129. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  130. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +0 -61
  131. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb +0 -4
  132. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb +0 -125
  133. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/default_loader.rb +0 -14
  134. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb +0 -201
  135. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/early_time.rb +0 -21
  136. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/core.rb +0 -25
  137. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/module.rb +0 -2
  138. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb +0 -25
  139. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/string.rb +0 -175
  140. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/time.rb +0 -18
  141. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb +0 -24
  142. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_list.rb +0 -428
  143. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_task.rb +0 -46
  144. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_utils.rb +0 -128
  145. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +0 -144
  146. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb +0 -4
  147. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb +0 -56
  148. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +0 -16
  149. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/late_time.rb +0 -17
  150. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/linked_list.rb +0 -103
  151. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +0 -53
  152. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/multi_task.rb +0 -13
  153. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/name_space.rb +0 -38
  154. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/packagetask.rb +0 -199
  155. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/pathmap.rb +0 -3
  156. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/phony.rb +0 -15
  157. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/private_reader.rb +0 -20
  158. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/promise.rb +0 -99
  159. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb +0 -29
  160. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rake_module.rb +0 -38
  161. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +0 -22
  162. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rdoctask.rb +0 -4
  163. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +0 -29
  164. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +0 -20
  165. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/runtest.rb +0 -27
  166. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/scope.rb +0 -42
  167. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task.rb +0 -383
  168. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb +0 -7
  169. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_arguments.rb +0 -98
  170. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_manager.rb +0 -307
  171. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/tasklib.rb +0 -24
  172. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/testtask.rb +0 -213
  173. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb +0 -48
  174. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/thread_pool.rb +0 -164
  175. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/trace_output.rb +0 -22
  176. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/version.rb +0 -7
  177. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/win32.rb +0 -56
  178. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake.rb +0 -79
  179. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/rakelib/publish.rake +0 -20
  180. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/rakelib/test_times.rake +0 -25
  181. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/file_creation.rb +0 -34
  182. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/helper.rb +0 -129
  183. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb +0 -478
  184. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/support/ruby_runner.rb +0 -34
  185. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_private_reader.rb +0 -42
  186. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake.rb +0 -40
  187. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_application.rb +0 -643
  188. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_application_options.rb +0 -468
  189. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_backtrace.rb +0 -119
  190. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_clean.rb +0 -61
  191. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +0 -68
  192. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_definitions.rb +0 -84
  193. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_directory_task.rb +0 -76
  194. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_dsl.rb +0 -40
  195. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_early_time.rb +0 -31
  196. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_extension.rb +0 -59
  197. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +0 -56
  198. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_list.rb +0 -670
  199. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +0 -8
  200. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_task.rb +0 -197
  201. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_utils.rb +0 -314
  202. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb +0 -74
  203. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_functional.rb +0 -482
  204. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +0 -64
  205. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_late_time.rb +0 -18
  206. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_linked_list.rb +0 -84
  207. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +0 -46
  208. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_multi_task.rb +0 -64
  209. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_name_space.rb +0 -57
  210. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_package_task.rb +0 -79
  211. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map.rb +0 -168
  212. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +0 -34
  213. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +0 -18
  214. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +0 -15
  215. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +0 -21
  216. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +0 -20
  217. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +0 -26
  218. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_require.rb +0 -40
  219. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_rules.rb +0 -388
  220. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_scope.rb +0 -44
  221. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task.rb +0 -393
  222. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +0 -119
  223. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb +0 -127
  224. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_lib.rb +0 -9
  225. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_manager.rb +0 -178
  226. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +0 -19
  227. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +0 -172
  228. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_test_task.rb +0 -146
  229. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb +0 -145
  230. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +0 -71
  231. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_win32.rb +0 -72
  232. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_thread_history_display.rb +0 -101
  233. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_trace_output.rb +0 -52
  234. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/LICENSE.md +0 -27
  235. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/README.md +0 -43
  236. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/lib/rspec/version.rb +0 -5
  237. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/lib/rspec.rb +0 -3
  238. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/.document +0 -5
  239. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/.yardopts +0 -8
  240. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/Changelog.md +0 -2274
  241. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/LICENSE.md +0 -26
  242. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/README.md +0 -384
  243. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec +0 -4
  244. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/autorun.rb +0 -3
  245. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/backtrace_formatter.rb +0 -65
  246. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/coordinator.rb +0 -62
  247. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/example_minimizer.rb +0 -173
  248. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/fork_runner.rb +0 -135
  249. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/server.rb +0 -61
  250. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_command.rb +0 -126
  251. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_runner.rb +0 -73
  252. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/utilities.rb +0 -58
  253. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb +0 -2336
  254. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration_options.rb +0 -233
  255. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/did_you_mean.rb +0 -46
  256. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/drb.rb +0 -113
  257. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/dsl.rb +0 -98
  258. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb +0 -656
  259. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb +0 -889
  260. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_status_persister.rb +0 -235
  261. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/filter_manager.rb +0 -231
  262. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/flat_map.rb +0 -20
  263. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -45
  264. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_formatter.rb +0 -70
  265. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  266. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -29
  267. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -157
  268. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/console_codes.rb +0 -68
  269. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  270. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/documentation_formatter.rb +0 -102
  271. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/exception_presenter.rb +0 -508
  272. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/failure_list_formatter.rb +0 -23
  273. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  274. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/helpers.rb +0 -110
  275. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_formatter.rb +0 -153
  276. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_printer.rb +0 -414
  277. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -120
  278. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/json_formatter.rb +0 -102
  279. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  280. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  281. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/protocol.rb +0 -182
  282. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  283. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  284. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters.rb +0 -272
  285. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb +0 -632
  286. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/invocations.rb +0 -87
  287. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/memoized_helpers.rb +0 -554
  288. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb +0 -498
  289. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata_filter.rb +0 -255
  290. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  291. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  292. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  293. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/null.rb +0 -14
  294. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  295. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  296. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/notifications.rb +0 -521
  297. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/option_parser.rb +0 -316
  298. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/ordering.rb +0 -158
  299. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/output_wrapper.rb +0 -29
  300. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/pending.rb +0 -165
  301. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/profiler.rb +0 -34
  302. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/.rspec +0 -1
  303. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  304. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer.rb +0 -48
  305. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/rake_task.rb +0 -188
  306. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb +0 -265
  307. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/ruby_project.rb +0 -53
  308. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb +0 -204
  309. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/sandbox.rb +0 -37
  310. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/set.rb +0 -54
  311. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_context.rb +0 -55
  312. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb +0 -269
  313. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/shell_escape.rb +0 -49
  314. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  315. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/version.rb +0 -9
  316. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/warnings.rb +0 -40
  317. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/world.rb +0 -275
  318. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core.rb +0 -186
  319. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/.document +0 -5
  320. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/.yardopts +0 -6
  321. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/Changelog.md +0 -1178
  322. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/LICENSE.md +0 -25
  323. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/README.md +0 -320
  324. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  325. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/configuration.rb +0 -215
  326. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb +0 -127
  327. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb +0 -39
  328. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/failure_aggregator.rb +0 -194
  329. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb +0 -170
  330. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/minitest_integration.rb +0 -58
  331. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/syntax.rb +0 -132
  332. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/version.rb +0 -8
  333. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations.rb +0 -82
  334. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/aliased_matcher.rb +0 -116
  335. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/all.rb +0 -86
  336. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  337. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be.rb +0 -288
  338. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_between.rb +0 -77
  339. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_instance_of.rb +0 -26
  340. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_kind_of.rb +0 -20
  341. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_within.rb +0 -72
  342. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/change.rb +0 -428
  343. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/compound.rb +0 -276
  344. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/contain_exactly.rb +0 -302
  345. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/cover.rb +0 -24
  346. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/eq.rb +0 -40
  347. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/eql.rb +0 -34
  348. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/equal.rb +0 -81
  349. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/exist.rb +0 -90
  350. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/has.rb +0 -103
  351. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  352. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/include.rb +0 -149
  353. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/match.rb +0 -106
  354. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/operators.rb +0 -128
  355. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/output.rb +0 -200
  356. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  357. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/respond_to.rb +0 -199
  358. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  359. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  360. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  361. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/yield.rb +0 -432
  362. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in.rb +0 -52
  363. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/composable.rb +0 -171
  364. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/dsl.rb +0 -534
  365. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/english_phrasing.rb +0 -58
  366. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -82
  367. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/fail_matchers.rb +0 -42
  368. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/generated_descriptions.rb +0 -41
  369. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/matcher_delegator.rb +0 -35
  370. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/matcher_protocol.rb +0 -99
  371. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers.rb +0 -1038
  372. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/.document +0 -5
  373. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/.yardopts +0 -6
  374. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/Changelog.md +0 -1133
  375. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/LICENSE.md +0 -25
  376. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/README.md +0 -463
  377. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +0 -111
  378. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  379. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  380. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  381. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  382. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  383. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +0 -294
  384. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  385. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  386. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +0 -11
  387. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  388. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +0 -322
  389. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +0 -212
  390. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +0 -369
  391. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +0 -434
  392. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  393. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +0 -41
  394. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  395. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +0 -134
  396. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +0 -132
  397. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  398. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  399. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +0 -87
  400. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +0 -751
  401. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +0 -287
  402. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +0 -202
  403. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +0 -68
  404. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +0 -339
  405. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +0 -149
  406. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +0 -81
  407. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +0 -503
  408. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +0 -238
  409. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +0 -3
  410. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +0 -325
  411. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +0 -124
  412. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +0 -171
  413. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +0 -129
  414. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  415. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +0 -220
  416. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +0 -9
  417. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +0 -130
  418. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/Changelog.md +0 -292
  419. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/LICENSE.md +0 -23
  420. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/README.md +0 -40
  421. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/caller_filter.rb +0 -83
  422. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/comparable_version.rb +0 -46
  423. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/differ.rb +0 -215
  424. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/directory_maker.rb +0 -63
  425. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/encoded_string.rb +0 -161
  426. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/fuzzy_matcher.rb +0 -48
  427. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/hunk_generator.rb +0 -47
  428. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/matcher_definition.rb +0 -42
  429. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/method_signature_verifier.rb +0 -438
  430. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/mutex.rb +0 -73
  431. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/object_formatter.rb +0 -275
  432. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/recursive_const_methods.rb +0 -76
  433. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/reentrant_mutex.rb +0 -53
  434. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/ruby_features.rb +0 -185
  435. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source/location.rb +0 -21
  436. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source/node.rb +0 -110
  437. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source/token.rb +0 -87
  438. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source.rb +0 -75
  439. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  440. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/formatting_support.rb +0 -9
  441. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/in_sub_process.rb +0 -69
  442. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  443. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/shell_out.rb +0 -89
  444. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/stderr_splitter.rb +0 -67
  445. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/string_matcher.rb +0 -46
  446. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  447. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  448. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec.rb +0 -81
  449. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/version.rb +0 -7
  450. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/warnings.rb +0 -39
  451. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb +0 -149
  452. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/CHANGELOG.md +0 -42
  453. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/LICENSE.txt +0 -21
  454. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/README.md +0 -117
  455. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/3d.md +0 -33
  456. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/block.md +0 -34
  457. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/doom.md +0 -30
  458. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/standard.md +0 -27
  459. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/starwars.md +0 -28
  460. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/straight.md +0 -20
  461. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/font/result.rb +0 -33
  462. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/font/version.rb +0 -7
  463. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/font.rb +0 -88
  464. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/3d.yml +0 -1040
  465. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/block.yml +0 -906
  466. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/doom.yml +0 -916
  467. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/standard.yml +0 -769
  468. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/starwars.yml +0 -862
  469. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/straight.yml +0 -570
  470. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty-font.rb +0 -1
  471. data/vendor/cache/ruby/2.6.0/specifications/colorize-0.8.1.gemspec +0 -38
  472. data/vendor/cache/ruby/2.6.0/specifications/diff-lcs-1.3.gemspec +0 -61
  473. data/vendor/cache/ruby/2.6.0/specifications/rake-10.5.0.gemspec +0 -43
  474. data/vendor/cache/ruby/2.6.0/specifications/rspec-3.9.0.gemspec +0 -43
  475. data/vendor/cache/ruby/2.6.0/specifications/rspec-core-3.9.1.gemspec +0 -63
  476. data/vendor/cache/ruby/2.6.0/specifications/rspec-expectations-3.9.1.gemspec +0 -51
  477. data/vendor/cache/ruby/2.6.0/specifications/rspec-mocks-3.9.1.gemspec +0 -51
  478. data/vendor/cache/ruby/2.6.0/specifications/rspec-support-3.9.2.gemspec +0 -39
  479. data/vendor/cache/ruby/2.6.0/specifications/tty-font-0.5.0.gemspec +0 -42
@@ -1,725 +0,0 @@
1
- # -*- ruby encoding: utf-8 -*-
2
-
3
- module Diff; end unless defined? Diff
4
- # == How Diff Works (by Mark-Jason Dominus)
5
- #
6
- # I once read an article written by the authors of +diff+; they said that
7
- # they hard worked very hard on the algorithm until they found the right
8
- # one.
9
- #
10
- # I think what they ended up using (and I hope someone will correct me,
11
- # because I am not very confident about this) was the `longest common
12
- # subsequence' 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
20
- # some items, and from the second sequence by deleting other items. You also
21
- # want *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
34
- # always pretty obvious, but that's not always the case, especially when the
35
- # two 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
47
- # b 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.3'
53
- end
54
-
55
- require 'diff/lcs/callbacks'
56
- require 'diff/lcs/internals'
57
-
58
- module Diff::LCS
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
- def lcs(other, &block) #:yields self[i] if there are matched subsequences:
64
- Diff::LCS.lcs(self, other, &block)
65
- end
66
-
67
- # Returns the difference set between +self+ and +other+. See
68
- # Diff::LCS#diff.
69
- def diff(other, callbacks = nil, &block)
70
- Diff::LCS.diff(self, other, callbacks, &block)
71
- end
72
-
73
- # Returns the balanced ("side-by-side") difference set between +self+ and
74
- # +other+. See Diff::LCS#sdiff.
75
- def sdiff(other, callbacks = nil, &block)
76
- Diff::LCS.sdiff(self, other, callbacks, &block)
77
- end
78
-
79
- # Traverses the discovered longest common subsequences between +self+ and
80
- # +other+. See Diff::LCS#traverse_sequences.
81
- def traverse_sequences(other, callbacks = nil, &block)
82
- traverse_sequences(self, other, callbacks ||
83
- Diff::LCS.YieldingCallbacks, &block)
84
- end
85
-
86
- # Traverses the discovered longest common subsequences between +self+ and
87
- # +other+ using the alternate, balanced algorithm. See
88
- # Diff::LCS#traverse_balanced.
89
- def traverse_balanced(other, callbacks = nil, &block)
90
- traverse_balanced(self, other, callbacks ||
91
- Diff::LCS.YieldingCallbacks, &block)
92
- end
93
-
94
- # Attempts to patch +self+ with the provided +patchset+. A new sequence
95
- # based on +self+ and the +patchset+ will be created. See Diff::LCS#patch.
96
- # Attempts to autodiscover the direction of the patch.
97
- def patch(patchset)
98
- Diff::LCS.patch(self, patchset)
99
- end
100
- alias_method :unpatch, :patch
101
-
102
- # Attempts to patch +self+ with the provided +patchset+. A new sequence
103
- # based on +self+ and the +patchset+ will be created. See Diff::LCS#patch.
104
- # Does no patch direction autodiscovery.
105
- def patch!(patchset)
106
- Diff::LCS.patch!(self, patchset)
107
- end
108
-
109
- # Attempts to unpatch +self+ with the provided +patchset+. A new sequence
110
- # based on +self+ and the +patchset+ will be created. See Diff::LCS#unpatch.
111
- # Does no patch direction autodiscovery.
112
- def unpatch!(patchset)
113
- Diff::LCS.unpatch!(self, patchset)
114
- end
115
-
116
- # Attempts to patch +self+ with the provided +patchset+, using #patch!. If
117
- # the sequence this is used on supports #replace, the value of +self+ will
118
- # be replaced. See Diff::LCS#patch. Does no patch direction autodiscovery.
119
- def patch_me(patchset)
120
- if respond_to? :replace
121
- replace(patch!(patchset))
122
- else
123
- patch!(patchset)
124
- end
125
- end
126
-
127
- # Attempts to unpatch +self+ with the provided +patchset+, using
128
- # #unpatch!. If the sequence this is used on supports #replace, the value
129
- # of +self+ will be replaced. See Diff::LCS#unpatch. Does no patch direction
130
- # autodiscovery.
131
- def unpatch_me(patchset)
132
- if respond_to? :replace
133
- replace(unpatch!(patchset))
134
- else
135
- unpatch!(patchset)
136
- end
137
- end
138
- end
139
-
140
- class << Diff::LCS
141
- def lcs(seq1, seq2, &block) #:yields seq1[i] for each matched:
142
- matches = Diff::LCS::Internals.lcs(seq1, seq2)
143
- ret = []
144
- string = seq1.kind_of? String
145
- matches.each_with_index do |e, i|
146
- unless matches[i].nil?
147
- v = string ? seq1[i, 1] : seq1[i]
148
- v = block[v] if block
149
- ret << v
150
- end
151
- end
152
- ret
153
- end
154
- alias_method :LCS, :lcs
155
-
156
- # #diff computes the smallest set of additions and deletions necessary to
157
- # turn the first sequence into the second, and returns a description of
158
- # these changes.
159
- #
160
- # See Diff::LCS::DiffCallbacks for the default behaviour. An alternate
161
- # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
162
- # Class argument is provided for +callbacks+, #diff will attempt to
163
- # initialise it. If the +callbacks+ object (possibly initialised) responds
164
- # to #finish, it will be called.
165
- def diff(seq1, seq2, callbacks = nil, &block) # :yields diff changes:
166
- diff_traversal(:diff, seq1, seq2, callbacks || Diff::LCS::DiffCallbacks,
167
- &block)
168
- end
169
-
170
- # #sdiff computes all necessary components to show two sequences and their
171
- # minimized differences side by side, just like the Unix utility
172
- # <em>sdiff</em> does:
173
- #
174
- # old < -
175
- # same same
176
- # before | after
177
- # - > new
178
- #
179
- # See Diff::LCS::SDiffCallbacks for the default behaviour. An alternate
180
- # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
181
- # Class argument is provided for +callbacks+, #diff will attempt to
182
- # initialise it. If the +callbacks+ object (possibly initialised) responds
183
- # to #finish, it will be called.
184
- def sdiff(seq1, seq2, callbacks = nil, &block) #:yields diff changes:
185
- diff_traversal(:sdiff, seq1, seq2, callbacks || Diff::LCS::SDiffCallbacks,
186
- &block)
187
- end
188
-
189
- # #traverse_sequences is the most general facility provided by this
190
- # module; #diff and #lcs are implemented as calls to it.
191
- #
192
- # The arguments to #traverse_sequences are the two sequences to traverse,
193
- # and a callback object, like this:
194
- #
195
- # traverse_sequences(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
196
- #
197
- # == Callback Methods
198
- #
199
- # Optional callback methods are <em>emphasized</em>.
200
- #
201
- # callbacks#match:: Called when +a+ and +b+ are pointing to
202
- # common elements in +A+ and +B+.
203
- # callbacks#discard_a:: Called when +a+ is pointing to an
204
- # element not in +B+.
205
- # callbacks#discard_b:: Called when +b+ is pointing to an
206
- # element not in +A+.
207
- # <em>callbacks#finished_a</em>:: Called when +a+ has reached the end of
208
- # sequence +A+.
209
- # <em>callbacks#finished_b</em>:: Called when +b+ has reached the end of
210
- # sequence +B+.
211
- #
212
- # == Algorithm
213
- #
214
- # a---+
215
- # v
216
- # A = a b c e h j l m n p
217
- # B = b c d e f j k l m r s t
218
- # ^
219
- # b---+
220
- #
221
- # If there are two arrows (+a+ and +b+) pointing to elements of sequences
222
- # +A+ and +B+, the arrows will initially point to the first elements of
223
- # their respective sequences. #traverse_sequences will advance the arrows
224
- # through the sequences one element at a time, calling a method on the
225
- # user-specified callback object before each advance. It will advance the
226
- # arrows in such a way that if there are elements <tt>A[i]</tt> and
227
- # <tt>B[j]</tt> which are both equal and part of the longest common
228
- # subsequence, there will be some moment during the execution of
229
- # #traverse_sequences when arrow +a+ is pointing to <tt>A[i]</tt> and
230
- # arrow +b+ is pointing to <tt>B[j]</tt>. When this happens,
231
- # #traverse_sequences will call <tt>callbacks#match</tt> and then it will
232
- # advance both arrows.
233
- #
234
- # Otherwise, one of the arrows is pointing to an element of its sequence
235
- # that is not part of the longest common subsequence. #traverse_sequences
236
- # will advance that arrow and will call <tt>callbacks#discard_a</tt> or
237
- # <tt>callbacks#discard_b</tt>, depending on which arrow it advanced. If
238
- # both arrows point to elements that are not part of the longest common
239
- # subsequence, then #traverse_sequences will advance one of them and call
240
- # the appropriate callback, but it is not specified which it will call.
241
- #
242
- # The methods for <tt>callbacks#match</tt>, <tt>callbacks#discard_a</tt>,
243
- # and <tt>callbacks#discard_b</tt> are invoked with an event comprising
244
- # the action ("=", "+", or "-", respectively), the indicies +i+ and +j+,
245
- # and the elements <tt>A[i]</tt> and <tt>B[j]</tt>. Return values are
246
- # discarded by #traverse_sequences.
247
- #
248
- # === End of Sequences
249
- #
250
- # If arrow +a+ reaches the end of its sequence before arrow +b+ does,
251
- # #traverse_sequence will try to call <tt>callbacks#finished_a</tt> with
252
- # the last index and element of +A+ (<tt>A[-1]</tt>) and the current index
253
- # and element of +B+ (<tt>B[j]</tt>). If <tt>callbacks#finished_a</tt>
254
- # does not exist, then <tt>callbacks#discard_b</tt> will be called on each
255
- # element of +B+ until the end of the sequence is reached (the call will
256
- # be done with <tt>A[-1]</tt> and <tt>B[j]</tt> for each element).
257
- #
258
- # If +b+ reaches the end of +B+ before +a+ reaches the end of +A+,
259
- # <tt>callbacks#finished_b</tt> will be called with the current index and
260
- # element of +A+ (<tt>A[i]</tt>) and the last index and element of +B+
261
- # (<tt>A[-1]</tt>). Again, if <tt>callbacks#finished_b</tt> does not exist
262
- # on the callback object, then <tt>callbacks#discard_a</tt> will be called
263
- # on each element of +A+ until the end of the sequence is reached
264
- # (<tt>A[i]</tt> and <tt>B[-1]</tt>).
265
- #
266
- # There is a chance that one additional <tt>callbacks#discard_a</tt> or
267
- # <tt>callbacks#discard_b</tt> will be called after the end of the
268
- # sequence is reached, if +a+ has not yet reached the end of +A+ or +b+
269
- # has not yet reached the end of +B+.
270
- def traverse_sequences(seq1, seq2, callbacks = Diff::LCS::SequenceCallbacks, &block) #:yields change events:
271
- callbacks ||= Diff::LCS::SequenceCallbacks
272
- matches = Diff::LCS::Internals.lcs(seq1, seq2)
273
-
274
- run_finished_a = run_finished_b = false
275
- string = seq1.kind_of?(String)
276
-
277
- a_size = seq1.size
278
- b_size = seq2.size
279
- ai = bj = 0
280
-
281
- (0..matches.size).each do |i|
282
- b_line = matches[i]
283
-
284
- ax = string ? seq1[i, 1] : seq1[i]
285
- bx = string ? seq2[bj, 1] : seq2[bj]
286
-
287
- if b_line.nil?
288
- unless ax.nil? or (string and ax.empty?)
289
- event = Diff::LCS::ContextChange.new('-', i, ax, bj, bx)
290
- event = yield event if block_given?
291
- callbacks.discard_a(event)
292
- end
293
- else
294
- loop do
295
- break unless bj < b_line
296
- bx = string ? seq2[bj, 1] : seq2[bj]
297
- event = Diff::LCS::ContextChange.new('+', i, ax, bj, bx)
298
- event = yield event if block_given?
299
- callbacks.discard_b(event)
300
- bj += 1
301
- end
302
- bx = string ? seq2[bj, 1] : seq2[bj]
303
- event = Diff::LCS::ContextChange.new('=', i, ax, bj, bx)
304
- event = yield event if block_given?
305
- callbacks.match(event)
306
- bj += 1
307
- end
308
- ai = i
309
- end
310
- ai += 1
311
-
312
- # The last entry (if any) processed was a match. +ai+ and +bj+ point
313
- # just past the last matching lines in their sequences.
314
- while (ai < a_size) or (bj < b_size)
315
- # last A?
316
- if ai == a_size and bj < b_size
317
- if callbacks.respond_to?(:finished_a) and not run_finished_a
318
- ax = string ? seq1[-1, 1] : seq1[-1]
319
- bx = string ? seq2[bj, 1] : seq2[bj]
320
- event = Diff::LCS::ContextChange.new('>', (a_size - 1), ax, bj, bx)
321
- event = yield event if block_given?
322
- callbacks.finished_a(event)
323
- run_finished_a = true
324
- else
325
- ax = string ? seq1[ai, 1] : seq1[ai]
326
- loop do
327
- bx = string ? seq2[bj, 1] : seq2[bj]
328
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
329
- event = yield event if block_given?
330
- callbacks.discard_b(event)
331
- bj += 1
332
- break unless bj < b_size
333
- end
334
- end
335
- end
336
-
337
- # last B?
338
- if bj == b_size and ai < a_size
339
- if callbacks.respond_to?(:finished_b) and not run_finished_b
340
- ax = string ? seq1[ai, 1] : seq1[ai]
341
- bx = string ? seq2[-1, 1] : seq2[-1]
342
- event = Diff::LCS::ContextChange.new('<', ai, ax, (b_size - 1), bx)
343
- event = yield event if block_given?
344
- callbacks.finished_b(event)
345
- run_finished_b = true
346
- else
347
- bx = string ? seq2[bj, 1] : seq2[bj]
348
- loop do
349
- ax = string ? seq1[ai, 1] : seq1[ai]
350
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
351
- event = yield event if block_given?
352
- callbacks.discard_a(event)
353
- ai += 1
354
- break unless bj < b_size
355
- end
356
- end
357
- end
358
-
359
- if ai < a_size
360
- ax = string ? seq1[ai, 1] : seq1[ai]
361
- bx = string ? seq2[bj, 1] : seq2[bj]
362
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
363
- event = yield event if block_given?
364
- callbacks.discard_a(event)
365
- ai += 1
366
- end
367
-
368
- if bj < b_size
369
- ax = string ? seq1[ai, 1] : seq1[ai]
370
- bx = string ? seq2[bj, 1] : seq2[bj]
371
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
372
- event = yield event if block_given?
373
- callbacks.discard_b(event)
374
- bj += 1
375
- end
376
- end
377
- end
378
-
379
- # #traverse_balanced is an alternative to #traverse_sequences. It uses a
380
- # different algorithm to iterate through the entries in the computed
381
- # longest common subsequence. Instead of viewing the changes as insertions
382
- # or deletions from one of the sequences, #traverse_balanced will report
383
- # <em>changes</em> between the sequences.
384
- #
385
- # The arguments to #traverse_balanced are the two sequences to traverse
386
- # and a callback object, like this:
387
- #
388
- # traverse_balanced(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
389
- #
390
- # #sdiff is implemented with #traverse_balanced.
391
- #
392
- # == Callback Methods
393
- #
394
- # Optional callback methods are <em>emphasized</em>.
395
- #
396
- # callbacks#match:: Called when +a+ and +b+ are pointing to
397
- # common elements in +A+ and +B+.
398
- # callbacks#discard_a:: Called when +a+ is pointing to an
399
- # element not in +B+.
400
- # callbacks#discard_b:: Called when +b+ is pointing to an
401
- # element not in +A+.
402
- # <em>callbacks#change</em>:: Called when +a+ and +b+ are pointing to
403
- # the same relative position, but
404
- # <tt>A[a]</tt> and <tt>B[b]</tt> are not
405
- # the same; a <em>change</em> has
406
- # occurred.
407
- #
408
- # #traverse_balanced might be a bit slower than #traverse_sequences,
409
- # noticable only while processing huge amounts of data.
410
- #
411
- # == Algorithm
412
- #
413
- # a---+
414
- # v
415
- # A = a b c e h j l m n p
416
- # B = b c d e f j k l m r s t
417
- # ^
418
- # b---+
419
- #
420
- # === Matches
421
- #
422
- # If there are two arrows (+a+ and +b+) pointing to elements of sequences
423
- # +A+ and +B+, the arrows will initially point to the first elements of
424
- # their respective sequences. #traverse_sequences will advance the arrows
425
- # through the sequences one element at a time, calling a method on the
426
- # user-specified callback object before each advance. It will advance the
427
- # arrows in such a way that if there are elements <tt>A[i]</tt> and
428
- # <tt>B[j]</tt> which are both equal and part of the longest common
429
- # subsequence, there will be some moment during the execution of
430
- # #traverse_sequences when arrow +a+ is pointing to <tt>A[i]</tt> and
431
- # arrow +b+ is pointing to <tt>B[j]</tt>. When this happens,
432
- # #traverse_sequences will call <tt>callbacks#match</tt> and then it will
433
- # advance both arrows.
434
- #
435
- # === Discards
436
- #
437
- # Otherwise, one of the arrows is pointing to an element of its sequence
438
- # that is not part of the longest common subsequence. #traverse_sequences
439
- # will advance that arrow and will call <tt>callbacks#discard_a</tt> or
440
- # <tt>callbacks#discard_b</tt>, depending on which arrow it advanced.
441
- #
442
- # === Changes
443
- #
444
- # If both +a+ and +b+ point to elements that are not part of the longest
445
- # common subsequence, then #traverse_sequences will try to call
446
- # <tt>callbacks#change</tt> and advance both arrows. If
447
- # <tt>callbacks#change</tt> is not implemented, then
448
- # <tt>callbacks#discard_a</tt> and <tt>callbacks#discard_b</tt> will be
449
- # called in turn.
450
- #
451
- # The methods for <tt>callbacks#match</tt>, <tt>callbacks#discard_a</tt>,
452
- # <tt>callbacks#discard_b</tt>, and <tt>callbacks#change</tt> are invoked
453
- # with an event comprising the action ("=", "+", "-", or "!",
454
- # respectively), the indicies +i+ and +j+, and the elements
455
- # <tt>A[i]</tt> and <tt>B[j]</tt>. Return values are discarded by
456
- # #traverse_balanced.
457
- #
458
- # === Context
459
- # Note that +i+ and +j+ may not be the same index position, even if +a+
460
- # and +b+ are considered to be pointing to matching or changed elements.
461
- def traverse_balanced(seq1, seq2, callbacks = Diff::LCS::BalancedCallbacks)
462
- matches = Diff::LCS::Internals.lcs(seq1, seq2)
463
- a_size = seq1.size
464
- b_size = seq2.size
465
- ai = bj = mb = 0
466
- ma = -1
467
- string = seq1.kind_of?(String)
468
-
469
- # Process all the lines in the match vector.
470
- loop do
471
- # Find next match indices +ma+ and +mb+
472
- loop do
473
- ma += 1
474
- break unless ma < matches.size and matches[ma].nil?
475
- end
476
-
477
- break if ma >= matches.size # end of matches?
478
- mb = matches[ma]
479
-
480
- # Change(seq2)
481
- while (ai < ma) or (bj < mb)
482
- ax = string ? seq1[ai, 1] : seq1[ai]
483
- bx = string ? seq2[bj, 1] : seq2[bj]
484
-
485
- case [(ai < ma), (bj < mb)]
486
- when [true, true]
487
- if callbacks.respond_to?(:change)
488
- event = Diff::LCS::ContextChange.new('!', ai, ax, bj, bx)
489
- event = yield event if block_given?
490
- callbacks.change(event)
491
- ai += 1
492
- bj += 1
493
- else
494
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
495
- event = yield event if block_given?
496
- callbacks.discard_a(event)
497
- ai += 1
498
- ax = string ? seq1[ai, 1] : seq1[ai]
499
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
500
- event = yield event if block_given?
501
- callbacks.discard_b(event)
502
- bj += 1
503
- end
504
- when [true, false]
505
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
506
- event = yield event if block_given?
507
- callbacks.discard_a(event)
508
- ai += 1
509
- when [false, true]
510
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
511
- event = yield event if block_given?
512
- callbacks.discard_b(event)
513
- bj += 1
514
- end
515
- end
516
-
517
- # Match
518
- ax = string ? seq1[ai, 1] : seq1[ai]
519
- bx = string ? seq2[bj, 1] : seq2[bj]
520
- event = Diff::LCS::ContextChange.new('=', ai, ax, bj, bx)
521
- event = yield event if block_given?
522
- callbacks.match(event)
523
- ai += 1
524
- bj += 1
525
- end
526
-
527
- while (ai < a_size) or (bj < b_size)
528
- ax = string ? seq1[ai, 1] : seq1[ai]
529
- bx = string ? seq2[bj, 1] : seq2[bj]
530
-
531
- case [(ai < a_size), (bj < b_size)]
532
- when [true, true]
533
- if callbacks.respond_to?(:change)
534
- event = Diff::LCS::ContextChange.new('!', ai, ax, bj, bx)
535
- event = yield event if block_given?
536
- callbacks.change(event)
537
- ai += 1
538
- bj += 1
539
- else
540
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
541
- event = yield event if block_given?
542
- callbacks.discard_a(event)
543
- ai += 1
544
- ax = string ? seq1[ai, 1] : seq1[ai]
545
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
546
- event = yield event if block_given?
547
- callbacks.discard_b(event)
548
- bj += 1
549
- end
550
- when [true, false]
551
- event = Diff::LCS::ContextChange.new('-', ai, ax, bj, bx)
552
- event = yield event if block_given?
553
- callbacks.discard_a(event)
554
- ai += 1
555
- when [false, true]
556
- event = Diff::LCS::ContextChange.new('+', ai, ax, bj, bx)
557
- event = yield event if block_given?
558
- callbacks.discard_b(event)
559
- bj += 1
560
- end
561
- end
562
- end
563
-
564
- PATCH_MAP = { #:nodoc:
565
- :patch => { '+' => '+', '-' => '-', '!' => '!', '=' => '=' },
566
- :unpatch => { '+' => '-', '-' => '+', '!' => '!', '=' => '=' }
567
- }
568
-
569
- # Applies a +patchset+ to the sequence +src+ according to the +direction+
570
- # (<tt>:patch</tt> or <tt>:unpatch</tt>), producing a new sequence.
571
- #
572
- # If the +direction+ is not specified, Diff::LCS::patch will attempt to
573
- # discover the direction of the +patchset+.
574
- #
575
- # A +patchset+ can be considered to apply forward (<tt>:patch</tt>) if the
576
- # following expression is true:
577
- #
578
- # patch(s1, diff(s1, s2)) -> s2
579
- #
580
- # A +patchset+ can be considered to apply backward (<tt>:unpatch</tt>) if
581
- # the following expression is true:
582
- #
583
- # patch(s2, diff(s1, s2)) -> s1
584
- #
585
- # If the +patchset+ contains no changes, the +src+ value will be returned
586
- # as either <tt>src.dup</tt> or +src+. A +patchset+ can be deemed as
587
- # having no changes if the following predicate returns true:
588
- #
589
- # patchset.empty? or
590
- # patchset.flatten.all? { |change| change.unchanged? }
591
- #
592
- # === Patchsets
593
- #
594
- # A +patchset+ is always an enumerable sequence of changes, hunks of
595
- # changes, or a mix of the two. A hunk of changes is an enumerable
596
- # sequence of changes:
597
- #
598
- # [ # patchset
599
- # # change
600
- # [ # hunk
601
- # # change
602
- # ]
603
- # ]
604
- #
605
- # The +patch+ method accepts <tt>patchset</tt>s that are enumerable
606
- # sequences containing either Diff::LCS::Change objects (or a subclass) or
607
- # the array representations of those objects. Prior to application, array
608
- # representations of Diff::LCS::Change objects will be reified.
609
- def patch(src, patchset, direction = nil)
610
- # Normalize the patchset.
611
- has_changes, patchset = Diff::LCS::Internals.analyze_patchset(patchset)
612
-
613
- if not has_changes
614
- return src.dup if src.respond_to? :dup
615
- return src
616
- end
617
-
618
- string = src.kind_of?(String)
619
- # Start with a new empty type of the source's class
620
- res = src.class.new
621
-
622
- direction ||= Diff::LCS::Internals.intuit_diff_direction(src, patchset)
623
-
624
- ai = bj = 0
625
-
626
- patch_map = PATCH_MAP[direction]
627
-
628
- patchset.flatten.each do |change|
629
- # Both Change and ContextChange support #action
630
- action = patch_map[change.action]
631
-
632
- case change
633
- when Diff::LCS::ContextChange
634
- case direction
635
- when :patch
636
- el = change.new_element
637
- op = change.old_position
638
- np = change.new_position
639
- when :unpatch
640
- el = change.old_element
641
- op = change.new_position
642
- np = change.old_position
643
- end
644
-
645
- case action
646
- when '-' # Remove details from the old string
647
- while ai < op
648
- res << (string ? src[ai, 1] : src[ai])
649
- ai += 1
650
- bj += 1
651
- end
652
- ai += 1
653
- when '+'
654
- while bj < np
655
- res << (string ? src[ai, 1] : src[ai])
656
- ai += 1
657
- bj += 1
658
- end
659
-
660
- res << el
661
- bj += 1
662
- when '='
663
- # This only appears in sdiff output with the SDiff callback.
664
- # Therefore, we only need to worry about dealing with a single
665
- # element.
666
- res << el
667
-
668
- ai += 1
669
- bj += 1
670
- when '!'
671
- while ai < op
672
- res << (string ? src[ai, 1] : src[ai])
673
- ai += 1
674
- bj += 1
675
- end
676
-
677
- bj += 1
678
- ai += 1
679
-
680
- res << el
681
- end
682
- when Diff::LCS::Change
683
- case action
684
- when '-'
685
- while ai < change.position
686
- res << (string ? src[ai, 1] : src[ai])
687
- ai += 1
688
- bj += 1
689
- end
690
- ai += 1
691
- when '+'
692
- while bj < change.position
693
- res << (string ? src[ai, 1] : src[ai])
694
- ai += 1
695
- bj += 1
696
- end
697
-
698
- bj += 1
699
-
700
- res << change.element
701
- end
702
- end
703
- end
704
-
705
- while ai < src.size
706
- res << (string ? src[ai, 1] : src[ai])
707
- ai += 1
708
- bj += 1
709
- end
710
-
711
- res
712
- end
713
-
714
- # Given a set of patchset, convert the current version to the prior
715
- # version. Does no auto-discovery.
716
- def unpatch!(src, patchset)
717
- patch(src, patchset, :unpatch)
718
- end
719
-
720
- # Given a set of patchset, convert the current version to the next
721
- # version. Does no auto-discovery.
722
- def patch!(src, patchset)
723
- patch(src, patchset, :patch)
724
- end
725
- end