bibtex_to_scrapbox 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE +22 -0
  8. data/README.md +43 -0
  9. data/Rakefile +6 -0
  10. data/bibtex_to_scrapbox.gemspec +29 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/exe/bibtex_to_scrapbox +7 -0
  14. data/gems/bin/htmldiff +29 -0
  15. data/gems/bin/ldiff +29 -0
  16. data/gems/bin/rake +27 -0
  17. data/gems/bin/rspec +27 -0
  18. data/gems/bin/thor +27 -0
  19. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/gem.build_complete +0 -0
  20. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/gem_make.out +288 -0
  21. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/unicode/unicode_native.bundle +0 -0
  22. data/gems/gems/bibtex-ruby-4.4.4/Gemfile +66 -0
  23. data/gems/gems/bibtex-ruby-4.4.4/Guardfile +22 -0
  24. data/gems/gems/bibtex-ruby-4.4.4/History.txt +306 -0
  25. data/gems/gems/bibtex-ruby-4.4.4/LICENSE +621 -0
  26. data/gems/gems/bibtex-ruby-4.4.4/Manifest +100 -0
  27. data/gems/gems/bibtex-ruby-4.4.4/README.md +615 -0
  28. data/gems/gems/bibtex-ruby-4.4.4/Rakefile +123 -0
  29. data/gems/gems/bibtex-ruby-4.4.4/bibtex-ruby.gemspec +38 -0
  30. data/gems/gems/bibtex-ruby-4.4.4/examples/bib2html.rb +42 -0
  31. data/gems/gems/bibtex-ruby-4.4.4/examples/bib2yaml.rb +12 -0
  32. data/gems/gems/bibtex-ruby-4.4.4/examples/markdown.bib +39 -0
  33. data/gems/gems/bibtex-ruby-4.4.4/features/bibtex.feature +96 -0
  34. data/gems/gems/bibtex-ruby-4.4.4/features/entries.feature +67 -0
  35. data/gems/gems/bibtex-ruby-4.4.4/features/issues/braced_strings.feature +48 -0
  36. data/gems/gems/bibtex-ruby-4.4.4/features/issues/crossref.feature +62 -0
  37. data/gems/gems/bibtex-ruby-4.4.4/features/issues/latex_filter.feature +171 -0
  38. data/gems/gems/bibtex-ruby-4.4.4/features/issues/multiline_strings.feature +14 -0
  39. data/gems/gems/bibtex-ruby-4.4.4/features/issues/name_parsing.feature +19 -0
  40. data/gems/gems/bibtex-ruby-4.4.4/features/issues/non_ascii_default_keys.feature +20 -0
  41. data/gems/gems/bibtex-ruby-4.4.4/features/issues/non_ascii_keys.feature +17 -0
  42. data/gems/gems/bibtex-ruby-4.4.4/features/issues/number_keys.feature +45 -0
  43. data/gems/gems/bibtex-ruby-4.4.4/features/issues/parse_months.feature +43 -0
  44. data/gems/gems/bibtex-ruby-4.4.4/features/issues/slash_keys.feature +21 -0
  45. data/gems/gems/bibtex-ruby-4.4.4/features/issues/trailing_comma.feature +21 -0
  46. data/gems/gems/bibtex-ruby-4.4.4/features/issues/whitespace_keys.feature +23 -0
  47. data/gems/gems/bibtex-ruby-4.4.4/features/names.feature +86 -0
  48. data/gems/gems/bibtex-ruby-4.4.4/features/preambles.feature +27 -0
  49. data/gems/gems/bibtex-ruby-4.4.4/features/query.feature +102 -0
  50. data/gems/gems/bibtex-ruby-4.4.4/features/replacement.feature +68 -0
  51. data/gems/gems/bibtex-ruby-4.4.4/features/step_definitions/bibtex_steps.rb +119 -0
  52. data/gems/gems/bibtex-ruby-4.4.4/features/step_definitions/name_steps.rb +18 -0
  53. data/gems/gems/bibtex-ruby-4.4.4/features/strings.feature +53 -0
  54. data/gems/gems/bibtex-ruby-4.4.4/features/support/env.rb +21 -0
  55. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex.rb +83 -0
  56. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibliography.rb +594 -0
  57. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibliography/rdf_converter.rb +27 -0
  58. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibtex.y +141 -0
  59. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/compatibility.rb +25 -0
  60. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/elements.rb +376 -0
  61. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry.rb +690 -0
  62. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/bibtexml_converter.rb +44 -0
  63. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/citeproc_converter.rb +164 -0
  64. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/rdf_converter.rb +588 -0
  65. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/error.rb +49 -0
  66. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/extensions.rb +25 -0
  67. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters.rb +55 -0
  68. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters/latex.rb +13 -0
  69. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters/linebreaks.rb +11 -0
  70. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/lexer.rb +358 -0
  71. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/name_parser.rb +563 -0
  72. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/names.rb +315 -0
  73. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/names.y +267 -0
  74. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/parser.rb +474 -0
  75. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/replaceable.rb +52 -0
  76. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/ruby.rb +1 -0
  77. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/utilities.rb +59 -0
  78. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/value.rb +305 -0
  79. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/version.rb +28 -0
  80. data/gems/gems/bibtex-ruby-4.4.4/test/benchmark.rb +84 -0
  81. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/entry/test_rdf_converter.rb +341 -0
  82. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_bibliography.rb +446 -0
  83. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_elements.rb +64 -0
  84. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_entry.rb +698 -0
  85. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_filters.rb +36 -0
  86. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_lexer.rb +42 -0
  87. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_name_parser.rb +29 -0
  88. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_names.rb +168 -0
  89. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_parser.rb +210 -0
  90. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_string.rb +83 -0
  91. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_utilities.rb +34 -0
  92. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_value.rb +189 -0
  93. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/bibdesk.bib +50 -0
  94. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/comment.bib +15 -0
  95. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/decoret.bib +83 -0
  96. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/empty.bib +0 -0
  97. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/entry.bib +24 -0
  98. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/errors.bib +67 -0
  99. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/no_bibtex.bib +9 -0
  100. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/preamble.bib +12 -0
  101. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/roundtrip.bib +11 -0
  102. data/gems/gems/bibtex-ruby-4.4.4/test/helper.rb +43 -0
  103. data/gems/gems/bibtex-ruby-4.4.4/test/macruby.d +21 -0
  104. data/gems/gems/bibtex-ruby-4.4.4/test/macruby.rb +22 -0
  105. data/gems/gems/bibtex-ruby-4.4.4/test/profile.rb +28 -0
  106. data/gems/gems/bibtex-ruby-4.4.4/test/test_bibtex.rb +127 -0
  107. data/gems/gems/bibtex-ruby-4.4.4/test/test_export.rb +33 -0
  108. data/gems/gems/diff-lcs-1.3/.rspec +1 -0
  109. data/gems/gems/diff-lcs-1.3/Code-of-Conduct.md +74 -0
  110. data/gems/gems/diff-lcs-1.3/Contributing.md +83 -0
  111. data/gems/gems/diff-lcs-1.3/History.md +220 -0
  112. data/gems/gems/diff-lcs-1.3/License.md +39 -0
  113. data/gems/gems/diff-lcs-1.3/Manifest.txt +37 -0
  114. data/gems/gems/diff-lcs-1.3/README.rdoc +84 -0
  115. data/gems/gems/diff-lcs-1.3/Rakefile +57 -0
  116. data/gems/gems/diff-lcs-1.3/autotest/discover.rb +1 -0
  117. data/gems/gems/diff-lcs-1.3/bin/htmldiff +32 -0
  118. data/gems/gems/diff-lcs-1.3/bin/ldiff +6 -0
  119. data/gems/gems/diff-lcs-1.3/docs/COPYING.txt +339 -0
  120. data/gems/gems/diff-lcs-1.3/docs/artistic.txt +127 -0
  121. data/gems/gems/diff-lcs-1.3/lib/diff-lcs.rb +3 -0
  122. data/gems/gems/diff-lcs-1.3/lib/diff/lcs.rb +725 -0
  123. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +7 -0
  124. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +37 -0
  125. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +322 -0
  126. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +181 -0
  127. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +149 -0
  128. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +276 -0
  129. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +307 -0
  130. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +167 -0
  131. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +5 -0
  132. data/gems/gems/diff-lcs-1.3/spec/change_spec.rb +65 -0
  133. data/gems/gems/diff-lcs-1.3/spec/diff_spec.rb +47 -0
  134. data/gems/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +50 -0
  135. data/gems/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +51 -0
  136. data/gems/gems/diff-lcs-1.3/spec/hunk_spec.rb +72 -0
  137. data/gems/gems/diff-lcs-1.3/spec/issues_spec.rb +49 -0
  138. data/gems/gems/diff-lcs-1.3/spec/lcs_spec.rb +56 -0
  139. data/gems/gems/diff-lcs-1.3/spec/ldiff_spec.rb +47 -0
  140. data/gems/gems/diff-lcs-1.3/spec/patch_spec.rb +422 -0
  141. data/gems/gems/diff-lcs-1.3/spec/sdiff_spec.rb +214 -0
  142. data/gems/gems/diff-lcs-1.3/spec/spec_helper.rb +321 -0
  143. data/gems/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +310 -0
  144. data/gems/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +139 -0
  145. data/gems/gems/latex-decode-0.2.2/.gitignore +6 -0
  146. data/gems/gems/latex-decode-0.2.2/.travis.yml +18 -0
  147. data/gems/gems/latex-decode-0.2.2/Gemfile +21 -0
  148. data/gems/gems/latex-decode-0.2.2/LICENSE +621 -0
  149. data/gems/gems/latex-decode-0.2.2/README.md +65 -0
  150. data/gems/gems/latex-decode-0.2.2/Rakefile +41 -0
  151. data/gems/gems/latex-decode-0.2.2/cucumber.yml +1 -0
  152. data/gems/gems/latex-decode-0.2.2/features/brackets.feature +11 -0
  153. data/gems/gems/latex-decode-0.2.2/features/diacritics.feature +40 -0
  154. data/gems/gems/latex-decode-0.2.2/features/greek.feature +13 -0
  155. data/gems/gems/latex-decode-0.2.2/features/maths.feature +9 -0
  156. data/gems/gems/latex-decode-0.2.2/features/non-latex.feature +15 -0
  157. data/gems/gems/latex-decode-0.2.2/features/punctuation.feature +50 -0
  158. data/gems/gems/latex-decode-0.2.2/features/special_characters.feature +21 -0
  159. data/gems/gems/latex-decode-0.2.2/features/step_definitions/latex.rb +7 -0
  160. data/gems/gems/latex-decode-0.2.2/features/support/env.rb +14 -0
  161. data/gems/gems/latex-decode-0.2.2/features/symbols.feature +21 -0
  162. data/gems/gems/latex-decode-0.2.2/features/umlauts.feature +11 -0
  163. data/gems/gems/latex-decode-0.2.2/latex-decode.gemspec +33 -0
  164. data/gems/gems/latex-decode-0.2.2/lib/latex/decode.rb +54 -0
  165. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/accents.rb +36 -0
  166. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/base.rb +62 -0
  167. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/compatibility.rb +89 -0
  168. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/diacritics.rb +46 -0
  169. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/greek.rb +61 -0
  170. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/maths.rb +21 -0
  171. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/punctuation.rb +59 -0
  172. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/symbols.rb +225 -0
  173. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/version.rb +5 -0
  174. data/gems/gems/rake-10.5.0/.autotest +7 -0
  175. data/gems/gems/rake-10.5.0/.rubocop.yml +27 -0
  176. data/gems/gems/rake-10.5.0/.togglerc +7 -0
  177. data/gems/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  178. data/gems/gems/rake-10.5.0/History.rdoc +659 -0
  179. data/gems/gems/rake-10.5.0/MIT-LICENSE +21 -0
  180. data/gems/gems/rake-10.5.0/Manifest.txt +166 -0
  181. data/gems/gems/rake-10.5.0/README.rdoc +139 -0
  182. data/gems/gems/rake-10.5.0/Rakefile +81 -0
  183. data/gems/gems/rake-10.5.0/bin/rake +33 -0
  184. data/gems/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  185. data/gems/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  186. data/gems/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  187. data/gems/gems/rake-10.5.0/doc/example/a.c +6 -0
  188. data/gems/gems/rake-10.5.0/doc/example/b.c +6 -0
  189. data/gems/gems/rake-10.5.0/doc/example/main.c +11 -0
  190. data/gems/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  191. data/gems/gems/rake-10.5.0/doc/jamis.rb +591 -0
  192. data/gems/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  193. data/gems/gems/rake-10.5.0/doc/rake.1 +141 -0
  194. data/gems/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  195. data/gems/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  196. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  197. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  198. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  199. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  200. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  201. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  202. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  203. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  204. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  205. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  206. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  207. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  208. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  209. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  210. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  211. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  212. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  213. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  214. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  215. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  216. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  217. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  218. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  219. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  220. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  221. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  222. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  223. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  224. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  225. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  226. data/gems/gems/rake-10.5.0/lib/rake.rb +79 -0
  227. data/gems/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  228. data/gems/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  229. data/gems/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  230. data/gems/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  231. data/gems/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  232. data/gems/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  233. data/gems/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  234. data/gems/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  235. data/gems/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  236. data/gems/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  237. data/gems/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  238. data/gems/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  239. data/gems/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  240. data/gems/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  241. data/gems/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  242. data/gems/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  243. data/gems/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  244. data/gems/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  245. data/gems/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  246. data/gems/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  247. data/gems/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  248. data/gems/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  249. data/gems/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  250. data/gems/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  251. data/gems/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  252. data/gems/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  253. data/gems/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  254. data/gems/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  255. data/gems/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  256. data/gems/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  257. data/gems/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  258. data/gems/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  259. data/gems/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  260. data/gems/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  261. data/gems/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  262. data/gems/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  263. data/gems/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  264. data/gems/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  265. data/gems/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  266. data/gems/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  267. data/gems/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  268. data/gems/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  269. data/gems/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  270. data/gems/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  271. data/gems/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  272. data/gems/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  273. data/gems/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  274. data/gems/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  275. data/gems/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  276. data/gems/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  277. data/gems/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  278. data/gems/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  279. data/gems/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  280. data/gems/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  281. data/gems/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  282. data/gems/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  283. data/gems/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  284. data/gems/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  285. data/gems/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  286. data/gems/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  287. data/gems/gems/rake-10.5.0/test/file_creation.rb +34 -0
  288. data/gems/gems/rake-10.5.0/test/helper.rb +129 -0
  289. data/gems/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  290. data/gems/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  291. data/gems/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  292. data/gems/gems/rake-10.5.0/test/test_rake.rb +40 -0
  293. data/gems/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  294. data/gems/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  295. data/gems/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  296. data/gems/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  297. data/gems/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  298. data/gems/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  299. data/gems/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  300. data/gems/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  301. data/gems/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  302. data/gems/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  303. data/gems/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  304. data/gems/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  305. data/gems/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  306. data/gems/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  307. data/gems/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  308. data/gems/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  309. data/gems/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  310. data/gems/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  311. data/gems/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  312. data/gems/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  313. data/gems/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  314. data/gems/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  315. data/gems/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  316. data/gems/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  317. data/gems/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  318. data/gems/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  319. data/gems/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  320. data/gems/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  321. data/gems/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  322. data/gems/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  323. data/gems/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  324. data/gems/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  325. data/gems/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  326. data/gems/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  327. data/gems/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  328. data/gems/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  329. data/gems/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  330. data/gems/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  331. data/gems/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  332. data/gems/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  333. data/gems/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  334. data/gems/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  335. data/gems/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  336. data/gems/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  337. data/gems/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  338. data/gems/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  339. data/gems/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  340. data/gems/gems/rspec-3.6.0/LICENSE.md +27 -0
  341. data/gems/gems/rspec-3.6.0/README.md +39 -0
  342. data/gems/gems/rspec-3.6.0/lib/rspec.rb +3 -0
  343. data/gems/gems/rspec-3.6.0/lib/rspec/version.rb +5 -0
  344. data/gems/gems/rspec-core-3.6.0/.document +5 -0
  345. data/gems/gems/rspec-core-3.6.0/.yardopts +8 -0
  346. data/gems/gems/rspec-core-3.6.0/Changelog.md +2167 -0
  347. data/gems/gems/rspec-core-3.6.0/LICENSE.md +26 -0
  348. data/gems/gems/rspec-core-3.6.0/README.md +384 -0
  349. data/gems/gems/rspec-core-3.6.0/exe/rspec +4 -0
  350. data/gems/gems/rspec-core-3.6.0/lib/rspec/autorun.rb +3 -0
  351. data/gems/gems/rspec-core-3.6.0/lib/rspec/core.rb +185 -0
  352. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/backtrace_formatter.rb +65 -0
  353. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/coordinator.rb +66 -0
  354. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/example_minimizer.rb +169 -0
  355. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/runner.rb +169 -0
  356. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/server.rb +70 -0
  357. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb +2177 -0
  358. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb +196 -0
  359. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/drb.rb +113 -0
  360. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/dsl.rb +98 -0
  361. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example.rb +653 -0
  362. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb +883 -0
  363. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example_status_persister.rb +235 -0
  364. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/filter_manager.rb +231 -0
  365. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/flat_map.rb +20 -0
  366. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters.rb +265 -0
  367. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
  368. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  369. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_formatter.rb +69 -0
  370. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +144 -0
  371. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/console_codes.rb +68 -0
  372. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  373. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
  374. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/exception_presenter.rb +496 -0
  375. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  376. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/helpers.rb +110 -0
  377. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
  378. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_printer.rb +414 -0
  379. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_snippet_extractor.rb +118 -0
  380. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/json_formatter.rb +101 -0
  381. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  382. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  383. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/protocol.rb +182 -0
  384. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  385. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  386. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb +624 -0
  387. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/invocations.rb +85 -0
  388. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/memoized_helpers.rb +535 -0
  389. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/metadata.rb +499 -0
  390. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/metadata_filter.rb +255 -0
  391. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  392. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  393. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  394. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
  395. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  396. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  397. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/notifications.rb +514 -0
  398. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/option_parser.rb +309 -0
  399. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/ordering.rb +158 -0
  400. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/output_wrapper.rb +29 -0
  401. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/pending.rb +165 -0
  402. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/profiler.rb +32 -0
  403. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer.rb +48 -0
  404. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/.rspec +1 -0
  405. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
  406. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/rake_task.rb +168 -0
  407. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb +260 -0
  408. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/ruby_project.rb +53 -0
  409. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb +193 -0
  410. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/sandbox.rb +37 -0
  411. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/set.rb +54 -0
  412. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shared_context.rb +55 -0
  413. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shared_example_group.rb +271 -0
  414. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shell_escape.rb +49 -0
  415. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  416. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/version.rb +9 -0
  417. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/warnings.rb +40 -0
  418. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/world.rb +264 -0
  419. data/gems/gems/rspec-expectations-3.6.0/.document +5 -0
  420. data/gems/gems/rspec-expectations-3.6.0/.yardopts +6 -0
  421. data/gems/gems/rspec-expectations-3.6.0/Changelog.md +1072 -0
  422. data/gems/gems/rspec-expectations-3.6.0/LICENSE.md +25 -0
  423. data/gems/gems/rspec-expectations-3.6.0/README.md +305 -0
  424. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations.rb +82 -0
  425. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  426. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/configuration.rb +201 -0
  427. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/expectation_target.rb +127 -0
  428. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/fail_with.rb +39 -0
  429. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
  430. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/handler.rb +170 -0
  431. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/minitest_integration.rb +58 -0
  432. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/syntax.rb +132 -0
  433. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/version.rb +8 -0
  434. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers.rb +1025 -0
  435. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
  436. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in.rb +52 -0
  437. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/all.rb +85 -0
  438. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/base_matcher.rb +193 -0
  439. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be.rb +288 -0
  440. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
  441. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  442. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  443. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
  444. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/change.rb +387 -0
  445. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/compound.rb +272 -0
  446. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/contain_exactly.rb +301 -0
  447. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/cover.rb +24 -0
  448. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eq.rb +40 -0
  449. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eql.rb +34 -0
  450. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/equal.rb +81 -0
  451. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/exist.rb +90 -0
  452. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/has.rb +103 -0
  453. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  454. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/include.rb +143 -0
  455. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/match.rb +106 -0
  456. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/operators.rb +128 -0
  457. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/output.rb +200 -0
  458. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/raise_error.rb +230 -0
  459. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/respond_to.rb +165 -0
  460. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  461. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  462. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  463. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/yield.rb +432 -0
  464. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/composable.rb +169 -0
  465. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/dsl.rb +527 -0
  466. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/english_phrasing.rb +58 -0
  467. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
  468. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/fail_matchers.rb +42 -0
  469. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/generated_descriptions.rb +42 -0
  470. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
  471. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
  472. data/gems/gems/rspec-mocks-3.6.0/.document +5 -0
  473. data/gems/gems/rspec-mocks-3.6.0/.yardopts +6 -0
  474. data/gems/gems/rspec-mocks-3.6.0/Changelog.md +1073 -0
  475. data/gems/gems/rspec-mocks-3.6.0/LICENSE.md +25 -0
  476. data/gems/gems/rspec-mocks-3.6.0/README.md +460 -0
  477. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks.rb +130 -0
  478. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance.rb +11 -0
  479. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/chain.rb +110 -0
  480. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  481. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  482. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  483. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  484. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  485. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/recorder.rb +289 -0
  486. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  487. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  488. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  489. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_matchers.rb +320 -0
  490. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/configuration.rb +212 -0
  491. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/error_generator.rb +369 -0
  492. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/example_methods.rb +434 -0
  493. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  494. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/marshal_extension.rb +41 -0
  495. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  496. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/have_received.rb +130 -0
  497. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive.rb +132 -0
  498. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  499. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  500. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_chain.rb +87 -0
  501. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_expectation.rb +740 -0
  502. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_double.rb +287 -0
  503. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_reference.rb +202 -0
  504. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/minitest_integration.rb +68 -0
  505. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/mutate_const.rb +339 -0
  506. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/object_reference.rb +149 -0
  507. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/order_group.rb +81 -0
  508. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/proxy.rb +484 -0
  509. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/space.rb +238 -0
  510. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/standalone.rb +3 -0
  511. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/syntax.rb +325 -0
  512. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/targets.rb +124 -0
  513. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/test_double.rb +171 -0
  514. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_double.rb +129 -0
  515. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  516. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
  517. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/version.rb +9 -0
  518. data/gems/gems/rspec-support-3.6.0/Changelog.md +211 -0
  519. data/gems/gems/rspec-support-3.6.0/LICENSE.md +23 -0
  520. data/gems/gems/rspec-support-3.6.0/README.md +40 -0
  521. data/gems/gems/rspec-support-3.6.0/lib/rspec/support.rb +139 -0
  522. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/caller_filter.rb +83 -0
  523. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/comparable_version.rb +46 -0
  524. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/differ.rb +215 -0
  525. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/directory_maker.rb +63 -0
  526. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/encoded_string.rb +165 -0
  527. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  528. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/hunk_generator.rb +47 -0
  529. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/matcher_definition.rb +42 -0
  530. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/method_signature_verifier.rb +392 -0
  531. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/mutex.rb +73 -0
  532. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/object_formatter.rb +268 -0
  533. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  534. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/reentrant_mutex.rb +53 -0
  535. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/ruby_features.rb +162 -0
  536. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source.rb +75 -0
  537. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/location.rb +21 -0
  538. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/node.rb +107 -0
  539. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/token.rb +87 -0
  540. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec.rb +81 -0
  541. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  542. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  543. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/in_sub_process.rb +69 -0
  544. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  545. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/shell_out.rb +84 -0
  546. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
  547. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/string_matcher.rb +46 -0
  548. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  549. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  550. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/version.rb +7 -0
  551. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/warnings.rb +39 -0
  552. data/gems/gems/thor-0.19.4/.document +5 -0
  553. data/gems/gems/thor-0.19.4/CHANGELOG.md +163 -0
  554. data/gems/gems/thor-0.19.4/CONTRIBUTING.md +15 -0
  555. data/gems/gems/thor-0.19.4/LICENSE.md +20 -0
  556. data/gems/gems/thor-0.19.4/README.md +47 -0
  557. data/gems/gems/thor-0.19.4/bin/thor +6 -0
  558. data/gems/gems/thor-0.19.4/lib/thor.rb +492 -0
  559. data/gems/gems/thor-0.19.4/lib/thor/actions.rb +318 -0
  560. data/gems/gems/thor-0.19.4/lib/thor/actions/create_file.rb +103 -0
  561. data/gems/gems/thor-0.19.4/lib/thor/actions/create_link.rb +59 -0
  562. data/gems/gems/thor-0.19.4/lib/thor/actions/directory.rb +118 -0
  563. data/gems/gems/thor-0.19.4/lib/thor/actions/empty_directory.rb +135 -0
  564. data/gems/gems/thor-0.19.4/lib/thor/actions/file_manipulation.rb +327 -0
  565. data/gems/gems/thor-0.19.4/lib/thor/actions/inject_into_file.rb +103 -0
  566. data/gems/gems/thor-0.19.4/lib/thor/base.rb +656 -0
  567. data/gems/gems/thor-0.19.4/lib/thor/command.rb +133 -0
  568. data/gems/gems/thor-0.19.4/lib/thor/core_ext/hash_with_indifferent_access.rb +85 -0
  569. data/gems/gems/thor-0.19.4/lib/thor/core_ext/io_binary_read.rb +12 -0
  570. data/gems/gems/thor-0.19.4/lib/thor/core_ext/ordered_hash.rb +129 -0
  571. data/gems/gems/thor-0.19.4/lib/thor/error.rb +32 -0
  572. data/gems/gems/thor-0.19.4/lib/thor/group.rb +281 -0
  573. data/gems/gems/thor-0.19.4/lib/thor/invocation.rb +177 -0
  574. data/gems/gems/thor-0.19.4/lib/thor/line_editor.rb +17 -0
  575. data/gems/gems/thor-0.19.4/lib/thor/line_editor/basic.rb +35 -0
  576. data/gems/gems/thor-0.19.4/lib/thor/line_editor/readline.rb +88 -0
  577. data/gems/gems/thor-0.19.4/lib/thor/parser.rb +4 -0
  578. data/gems/gems/thor-0.19.4/lib/thor/parser/argument.rb +70 -0
  579. data/gems/gems/thor-0.19.4/lib/thor/parser/arguments.rb +175 -0
  580. data/gems/gems/thor-0.19.4/lib/thor/parser/option.rb +146 -0
  581. data/gems/gems/thor-0.19.4/lib/thor/parser/options.rb +220 -0
  582. data/gems/gems/thor-0.19.4/lib/thor/rake_compat.rb +71 -0
  583. data/gems/gems/thor-0.19.4/lib/thor/runner.rb +322 -0
  584. data/gems/gems/thor-0.19.4/lib/thor/shell.rb +81 -0
  585. data/gems/gems/thor-0.19.4/lib/thor/shell/basic.rb +436 -0
  586. data/gems/gems/thor-0.19.4/lib/thor/shell/color.rb +149 -0
  587. data/gems/gems/thor-0.19.4/lib/thor/shell/html.rb +126 -0
  588. data/gems/gems/thor-0.19.4/lib/thor/util.rb +268 -0
  589. data/gems/gems/thor-0.19.4/lib/thor/version.rb +3 -0
  590. data/gems/gems/thor-0.19.4/thor.gemspec +21 -0
  591. data/gems/gems/unicode-0.4.4.4/README +156 -0
  592. data/gems/gems/unicode-0.4.4.4/Rakefile +103 -0
  593. data/gems/gems/unicode-0.4.4.4/ext/unicode/.sitearchdir.-.unicode.time +0 -0
  594. data/gems/gems/unicode-0.4.4.4/ext/unicode/Makefile +264 -0
  595. data/gems/gems/unicode-0.4.4.4/ext/unicode/extconf.rb +3 -0
  596. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode.c +1325 -0
  597. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode.o +0 -0
  598. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode_native.bundle +0 -0
  599. data/gems/gems/unicode-0.4.4.4/ext/unicode/unidata.map +24555 -0
  600. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.c +208 -0
  601. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.h +48 -0
  602. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.o +0 -0
  603. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.c +257 -0
  604. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.h +43 -0
  605. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.o +0 -0
  606. data/gems/gems/unicode-0.4.4.4/lib/unicode.rb +6 -0
  607. data/gems/gems/unicode-0.4.4.4/lib/unicode/unicode_native.bundle +0 -0
  608. data/gems/gems/unicode-0.4.4.4/test/test.rb +69 -0
  609. data/gems/gems/unicode-0.4.4.4/tools/README +7 -0
  610. data/gems/gems/unicode-0.4.4.4/tools/mkunidata.rb +293 -0
  611. data/gems/gems/unicode-0.4.4.4/tools/normtest.rb +111 -0
  612. data/gems/gems/unicode-0.4.4.4/unicode.gemspec +30 -0
  613. data/gems/specifications/bibtex-ruby-4.4.4.gemspec +32 -0
  614. data/gems/specifications/diff-lcs-1.3.gemspec +61 -0
  615. data/gems/specifications/latex-decode-0.2.2.gemspec +35 -0
  616. data/gems/specifications/rake-10.5.0.gemspec +43 -0
  617. data/gems/specifications/rspec-3.6.0.gemspec +42 -0
  618. data/gems/specifications/rspec-core-3.6.0.gemspec +62 -0
  619. data/gems/specifications/rspec-expectations-3.6.0.gemspec +50 -0
  620. data/gems/specifications/rspec-mocks-3.6.0.gemspec +50 -0
  621. data/gems/specifications/rspec-support-3.6.0.gemspec +41 -0
  622. data/gems/specifications/thor-0.19.4.gemspec +35 -0
  623. data/gems/specifications/unicode-0.4.4.4.gemspec +25 -0
  624. data/lib/bibtex_to_scrapbox.rb +67 -0
  625. data/lib/bibtex_to_scrapbox/version.rb +3 -0
  626. data/lib/cli.rb +23 -0
  627. metadata +740 -0
@@ -0,0 +1,116 @@
1
+ module RSpec
2
+ module Matchers
3
+ # Decorator that wraps a matcher and overrides `description`
4
+ # using the provided block in order to support an alias
5
+ # of a matcher. This is intended for use when composing
6
+ # matchers, so that you can use an expression like
7
+ # `include( a_value_within(0.1).of(3) )` rather than
8
+ # `include( be_within(0.1).of(3) )`, and have the corresponding
9
+ # description read naturally.
10
+ #
11
+ # @api private
12
+ class AliasedMatcher < MatcherDelegator
13
+ def initialize(base_matcher, description_block)
14
+ @description_block = description_block
15
+ super(base_matcher)
16
+ end
17
+
18
+ # Forward messages on to the wrapped matcher.
19
+ # Since many matchers provide a fluent interface
20
+ # (e.g. `a_value_within(0.1).of(3)`), we need to wrap
21
+ # the returned value if it responds to `description`,
22
+ # so that our override can be applied when it is eventually
23
+ # used.
24
+ def method_missing(*)
25
+ return_val = super
26
+ return return_val unless RSpec::Matchers.is_a_matcher?(return_val)
27
+ self.class.new(return_val, @description_block)
28
+ end
29
+
30
+ # Provides the description of the aliased matcher. Aliased matchers
31
+ # are designed to behave identically to the original matcher except
32
+ # for the description and failure messages. The description is different
33
+ # to reflect the aliased name.
34
+ #
35
+ # @api private
36
+ def description
37
+ @description_block.call(super)
38
+ end
39
+
40
+ # Provides the failure_message of the aliased matcher. Aliased matchers
41
+ # are designed to behave identically to the original matcher except
42
+ # for the description and failure messages. The failure_message is different
43
+ # to reflect the aliased name.
44
+ #
45
+ # @api private
46
+ def failure_message
47
+ @description_block.call(super)
48
+ end
49
+
50
+ # Provides the failure_message_when_negated of the aliased matcher. Aliased matchers
51
+ # are designed to behave identically to the original matcher except
52
+ # for the description and failure messages. The failure_message_when_negated is different
53
+ # to reflect the aliased name.
54
+ #
55
+ # @api private
56
+ def failure_message_when_negated
57
+ @description_block.call(super)
58
+ end
59
+ end
60
+
61
+ # Decorator used for matchers that have special implementations of
62
+ # operators like `==` and `===`.
63
+ # @private
64
+ class AliasedMatcherWithOperatorSupport < AliasedMatcher
65
+ # We undef these so that they get delegated via `method_missing`.
66
+ undef ==
67
+ undef ===
68
+ end
69
+
70
+ # @private
71
+ class AliasedNegatedMatcher < AliasedMatcher
72
+ def matches?(*args, &block)
73
+ if @base_matcher.respond_to?(:does_not_match?)
74
+ @base_matcher.does_not_match?(*args, &block)
75
+ else
76
+ !super
77
+ end
78
+ end
79
+
80
+ def does_not_match?(*args, &block)
81
+ @base_matcher.matches?(*args, &block)
82
+ end
83
+
84
+ def failure_message
85
+ optimal_failure_message(__method__, :failure_message_when_negated)
86
+ end
87
+
88
+ def failure_message_when_negated
89
+ optimal_failure_message(__method__, :failure_message)
90
+ end
91
+
92
+ private
93
+
94
+ DefaultFailureMessages = BuiltIn::BaseMatcher::DefaultFailureMessages
95
+
96
+ # For a matcher that uses the default failure messages, we prefer to
97
+ # use the override provided by the `description_block`, because it
98
+ # includes the phrasing that the user has expressed a preference for
99
+ # by going through the effort of defining a negated matcher.
100
+ #
101
+ # However, if the override didn't actually change anything, then we
102
+ # should return the opposite failure message instead -- the overriden
103
+ # message is going to be confusing if we return it as-is, as it represents
104
+ # the non-negated failure message for a negated match (or vice versa).
105
+ def optimal_failure_message(same, inverted)
106
+ if DefaultFailureMessages.has_default_failure_messages?(@base_matcher)
107
+ base_message = @base_matcher.__send__(same)
108
+ overriden = @description_block.call(base_message)
109
+ return overriden if overriden != base_message
110
+ end
111
+
112
+ @base_matcher.__send__(inverted)
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,52 @@
1
+ RSpec::Support.require_rspec_matchers "built_in/base_matcher"
2
+
3
+ module RSpec
4
+ module Matchers
5
+ # Container module for all built-in matchers. The matcher classes are here
6
+ # (rather than directly under `RSpec::Matchers`) in order to prevent name
7
+ # collisions, since `RSpec::Matchers` gets included into the user's namespace.
8
+ #
9
+ # Autoloading is used to delay when the matcher classes get loaded, allowing
10
+ # rspec-matchers to boot faster, and avoiding loading matchers the user is
11
+ # not using.
12
+ module BuiltIn
13
+ autoload :BeAKindOf, 'rspec/matchers/built_in/be_kind_of'
14
+ autoload :BeAnInstanceOf, 'rspec/matchers/built_in/be_instance_of'
15
+ autoload :BeBetween, 'rspec/matchers/built_in/be_between'
16
+ autoload :Be, 'rspec/matchers/built_in/be'
17
+ autoload :BeComparedTo, 'rspec/matchers/built_in/be'
18
+ autoload :BeFalsey, 'rspec/matchers/built_in/be'
19
+ autoload :BeNil, 'rspec/matchers/built_in/be'
20
+ autoload :BePredicate, 'rspec/matchers/built_in/be'
21
+ autoload :BeTruthy, 'rspec/matchers/built_in/be'
22
+ autoload :BeWithin, 'rspec/matchers/built_in/be_within'
23
+ autoload :Change, 'rspec/matchers/built_in/change'
24
+ autoload :Compound, 'rspec/matchers/built_in/compound'
25
+ autoload :ContainExactly, 'rspec/matchers/built_in/contain_exactly'
26
+ autoload :Cover, 'rspec/matchers/built_in/cover'
27
+ autoload :EndWith, 'rspec/matchers/built_in/start_or_end_with'
28
+ autoload :Eq, 'rspec/matchers/built_in/eq'
29
+ autoload :Eql, 'rspec/matchers/built_in/eql'
30
+ autoload :Equal, 'rspec/matchers/built_in/equal'
31
+ autoload :Exist, 'rspec/matchers/built_in/exist'
32
+ autoload :Has, 'rspec/matchers/built_in/has'
33
+ autoload :HaveAttributes, 'rspec/matchers/built_in/have_attributes'
34
+ autoload :Include, 'rspec/matchers/built_in/include'
35
+ autoload :All, 'rspec/matchers/built_in/all'
36
+ autoload :Match, 'rspec/matchers/built_in/match'
37
+ autoload :NegativeOperatorMatcher, 'rspec/matchers/built_in/operators'
38
+ autoload :OperatorMatcher, 'rspec/matchers/built_in/operators'
39
+ autoload :Output, 'rspec/matchers/built_in/output'
40
+ autoload :PositiveOperatorMatcher, 'rspec/matchers/built_in/operators'
41
+ autoload :RaiseError, 'rspec/matchers/built_in/raise_error'
42
+ autoload :RespondTo, 'rspec/matchers/built_in/respond_to'
43
+ autoload :Satisfy, 'rspec/matchers/built_in/satisfy'
44
+ autoload :StartWith, 'rspec/matchers/built_in/start_or_end_with'
45
+ autoload :ThrowSymbol, 'rspec/matchers/built_in/throw_symbol'
46
+ autoload :YieldControl, 'rspec/matchers/built_in/yield'
47
+ autoload :YieldSuccessiveArgs, 'rspec/matchers/built_in/yield'
48
+ autoload :YieldWithArgs, 'rspec/matchers/built_in/yield'
49
+ autoload :YieldWithNoArgs, 'rspec/matchers/built_in/yield'
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,85 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for `all`.
6
+ # Not intended to be instantiated directly.
7
+ class All < BaseMatcher
8
+ # @private
9
+ attr_reader :matcher, :failed_objects
10
+
11
+ def initialize(matcher)
12
+ @matcher = matcher
13
+ @failed_objects = {}
14
+ end
15
+
16
+ # @private
17
+ def does_not_match?(_actual)
18
+ raise NotImplementedError, '`expect().not_to all( matcher )` is not supported.'
19
+ end
20
+
21
+ # @api private
22
+ # @return [String]
23
+ def failure_message
24
+ unless iterable?
25
+ return "#{improve_hash_formatting(super)}, but was not iterable"
26
+ end
27
+
28
+ all_messages = [improve_hash_formatting(super)]
29
+ failed_objects.each do |index, matcher_failure_message|
30
+ all_messages << failure_message_for_item(index, matcher_failure_message)
31
+ end
32
+ all_messages.join("\n\n")
33
+ end
34
+
35
+ # @api private
36
+ # @return [String]
37
+ def description
38
+ improve_hash_formatting "all #{description_of matcher}"
39
+ end
40
+
41
+ private
42
+
43
+ def match(_expected, _actual)
44
+ return false unless iterable?
45
+
46
+ index_failed_objects
47
+ failed_objects.empty?
48
+ end
49
+
50
+ def index_failed_objects
51
+ actual.each_with_index do |actual_item, index|
52
+ cloned_matcher = matcher.clone
53
+ matches = cloned_matcher.matches?(actual_item)
54
+ failed_objects[index] = cloned_matcher.failure_message unless matches
55
+ end
56
+ end
57
+
58
+ def failure_message_for_item(index, failure_message)
59
+ failure_message = indent_multiline_message(add_new_line_if_needed(failure_message))
60
+ indent_multiline_message("object at index #{index} failed to match:#{failure_message}")
61
+ end
62
+
63
+ def add_new_line_if_needed(message)
64
+ message.start_with?("\n") ? message : "\n#{message}"
65
+ end
66
+
67
+ def indent_multiline_message(message)
68
+ message = message.sub(/\n+\z/, '')
69
+ message.lines.map do |line|
70
+ line =~ /\S/ ? ' ' + line : line
71
+ end.join
72
+ end
73
+
74
+ def initialize_copy(other)
75
+ @matcher = @matcher.clone
76
+ super
77
+ end
78
+
79
+ def iterable?
80
+ @actual.respond_to?(:each_with_index)
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,193 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ #
6
+ # Used _internally_ as a base class for matchers that ship with
7
+ # rspec-expectations and rspec-rails.
8
+ #
9
+ # ### Warning:
10
+ #
11
+ # This class is for internal use, and subject to change without notice.
12
+ # We strongly recommend that you do not base your custom matchers on this
13
+ # class. If/when this changes, we will announce it and remove this warning.
14
+ class BaseMatcher
15
+ include RSpec::Matchers::Composable
16
+
17
+ # @api private
18
+ # Used to detect when no arg is passed to `initialize`.
19
+ # `nil` cannot be used because it's a valid value to pass.
20
+ UNDEFINED = Object.new.freeze
21
+
22
+ # @private
23
+ attr_reader :actual, :expected, :rescued_exception
24
+
25
+ # @private
26
+ attr_writer :matcher_name
27
+
28
+ def initialize(expected=UNDEFINED)
29
+ @expected = expected unless UNDEFINED.equal?(expected)
30
+ end
31
+
32
+ # @api private
33
+ # Indicates if the match is successful. Delegates to `match`, which
34
+ # should be defined on a subclass. Takes care of consistently
35
+ # initializing the `actual` attribute.
36
+ def matches?(actual)
37
+ @actual = actual
38
+ match(expected, actual)
39
+ end
40
+
41
+ # @api private
42
+ # Used to wrap a block of code that will indicate failure by
43
+ # raising one of the named exceptions.
44
+ #
45
+ # This is used by rspec-rails for some of its matchers that
46
+ # wrap rails' assertions.
47
+ def match_unless_raises(*exceptions)
48
+ exceptions.unshift Exception if exceptions.empty?
49
+ begin
50
+ yield
51
+ true
52
+ rescue *exceptions => @rescued_exception
53
+ false
54
+ end
55
+ end
56
+
57
+ # @api private
58
+ # Generates a description using {EnglishPhrasing}.
59
+ # @return [String]
60
+ def description
61
+ desc = EnglishPhrasing.split_words(self.class.matcher_name)
62
+ desc << EnglishPhrasing.list(@expected) if defined?(@expected)
63
+ desc
64
+ end
65
+
66
+ # @api private
67
+ # Matchers are not diffable by default. Override this to make your
68
+ # subclass diffable.
69
+ def diffable?
70
+ false
71
+ end
72
+
73
+ # @api private
74
+ # Most matchers are value matchers (i.e. meant to work with `expect(value)`)
75
+ # rather than block matchers (i.e. meant to work with `expect { }`), so
76
+ # this defaults to false. Block matchers must override this to return true.
77
+ def supports_block_expectations?
78
+ false
79
+ end
80
+
81
+ # @api private
82
+ def expects_call_stack_jump?
83
+ false
84
+ end
85
+
86
+ # @private
87
+ def expected_formatted
88
+ RSpec::Support::ObjectFormatter.format(@expected)
89
+ end
90
+
91
+ # @private
92
+ def actual_formatted
93
+ RSpec::Support::ObjectFormatter.format(@actual)
94
+ end
95
+
96
+ # @private
97
+ def self.matcher_name
98
+ @matcher_name ||= underscore(name.split('::').last)
99
+ end
100
+
101
+ # @private
102
+ def matcher_name
103
+ if defined?(@matcher_name)
104
+ @matcher_name
105
+ else
106
+ self.class.matcher_name
107
+ end
108
+ end
109
+
110
+ # @private
111
+ # Borrowed from ActiveSupport.
112
+ def self.underscore(camel_cased_word)
113
+ word = camel_cased_word.to_s.dup
114
+ word.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
115
+ word.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
116
+ word.tr!('-', '_')
117
+ word.downcase!
118
+ word
119
+ end
120
+ private_class_method :underscore
121
+
122
+ private
123
+
124
+ def assert_ivars(*expected_ivars)
125
+ return unless (expected_ivars - present_ivars).any?
126
+ ivar_list = EnglishPhrasing.list(expected_ivars)
127
+ raise "#{self.class.name} needs to supply#{ivar_list}"
128
+ end
129
+
130
+ if RUBY_VERSION.to_f < 1.9
131
+ # :nocov:
132
+ def present_ivars
133
+ instance_variables.map(&:to_sym)
134
+ end
135
+ # :nocov:
136
+ else
137
+ alias present_ivars instance_variables
138
+ end
139
+
140
+ # @private
141
+ module HashFormatting
142
+ # `{ :a => 5, :b => 2 }.inspect` produces:
143
+ #
144
+ # {:a=>5, :b=>2}
145
+ #
146
+ # ...but it looks much better as:
147
+ #
148
+ # {:a => 5, :b => 2}
149
+ #
150
+ # This is idempotent and safe to run on a string multiple times.
151
+ def improve_hash_formatting(inspect_string)
152
+ inspect_string.gsub(/(\S)=>(\S)/, '\1 => \2')
153
+ end
154
+ module_function :improve_hash_formatting
155
+ end
156
+
157
+ include HashFormatting
158
+
159
+ # @api private
160
+ # Provides default implementations of failure messages, based on the `description`.
161
+ module DefaultFailureMessages
162
+ # @api private
163
+ # Provides a good generic failure message. Based on `description`.
164
+ # When subclassing, if you are not satisfied with this failure message
165
+ # you often only need to override `description`.
166
+ # @return [String]
167
+ def failure_message
168
+ "expected #{description_of @actual} to #{description}"
169
+ end
170
+
171
+ # @api private
172
+ # Provides a good generic negative failure message. Based on `description`.
173
+ # When subclassing, if you are not satisfied with this failure message
174
+ # you often only need to override `description`.
175
+ # @return [String]
176
+ def failure_message_when_negated
177
+ "expected #{description_of @actual} not to #{description}"
178
+ end
179
+
180
+ # @private
181
+ def self.has_default_failure_messages?(matcher)
182
+ matcher.method(:failure_message).owner == self &&
183
+ matcher.method(:failure_message_when_negated).owner == self
184
+ rescue NameError
185
+ false
186
+ end
187
+ end
188
+
189
+ include DefaultFailureMessages
190
+ end
191
+ end
192
+ end
193
+ end