bibtex_to_scrapbox 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (614) hide show
  1. checksums.yaml +5 -5
  2. data/bibtex_to_scrapbox.gemspec +2 -2
  3. data/lib/bibtex_to_scrapbox/version.rb +1 -1
  4. metadata +11 -622
  5. data/gems/bin/htmldiff +0 -29
  6. data/gems/bin/ldiff +0 -29
  7. data/gems/bin/rake +0 -27
  8. data/gems/bin/rspec +0 -27
  9. data/gems/bin/thor +0 -27
  10. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/gem.build_complete +0 -0
  11. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/gem_make.out +0 -288
  12. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/unicode/unicode_native.bundle +0 -0
  13. data/gems/gems/bibtex-ruby-4.4.4/Gemfile +0 -66
  14. data/gems/gems/bibtex-ruby-4.4.4/Guardfile +0 -22
  15. data/gems/gems/bibtex-ruby-4.4.4/History.txt +0 -306
  16. data/gems/gems/bibtex-ruby-4.4.4/LICENSE +0 -621
  17. data/gems/gems/bibtex-ruby-4.4.4/Manifest +0 -100
  18. data/gems/gems/bibtex-ruby-4.4.4/README.md +0 -615
  19. data/gems/gems/bibtex-ruby-4.4.4/Rakefile +0 -123
  20. data/gems/gems/bibtex-ruby-4.4.4/bibtex-ruby.gemspec +0 -38
  21. data/gems/gems/bibtex-ruby-4.4.4/examples/bib2html.rb +0 -42
  22. data/gems/gems/bibtex-ruby-4.4.4/examples/bib2yaml.rb +0 -12
  23. data/gems/gems/bibtex-ruby-4.4.4/examples/markdown.bib +0 -39
  24. data/gems/gems/bibtex-ruby-4.4.4/features/bibtex.feature +0 -96
  25. data/gems/gems/bibtex-ruby-4.4.4/features/entries.feature +0 -67
  26. data/gems/gems/bibtex-ruby-4.4.4/features/issues/braced_strings.feature +0 -48
  27. data/gems/gems/bibtex-ruby-4.4.4/features/issues/crossref.feature +0 -62
  28. data/gems/gems/bibtex-ruby-4.4.4/features/issues/latex_filter.feature +0 -171
  29. data/gems/gems/bibtex-ruby-4.4.4/features/issues/multiline_strings.feature +0 -14
  30. data/gems/gems/bibtex-ruby-4.4.4/features/issues/name_parsing.feature +0 -19
  31. data/gems/gems/bibtex-ruby-4.4.4/features/issues/non_ascii_default_keys.feature +0 -20
  32. data/gems/gems/bibtex-ruby-4.4.4/features/issues/non_ascii_keys.feature +0 -17
  33. data/gems/gems/bibtex-ruby-4.4.4/features/issues/number_keys.feature +0 -45
  34. data/gems/gems/bibtex-ruby-4.4.4/features/issues/parse_months.feature +0 -43
  35. data/gems/gems/bibtex-ruby-4.4.4/features/issues/slash_keys.feature +0 -21
  36. data/gems/gems/bibtex-ruby-4.4.4/features/issues/trailing_comma.feature +0 -21
  37. data/gems/gems/bibtex-ruby-4.4.4/features/issues/whitespace_keys.feature +0 -23
  38. data/gems/gems/bibtex-ruby-4.4.4/features/names.feature +0 -86
  39. data/gems/gems/bibtex-ruby-4.4.4/features/preambles.feature +0 -27
  40. data/gems/gems/bibtex-ruby-4.4.4/features/query.feature +0 -102
  41. data/gems/gems/bibtex-ruby-4.4.4/features/replacement.feature +0 -68
  42. data/gems/gems/bibtex-ruby-4.4.4/features/step_definitions/bibtex_steps.rb +0 -119
  43. data/gems/gems/bibtex-ruby-4.4.4/features/step_definitions/name_steps.rb +0 -18
  44. data/gems/gems/bibtex-ruby-4.4.4/features/strings.feature +0 -53
  45. data/gems/gems/bibtex-ruby-4.4.4/features/support/env.rb +0 -21
  46. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex.rb +0 -83
  47. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibliography.rb +0 -594
  48. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibliography/rdf_converter.rb +0 -27
  49. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibtex.y +0 -141
  50. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/compatibility.rb +0 -25
  51. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/elements.rb +0 -376
  52. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry.rb +0 -690
  53. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/bibtexml_converter.rb +0 -44
  54. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/citeproc_converter.rb +0 -164
  55. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/rdf_converter.rb +0 -588
  56. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/error.rb +0 -49
  57. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/extensions.rb +0 -25
  58. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters.rb +0 -55
  59. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters/latex.rb +0 -13
  60. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters/linebreaks.rb +0 -11
  61. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/lexer.rb +0 -358
  62. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/name_parser.rb +0 -563
  63. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/names.rb +0 -315
  64. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/names.y +0 -267
  65. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/parser.rb +0 -474
  66. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/replaceable.rb +0 -52
  67. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/ruby.rb +0 -1
  68. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/utilities.rb +0 -59
  69. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/value.rb +0 -305
  70. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/version.rb +0 -28
  71. data/gems/gems/bibtex-ruby-4.4.4/test/benchmark.rb +0 -84
  72. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/entry/test_rdf_converter.rb +0 -341
  73. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_bibliography.rb +0 -446
  74. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_elements.rb +0 -64
  75. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_entry.rb +0 -698
  76. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_filters.rb +0 -36
  77. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_lexer.rb +0 -42
  78. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_name_parser.rb +0 -29
  79. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_names.rb +0 -168
  80. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_parser.rb +0 -210
  81. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_string.rb +0 -83
  82. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_utilities.rb +0 -34
  83. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_value.rb +0 -189
  84. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/bibdesk.bib +0 -50
  85. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/comment.bib +0 -15
  86. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/decoret.bib +0 -83
  87. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/empty.bib +0 -0
  88. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/entry.bib +0 -24
  89. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/errors.bib +0 -67
  90. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/no_bibtex.bib +0 -9
  91. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/preamble.bib +0 -12
  92. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/roundtrip.bib +0 -11
  93. data/gems/gems/bibtex-ruby-4.4.4/test/helper.rb +0 -43
  94. data/gems/gems/bibtex-ruby-4.4.4/test/macruby.d +0 -21
  95. data/gems/gems/bibtex-ruby-4.4.4/test/macruby.rb +0 -22
  96. data/gems/gems/bibtex-ruby-4.4.4/test/profile.rb +0 -28
  97. data/gems/gems/bibtex-ruby-4.4.4/test/test_bibtex.rb +0 -127
  98. data/gems/gems/bibtex-ruby-4.4.4/test/test_export.rb +0 -33
  99. data/gems/gems/diff-lcs-1.3/.rspec +0 -1
  100. data/gems/gems/diff-lcs-1.3/Code-of-Conduct.md +0 -74
  101. data/gems/gems/diff-lcs-1.3/Contributing.md +0 -83
  102. data/gems/gems/diff-lcs-1.3/History.md +0 -220
  103. data/gems/gems/diff-lcs-1.3/License.md +0 -39
  104. data/gems/gems/diff-lcs-1.3/Manifest.txt +0 -37
  105. data/gems/gems/diff-lcs-1.3/README.rdoc +0 -84
  106. data/gems/gems/diff-lcs-1.3/Rakefile +0 -57
  107. data/gems/gems/diff-lcs-1.3/autotest/discover.rb +0 -1
  108. data/gems/gems/diff-lcs-1.3/bin/htmldiff +0 -32
  109. data/gems/gems/diff-lcs-1.3/bin/ldiff +0 -6
  110. data/gems/gems/diff-lcs-1.3/docs/COPYING.txt +0 -339
  111. data/gems/gems/diff-lcs-1.3/docs/artistic.txt +0 -127
  112. data/gems/gems/diff-lcs-1.3/lib/diff-lcs.rb +0 -3
  113. data/gems/gems/diff-lcs-1.3/lib/diff/lcs.rb +0 -725
  114. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +0 -7
  115. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +0 -37
  116. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +0 -322
  117. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +0 -181
  118. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +0 -149
  119. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +0 -276
  120. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +0 -307
  121. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +0 -167
  122. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +0 -5
  123. data/gems/gems/diff-lcs-1.3/spec/change_spec.rb +0 -65
  124. data/gems/gems/diff-lcs-1.3/spec/diff_spec.rb +0 -47
  125. data/gems/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +0 -50
  126. data/gems/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +0 -51
  127. data/gems/gems/diff-lcs-1.3/spec/hunk_spec.rb +0 -72
  128. data/gems/gems/diff-lcs-1.3/spec/issues_spec.rb +0 -49
  129. data/gems/gems/diff-lcs-1.3/spec/lcs_spec.rb +0 -56
  130. data/gems/gems/diff-lcs-1.3/spec/ldiff_spec.rb +0 -47
  131. data/gems/gems/diff-lcs-1.3/spec/patch_spec.rb +0 -422
  132. data/gems/gems/diff-lcs-1.3/spec/sdiff_spec.rb +0 -214
  133. data/gems/gems/diff-lcs-1.3/spec/spec_helper.rb +0 -321
  134. data/gems/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +0 -310
  135. data/gems/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +0 -139
  136. data/gems/gems/latex-decode-0.2.2/.gitignore +0 -6
  137. data/gems/gems/latex-decode-0.2.2/.travis.yml +0 -18
  138. data/gems/gems/latex-decode-0.2.2/Gemfile +0 -21
  139. data/gems/gems/latex-decode-0.2.2/LICENSE +0 -621
  140. data/gems/gems/latex-decode-0.2.2/README.md +0 -65
  141. data/gems/gems/latex-decode-0.2.2/Rakefile +0 -41
  142. data/gems/gems/latex-decode-0.2.2/cucumber.yml +0 -1
  143. data/gems/gems/latex-decode-0.2.2/features/brackets.feature +0 -11
  144. data/gems/gems/latex-decode-0.2.2/features/diacritics.feature +0 -40
  145. data/gems/gems/latex-decode-0.2.2/features/greek.feature +0 -13
  146. data/gems/gems/latex-decode-0.2.2/features/maths.feature +0 -9
  147. data/gems/gems/latex-decode-0.2.2/features/non-latex.feature +0 -15
  148. data/gems/gems/latex-decode-0.2.2/features/punctuation.feature +0 -50
  149. data/gems/gems/latex-decode-0.2.2/features/special_characters.feature +0 -21
  150. data/gems/gems/latex-decode-0.2.2/features/step_definitions/latex.rb +0 -7
  151. data/gems/gems/latex-decode-0.2.2/features/support/env.rb +0 -14
  152. data/gems/gems/latex-decode-0.2.2/features/symbols.feature +0 -21
  153. data/gems/gems/latex-decode-0.2.2/features/umlauts.feature +0 -11
  154. data/gems/gems/latex-decode-0.2.2/latex-decode.gemspec +0 -33
  155. data/gems/gems/latex-decode-0.2.2/lib/latex/decode.rb +0 -54
  156. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/accents.rb +0 -36
  157. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/base.rb +0 -62
  158. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/compatibility.rb +0 -89
  159. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/diacritics.rb +0 -46
  160. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/greek.rb +0 -61
  161. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/maths.rb +0 -21
  162. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/punctuation.rb +0 -59
  163. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/symbols.rb +0 -225
  164. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/version.rb +0 -5
  165. data/gems/gems/rake-10.5.0/.autotest +0 -7
  166. data/gems/gems/rake-10.5.0/.rubocop.yml +0 -27
  167. data/gems/gems/rake-10.5.0/.togglerc +0 -7
  168. data/gems/gems/rake-10.5.0/CONTRIBUTING.rdoc +0 -38
  169. data/gems/gems/rake-10.5.0/History.rdoc +0 -659
  170. data/gems/gems/rake-10.5.0/MIT-LICENSE +0 -21
  171. data/gems/gems/rake-10.5.0/Manifest.txt +0 -166
  172. data/gems/gems/rake-10.5.0/README.rdoc +0 -139
  173. data/gems/gems/rake-10.5.0/Rakefile +0 -81
  174. data/gems/gems/rake-10.5.0/bin/rake +0 -33
  175. data/gems/gems/rake-10.5.0/doc/command_line_usage.rdoc +0 -158
  176. data/gems/gems/rake-10.5.0/doc/example/Rakefile1 +0 -38
  177. data/gems/gems/rake-10.5.0/doc/example/Rakefile2 +0 -35
  178. data/gems/gems/rake-10.5.0/doc/example/a.c +0 -6
  179. data/gems/gems/rake-10.5.0/doc/example/b.c +0 -6
  180. data/gems/gems/rake-10.5.0/doc/example/main.c +0 -11
  181. data/gems/gems/rake-10.5.0/doc/glossary.rdoc +0 -42
  182. data/gems/gems/rake-10.5.0/doc/jamis.rb +0 -591
  183. data/gems/gems/rake-10.5.0/doc/proto_rake.rdoc +0 -127
  184. data/gems/gems/rake-10.5.0/doc/rake.1 +0 -141
  185. data/gems/gems/rake-10.5.0/doc/rakefile.rdoc +0 -624
  186. data/gems/gems/rake-10.5.0/doc/rational.rdoc +0 -151
  187. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +0 -23
  188. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +0 -35
  189. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +0 -53
  190. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +0 -78
  191. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +0 -46
  192. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +0 -141
  193. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +0 -119
  194. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +0 -59
  195. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +0 -121
  196. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +0 -47
  197. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +0 -114
  198. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +0 -165
  199. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +0 -112
  200. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +0 -147
  201. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +0 -53
  202. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +0 -37
  203. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +0 -55
  204. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +0 -112
  205. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +0 -52
  206. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  207. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +0 -49
  208. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +0 -102
  209. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +0 -60
  210. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +0 -55
  211. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +0 -64
  212. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +0 -178
  213. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +0 -58
  214. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +0 -53
  215. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +0 -191
  216. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +0 -61
  217. data/gems/gems/rake-10.5.0/lib/rake.rb +0 -79
  218. data/gems/gems/rake-10.5.0/lib/rake/alt_system.rb +0 -110
  219. data/gems/gems/rake-10.5.0/lib/rake/application.rb +0 -790
  220. data/gems/gems/rake-10.5.0/lib/rake/backtrace.rb +0 -23
  221. data/gems/gems/rake-10.5.0/lib/rake/clean.rb +0 -76
  222. data/gems/gems/rake-10.5.0/lib/rake/cloneable.rb +0 -16
  223. data/gems/gems/rake-10.5.0/lib/rake/contrib/.document +0 -1
  224. data/gems/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +0 -21
  225. data/gems/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +0 -137
  226. data/gems/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +0 -81
  227. data/gems/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  228. data/gems/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +0 -61
  229. data/gems/gems/rake-10.5.0/lib/rake/contrib/sys.rb +0 -4
  230. data/gems/gems/rake-10.5.0/lib/rake/cpu_counter.rb +0 -125
  231. data/gems/gems/rake-10.5.0/lib/rake/default_loader.rb +0 -14
  232. data/gems/gems/rake-10.5.0/lib/rake/dsl_definition.rb +0 -201
  233. data/gems/gems/rake-10.5.0/lib/rake/early_time.rb +0 -21
  234. data/gems/gems/rake-10.5.0/lib/rake/ext/core.rb +0 -25
  235. data/gems/gems/rake-10.5.0/lib/rake/ext/module.rb +0 -2
  236. data/gems/gems/rake-10.5.0/lib/rake/ext/pathname.rb +0 -25
  237. data/gems/gems/rake-10.5.0/lib/rake/ext/string.rb +0 -175
  238. data/gems/gems/rake-10.5.0/lib/rake/ext/time.rb +0 -18
  239. data/gems/gems/rake-10.5.0/lib/rake/file_creation_task.rb +0 -24
  240. data/gems/gems/rake-10.5.0/lib/rake/file_list.rb +0 -428
  241. data/gems/gems/rake-10.5.0/lib/rake/file_task.rb +0 -46
  242. data/gems/gems/rake-10.5.0/lib/rake/file_utils.rb +0 -128
  243. data/gems/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +0 -144
  244. data/gems/gems/rake-10.5.0/lib/rake/gempackagetask.rb +0 -4
  245. data/gems/gems/rake-10.5.0/lib/rake/invocation_chain.rb +0 -56
  246. data/gems/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +0 -16
  247. data/gems/gems/rake-10.5.0/lib/rake/late_time.rb +0 -17
  248. data/gems/gems/rake-10.5.0/lib/rake/linked_list.rb +0 -103
  249. data/gems/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +0 -53
  250. data/gems/gems/rake-10.5.0/lib/rake/multi_task.rb +0 -13
  251. data/gems/gems/rake-10.5.0/lib/rake/name_space.rb +0 -38
  252. data/gems/gems/rake-10.5.0/lib/rake/packagetask.rb +0 -199
  253. data/gems/gems/rake-10.5.0/lib/rake/pathmap.rb +0 -3
  254. data/gems/gems/rake-10.5.0/lib/rake/phony.rb +0 -15
  255. data/gems/gems/rake-10.5.0/lib/rake/private_reader.rb +0 -20
  256. data/gems/gems/rake-10.5.0/lib/rake/promise.rb +0 -99
  257. data/gems/gems/rake-10.5.0/lib/rake/pseudo_status.rb +0 -29
  258. data/gems/gems/rake-10.5.0/lib/rake/rake_module.rb +0 -38
  259. data/gems/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +0 -22
  260. data/gems/gems/rake-10.5.0/lib/rake/rdoctask.rb +0 -4
  261. data/gems/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +0 -29
  262. data/gems/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +0 -20
  263. data/gems/gems/rake-10.5.0/lib/rake/runtest.rb +0 -27
  264. data/gems/gems/rake-10.5.0/lib/rake/scope.rb +0 -42
  265. data/gems/gems/rake-10.5.0/lib/rake/task.rb +0 -383
  266. data/gems/gems/rake-10.5.0/lib/rake/task_argument_error.rb +0 -7
  267. data/gems/gems/rake-10.5.0/lib/rake/task_arguments.rb +0 -98
  268. data/gems/gems/rake-10.5.0/lib/rake/task_manager.rb +0 -307
  269. data/gems/gems/rake-10.5.0/lib/rake/tasklib.rb +0 -24
  270. data/gems/gems/rake-10.5.0/lib/rake/testtask.rb +0 -213
  271. data/gems/gems/rake-10.5.0/lib/rake/thread_history_display.rb +0 -48
  272. data/gems/gems/rake-10.5.0/lib/rake/thread_pool.rb +0 -164
  273. data/gems/gems/rake-10.5.0/lib/rake/trace_output.rb +0 -22
  274. data/gems/gems/rake-10.5.0/lib/rake/version.rb +0 -7
  275. data/gems/gems/rake-10.5.0/lib/rake/win32.rb +0 -56
  276. data/gems/gems/rake-10.5.0/rakelib/publish.rake +0 -20
  277. data/gems/gems/rake-10.5.0/rakelib/test_times.rake +0 -25
  278. data/gems/gems/rake-10.5.0/test/file_creation.rb +0 -34
  279. data/gems/gems/rake-10.5.0/test/helper.rb +0 -129
  280. data/gems/gems/rake-10.5.0/test/support/rakefile_definitions.rb +0 -478
  281. data/gems/gems/rake-10.5.0/test/support/ruby_runner.rb +0 -34
  282. data/gems/gems/rake-10.5.0/test/test_private_reader.rb +0 -42
  283. data/gems/gems/rake-10.5.0/test/test_rake.rb +0 -40
  284. data/gems/gems/rake-10.5.0/test/test_rake_application.rb +0 -643
  285. data/gems/gems/rake-10.5.0/test/test_rake_application_options.rb +0 -468
  286. data/gems/gems/rake-10.5.0/test/test_rake_backtrace.rb +0 -119
  287. data/gems/gems/rake-10.5.0/test/test_rake_clean.rb +0 -61
  288. data/gems/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +0 -68
  289. data/gems/gems/rake-10.5.0/test/test_rake_definitions.rb +0 -84
  290. data/gems/gems/rake-10.5.0/test/test_rake_directory_task.rb +0 -76
  291. data/gems/gems/rake-10.5.0/test/test_rake_dsl.rb +0 -40
  292. data/gems/gems/rake-10.5.0/test/test_rake_early_time.rb +0 -31
  293. data/gems/gems/rake-10.5.0/test/test_rake_extension.rb +0 -59
  294. data/gems/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +0 -56
  295. data/gems/gems/rake-10.5.0/test/test_rake_file_list.rb +0 -670
  296. data/gems/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +0 -8
  297. data/gems/gems/rake-10.5.0/test/test_rake_file_task.rb +0 -197
  298. data/gems/gems/rake-10.5.0/test/test_rake_file_utils.rb +0 -314
  299. data/gems/gems/rake-10.5.0/test/test_rake_ftp_file.rb +0 -74
  300. data/gems/gems/rake-10.5.0/test/test_rake_functional.rb +0 -482
  301. data/gems/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +0 -64
  302. data/gems/gems/rake-10.5.0/test/test_rake_late_time.rb +0 -18
  303. data/gems/gems/rake-10.5.0/test/test_rake_linked_list.rb +0 -84
  304. data/gems/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +0 -46
  305. data/gems/gems/rake-10.5.0/test/test_rake_multi_task.rb +0 -64
  306. data/gems/gems/rake-10.5.0/test/test_rake_name_space.rb +0 -57
  307. data/gems/gems/rake-10.5.0/test/test_rake_package_task.rb +0 -79
  308. data/gems/gems/rake-10.5.0/test/test_rake_path_map.rb +0 -168
  309. data/gems/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +0 -34
  310. data/gems/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +0 -18
  311. data/gems/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +0 -15
  312. data/gems/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +0 -21
  313. data/gems/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +0 -20
  314. data/gems/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +0 -26
  315. data/gems/gems/rake-10.5.0/test/test_rake_require.rb +0 -40
  316. data/gems/gems/rake-10.5.0/test/test_rake_rules.rb +0 -388
  317. data/gems/gems/rake-10.5.0/test/test_rake_scope.rb +0 -44
  318. data/gems/gems/rake-10.5.0/test/test_rake_task.rb +0 -393
  319. data/gems/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +0 -119
  320. data/gems/gems/rake-10.5.0/test/test_rake_task_arguments.rb +0 -127
  321. data/gems/gems/rake-10.5.0/test/test_rake_task_lib.rb +0 -9
  322. data/gems/gems/rake-10.5.0/test/test_rake_task_manager.rb +0 -178
  323. data/gems/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +0 -19
  324. data/gems/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +0 -172
  325. data/gems/gems/rake-10.5.0/test/test_rake_test_task.rb +0 -146
  326. data/gems/gems/rake-10.5.0/test/test_rake_thread_pool.rb +0 -145
  327. data/gems/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +0 -71
  328. data/gems/gems/rake-10.5.0/test/test_rake_win32.rb +0 -72
  329. data/gems/gems/rake-10.5.0/test/test_thread_history_display.rb +0 -101
  330. data/gems/gems/rake-10.5.0/test/test_trace_output.rb +0 -52
  331. data/gems/gems/rspec-3.6.0/LICENSE.md +0 -27
  332. data/gems/gems/rspec-3.6.0/README.md +0 -39
  333. data/gems/gems/rspec-3.6.0/lib/rspec.rb +0 -3
  334. data/gems/gems/rspec-3.6.0/lib/rspec/version.rb +0 -5
  335. data/gems/gems/rspec-core-3.6.0/.document +0 -5
  336. data/gems/gems/rspec-core-3.6.0/.yardopts +0 -8
  337. data/gems/gems/rspec-core-3.6.0/Changelog.md +0 -2167
  338. data/gems/gems/rspec-core-3.6.0/LICENSE.md +0 -26
  339. data/gems/gems/rspec-core-3.6.0/README.md +0 -384
  340. data/gems/gems/rspec-core-3.6.0/exe/rspec +0 -4
  341. data/gems/gems/rspec-core-3.6.0/lib/rspec/autorun.rb +0 -3
  342. data/gems/gems/rspec-core-3.6.0/lib/rspec/core.rb +0 -185
  343. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/backtrace_formatter.rb +0 -65
  344. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/coordinator.rb +0 -66
  345. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/example_minimizer.rb +0 -169
  346. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/runner.rb +0 -169
  347. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/server.rb +0 -70
  348. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb +0 -2177
  349. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb +0 -196
  350. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/drb.rb +0 -113
  351. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/dsl.rb +0 -98
  352. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example.rb +0 -653
  353. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb +0 -883
  354. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example_status_persister.rb +0 -235
  355. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/filter_manager.rb +0 -231
  356. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/flat_map.rb +0 -20
  357. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters.rb +0 -265
  358. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_formatter.rb +0 -70
  359. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_text_formatter.rb +0 -75
  360. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_formatter.rb +0 -69
  361. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -144
  362. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/console_codes.rb +0 -68
  363. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  364. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/documentation_formatter.rb +0 -70
  365. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/exception_presenter.rb +0 -496
  366. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  367. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/helpers.rb +0 -110
  368. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_formatter.rb +0 -153
  369. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_printer.rb +0 -414
  370. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -118
  371. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/json_formatter.rb +0 -101
  372. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  373. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/progress_formatter.rb +0 -29
  374. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/protocol.rb +0 -182
  375. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/snippet_extractor.rb +0 -134
  376. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/syntax_highlighter.rb +0 -91
  377. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb +0 -624
  378. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/invocations.rb +0 -85
  379. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/memoized_helpers.rb +0 -535
  380. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/metadata.rb +0 -499
  381. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/metadata_filter.rb +0 -255
  382. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  383. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  384. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  385. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/null.rb +0 -14
  386. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  387. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  388. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/notifications.rb +0 -514
  389. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/option_parser.rb +0 -309
  390. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/ordering.rb +0 -158
  391. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/output_wrapper.rb +0 -29
  392. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/pending.rb +0 -165
  393. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/profiler.rb +0 -32
  394. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer.rb +0 -48
  395. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/.rspec +0 -1
  396. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -100
  397. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/rake_task.rb +0 -168
  398. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb +0 -260
  399. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/ruby_project.rb +0 -53
  400. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb +0 -193
  401. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/sandbox.rb +0 -37
  402. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/set.rb +0 -54
  403. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shared_context.rb +0 -55
  404. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shared_example_group.rb +0 -271
  405. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shell_escape.rb +0 -49
  406. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  407. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/version.rb +0 -9
  408. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/warnings.rb +0 -40
  409. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/world.rb +0 -264
  410. data/gems/gems/rspec-expectations-3.6.0/.document +0 -5
  411. data/gems/gems/rspec-expectations-3.6.0/.yardopts +0 -6
  412. data/gems/gems/rspec-expectations-3.6.0/Changelog.md +0 -1072
  413. data/gems/gems/rspec-expectations-3.6.0/LICENSE.md +0 -25
  414. data/gems/gems/rspec-expectations-3.6.0/README.md +0 -305
  415. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations.rb +0 -82
  416. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/block_snippet_extractor.rb +0 -253
  417. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/configuration.rb +0 -201
  418. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/expectation_target.rb +0 -127
  419. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/fail_with.rb +0 -39
  420. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/failure_aggregator.rb +0 -194
  421. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/handler.rb +0 -170
  422. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/minitest_integration.rb +0 -58
  423. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/syntax.rb +0 -132
  424. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/version.rb +0 -8
  425. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers.rb +0 -1025
  426. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/aliased_matcher.rb +0 -116
  427. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in.rb +0 -52
  428. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/all.rb +0 -85
  429. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/base_matcher.rb +0 -193
  430. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be.rb +0 -288
  431. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_between.rb +0 -77
  432. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_instance_of.rb +0 -22
  433. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_kind_of.rb +0 -16
  434. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_within.rb +0 -72
  435. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/change.rb +0 -387
  436. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/compound.rb +0 -272
  437. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/contain_exactly.rb +0 -301
  438. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/cover.rb +0 -24
  439. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eq.rb +0 -40
  440. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eql.rb +0 -34
  441. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/equal.rb +0 -81
  442. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/exist.rb +0 -90
  443. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/has.rb +0 -103
  444. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  445. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/include.rb +0 -143
  446. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/match.rb +0 -106
  447. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/operators.rb +0 -128
  448. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/output.rb +0 -200
  449. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/raise_error.rb +0 -230
  450. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/respond_to.rb +0 -165
  451. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/satisfy.rb +0 -60
  452. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  453. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  454. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/yield.rb +0 -432
  455. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/composable.rb +0 -169
  456. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/dsl.rb +0 -527
  457. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/english_phrasing.rb +0 -58
  458. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -73
  459. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/fail_matchers.rb +0 -42
  460. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/generated_descriptions.rb +0 -42
  461. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_delegator.rb +0 -35
  462. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_protocol.rb +0 -99
  463. data/gems/gems/rspec-mocks-3.6.0/.document +0 -5
  464. data/gems/gems/rspec-mocks-3.6.0/.yardopts +0 -6
  465. data/gems/gems/rspec-mocks-3.6.0/Changelog.md +0 -1073
  466. data/gems/gems/rspec-mocks-3.6.0/LICENSE.md +0 -25
  467. data/gems/gems/rspec-mocks-3.6.0/README.md +0 -460
  468. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks.rb +0 -130
  469. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance.rb +0 -11
  470. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/chain.rb +0 -110
  471. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  472. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -31
  473. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -50
  474. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  475. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  476. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/recorder.rb +0 -289
  477. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain.rb +0 -51
  478. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -23
  479. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  480. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_matchers.rb +0 -320
  481. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/configuration.rb +0 -212
  482. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/error_generator.rb +0 -369
  483. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/example_methods.rb +0 -434
  484. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/instance_method_stasher.rb +0 -146
  485. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/marshal_extension.rb +0 -41
  486. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  487. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/have_received.rb +0 -130
  488. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive.rb +0 -132
  489. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -82
  490. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_messages.rb +0 -77
  491. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_chain.rb +0 -87
  492. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_expectation.rb +0 -740
  493. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_double.rb +0 -287
  494. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_reference.rb +0 -202
  495. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/minitest_integration.rb +0 -68
  496. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/mutate_const.rb +0 -339
  497. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/object_reference.rb +0 -149
  498. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/order_group.rb +0 -81
  499. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/proxy.rb +0 -484
  500. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/space.rb +0 -238
  501. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/standalone.rb +0 -3
  502. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/syntax.rb +0 -325
  503. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/targets.rb +0 -124
  504. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/test_double.rb +0 -171
  505. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_double.rb +0 -129
  506. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  507. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_proxy.rb +0 -220
  508. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/version.rb +0 -9
  509. data/gems/gems/rspec-support-3.6.0/Changelog.md +0 -211
  510. data/gems/gems/rspec-support-3.6.0/LICENSE.md +0 -23
  511. data/gems/gems/rspec-support-3.6.0/README.md +0 -40
  512. data/gems/gems/rspec-support-3.6.0/lib/rspec/support.rb +0 -139
  513. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/caller_filter.rb +0 -83
  514. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/comparable_version.rb +0 -46
  515. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/differ.rb +0 -215
  516. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/directory_maker.rb +0 -63
  517. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/encoded_string.rb +0 -165
  518. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/fuzzy_matcher.rb +0 -48
  519. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/hunk_generator.rb +0 -47
  520. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/matcher_definition.rb +0 -42
  521. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/method_signature_verifier.rb +0 -392
  522. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/mutex.rb +0 -73
  523. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/object_formatter.rb +0 -268
  524. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/recursive_const_methods.rb +0 -76
  525. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/reentrant_mutex.rb +0 -53
  526. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/ruby_features.rb +0 -162
  527. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source.rb +0 -75
  528. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/location.rb +0 -21
  529. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/node.rb +0 -107
  530. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/token.rb +0 -87
  531. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec.rb +0 -81
  532. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  533. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/formatting_support.rb +0 -9
  534. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/in_sub_process.rb +0 -69
  535. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/library_wide_checks.rb +0 -150
  536. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/shell_out.rb +0 -84
  537. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/stderr_splitter.rb +0 -63
  538. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/string_matcher.rb +0 -46
  539. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_directory.rb +0 -13
  540. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  541. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/version.rb +0 -7
  542. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/warnings.rb +0 -39
  543. data/gems/gems/thor-0.19.4/.document +0 -5
  544. data/gems/gems/thor-0.19.4/CHANGELOG.md +0 -163
  545. data/gems/gems/thor-0.19.4/CONTRIBUTING.md +0 -15
  546. data/gems/gems/thor-0.19.4/LICENSE.md +0 -20
  547. data/gems/gems/thor-0.19.4/README.md +0 -47
  548. data/gems/gems/thor-0.19.4/bin/thor +0 -6
  549. data/gems/gems/thor-0.19.4/lib/thor.rb +0 -492
  550. data/gems/gems/thor-0.19.4/lib/thor/actions.rb +0 -318
  551. data/gems/gems/thor-0.19.4/lib/thor/actions/create_file.rb +0 -103
  552. data/gems/gems/thor-0.19.4/lib/thor/actions/create_link.rb +0 -59
  553. data/gems/gems/thor-0.19.4/lib/thor/actions/directory.rb +0 -118
  554. data/gems/gems/thor-0.19.4/lib/thor/actions/empty_directory.rb +0 -135
  555. data/gems/gems/thor-0.19.4/lib/thor/actions/file_manipulation.rb +0 -327
  556. data/gems/gems/thor-0.19.4/lib/thor/actions/inject_into_file.rb +0 -103
  557. data/gems/gems/thor-0.19.4/lib/thor/base.rb +0 -656
  558. data/gems/gems/thor-0.19.4/lib/thor/command.rb +0 -133
  559. data/gems/gems/thor-0.19.4/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -85
  560. data/gems/gems/thor-0.19.4/lib/thor/core_ext/io_binary_read.rb +0 -12
  561. data/gems/gems/thor-0.19.4/lib/thor/core_ext/ordered_hash.rb +0 -129
  562. data/gems/gems/thor-0.19.4/lib/thor/error.rb +0 -32
  563. data/gems/gems/thor-0.19.4/lib/thor/group.rb +0 -281
  564. data/gems/gems/thor-0.19.4/lib/thor/invocation.rb +0 -177
  565. data/gems/gems/thor-0.19.4/lib/thor/line_editor.rb +0 -17
  566. data/gems/gems/thor-0.19.4/lib/thor/line_editor/basic.rb +0 -35
  567. data/gems/gems/thor-0.19.4/lib/thor/line_editor/readline.rb +0 -88
  568. data/gems/gems/thor-0.19.4/lib/thor/parser.rb +0 -4
  569. data/gems/gems/thor-0.19.4/lib/thor/parser/argument.rb +0 -70
  570. data/gems/gems/thor-0.19.4/lib/thor/parser/arguments.rb +0 -175
  571. data/gems/gems/thor-0.19.4/lib/thor/parser/option.rb +0 -146
  572. data/gems/gems/thor-0.19.4/lib/thor/parser/options.rb +0 -220
  573. data/gems/gems/thor-0.19.4/lib/thor/rake_compat.rb +0 -71
  574. data/gems/gems/thor-0.19.4/lib/thor/runner.rb +0 -322
  575. data/gems/gems/thor-0.19.4/lib/thor/shell.rb +0 -81
  576. data/gems/gems/thor-0.19.4/lib/thor/shell/basic.rb +0 -436
  577. data/gems/gems/thor-0.19.4/lib/thor/shell/color.rb +0 -149
  578. data/gems/gems/thor-0.19.4/lib/thor/shell/html.rb +0 -126
  579. data/gems/gems/thor-0.19.4/lib/thor/util.rb +0 -268
  580. data/gems/gems/thor-0.19.4/lib/thor/version.rb +0 -3
  581. data/gems/gems/thor-0.19.4/thor.gemspec +0 -21
  582. data/gems/gems/unicode-0.4.4.4/README +0 -156
  583. data/gems/gems/unicode-0.4.4.4/Rakefile +0 -103
  584. data/gems/gems/unicode-0.4.4.4/ext/unicode/.sitearchdir.-.unicode.time +0 -0
  585. data/gems/gems/unicode-0.4.4.4/ext/unicode/Makefile +0 -264
  586. data/gems/gems/unicode-0.4.4.4/ext/unicode/extconf.rb +0 -3
  587. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode.c +0 -1325
  588. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode.o +0 -0
  589. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode_native.bundle +0 -0
  590. data/gems/gems/unicode-0.4.4.4/ext/unicode/unidata.map +0 -24555
  591. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.c +0 -208
  592. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.h +0 -48
  593. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.o +0 -0
  594. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.c +0 -257
  595. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.h +0 -43
  596. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.o +0 -0
  597. data/gems/gems/unicode-0.4.4.4/lib/unicode.rb +0 -6
  598. data/gems/gems/unicode-0.4.4.4/lib/unicode/unicode_native.bundle +0 -0
  599. data/gems/gems/unicode-0.4.4.4/test/test.rb +0 -69
  600. data/gems/gems/unicode-0.4.4.4/tools/README +0 -7
  601. data/gems/gems/unicode-0.4.4.4/tools/mkunidata.rb +0 -293
  602. data/gems/gems/unicode-0.4.4.4/tools/normtest.rb +0 -111
  603. data/gems/gems/unicode-0.4.4.4/unicode.gemspec +0 -30
  604. data/gems/specifications/bibtex-ruby-4.4.4.gemspec +0 -32
  605. data/gems/specifications/diff-lcs-1.3.gemspec +0 -61
  606. data/gems/specifications/latex-decode-0.2.2.gemspec +0 -35
  607. data/gems/specifications/rake-10.5.0.gemspec +0 -43
  608. data/gems/specifications/rspec-3.6.0.gemspec +0 -42
  609. data/gems/specifications/rspec-core-3.6.0.gemspec +0 -62
  610. data/gems/specifications/rspec-expectations-3.6.0.gemspec +0 -50
  611. data/gems/specifications/rspec-mocks-3.6.0.gemspec +0 -50
  612. data/gems/specifications/rspec-support-3.6.0.gemspec +0 -41
  613. data/gems/specifications/thor-0.19.4.gemspec +0 -35
  614. data/gems/specifications/unicode-0.4.4.4.gemspec +0 -25
@@ -1,3 +0,0 @@
1
- # -*- ruby encoding: utf-8 -*-
2
-
3
- require 'diff/lcs'
@@ -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