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,134 +0,0 @@
1
- module RSpec
2
- module Core
3
- module Formatters
4
- # @private
5
- class SnippetExtractor
6
- NoSuchFileError = Class.new(StandardError)
7
- NoSuchLineError = Class.new(StandardError)
8
-
9
- def self.extract_line_at(file_path, line_number)
10
- source = source_from_file(file_path)
11
- line = source.lines[line_number - 1]
12
- raise NoSuchLineError unless line
13
- line
14
- end
15
-
16
- def self.source_from_file(path)
17
- raise NoSuchFileError unless File.exist?(path)
18
- RSpec.world.source_from_file(path)
19
- end
20
-
21
- if RSpec::Support::RubyFeatures.ripper_supported?
22
- NoExpressionAtLineError = Class.new(StandardError)
23
-
24
- attr_reader :source, :beginning_line_number, :max_line_count
25
-
26
- def self.extract_expression_lines_at(file_path, beginning_line_number, max_line_count=nil)
27
- if max_line_count == 1
28
- [extract_line_at(file_path, beginning_line_number)]
29
- else
30
- source = source_from_file(file_path)
31
- new(source, beginning_line_number, max_line_count).expression_lines
32
- end
33
- end
34
-
35
- def initialize(source, beginning_line_number, max_line_count=nil)
36
- @source = source
37
- @beginning_line_number = beginning_line_number
38
- @max_line_count = max_line_count
39
- end
40
-
41
- def expression_lines
42
- line_range = line_range_of_expression
43
-
44
- if max_line_count && line_range.count > max_line_count
45
- line_range = (line_range.begin)..(line_range.begin + max_line_count - 1)
46
- end
47
-
48
- source.lines[(line_range.begin - 1)..(line_range.end - 1)]
49
- rescue SyntaxError, NoExpressionAtLineError
50
- [self.class.extract_line_at(source.path, beginning_line_number)]
51
- end
52
-
53
- private
54
-
55
- def line_range_of_expression
56
- @line_range_of_expression ||= begin
57
- line_range = line_range_of_location_nodes_in_expression
58
- initial_unclosed_tokens = unclosed_tokens_in_line_range(line_range)
59
- unclosed_tokens = initial_unclosed_tokens
60
-
61
- until (initial_unclosed_tokens & unclosed_tokens).empty?
62
- line_range = (line_range.begin)..(line_range.end + 1)
63
- unclosed_tokens = unclosed_tokens_in_line_range(line_range)
64
- end
65
-
66
- line_range
67
- end
68
- end
69
-
70
- def unclosed_tokens_in_line_range(line_range)
71
- tokens = FlatMap.flat_map(line_range) do |line_number|
72
- source.tokens_by_line_number[line_number]
73
- end
74
-
75
- tokens.each_with_object([]) do |token, unclosed_tokens|
76
- if token.opening?
77
- unclosed_tokens << token
78
- else
79
- index = unclosed_tokens.rindex do |unclosed_token|
80
- unclosed_token.closed_by?(token)
81
- end
82
- unclosed_tokens.delete_at(index) if index
83
- end
84
- end
85
- end
86
-
87
- def line_range_of_location_nodes_in_expression
88
- line_numbers = expression_node.each_with_object(Set.new) do |node, set|
89
- set << node.location.line if node.location
90
- end
91
-
92
- line_numbers.min..line_numbers.max
93
- end
94
-
95
- def expression_node
96
- raise NoExpressionAtLineError if location_nodes_at_beginning_line.empty?
97
-
98
- @expression_node ||= begin
99
- common_ancestor_nodes = location_nodes_at_beginning_line.map do |node|
100
- node.each_ancestor.to_a
101
- end.reduce(:&)
102
-
103
- common_ancestor_nodes.find { |node| expression_outmost_node?(node) }
104
- end
105
- end
106
-
107
- def expression_outmost_node?(node)
108
- return true unless node.parent
109
- return false if node.type.to_s.start_with?('@')
110
- ![node, node.parent].all? do |n|
111
- # See `Ripper::PARSER_EVENTS` for the complete list of sexp types.
112
- type = n.type.to_s
113
- type.end_with?('call') || type.start_with?('method_add_')
114
- end
115
- end
116
-
117
- def location_nodes_at_beginning_line
118
- source.nodes_by_line_number[beginning_line_number]
119
- end
120
- else
121
- # :nocov:
122
- def self.extract_expression_lines_at(file_path, beginning_line_number, *)
123
- [extract_line_at(file_path, beginning_line_number)]
124
- end
125
- # :nocov:
126
- end
127
-
128
- def self.least_indentation_from(lines)
129
- lines.map { |line| line[/^[ \t]*/] }.min
130
- end
131
- end
132
- end
133
- end
134
- end
@@ -1,91 +0,0 @@
1
- module RSpec
2
- module Core
3
- module Formatters
4
- # @private
5
- # Provides terminal syntax highlighting of code snippets
6
- # when coderay is available.
7
- class SyntaxHighlighter
8
- def initialize(configuration)
9
- @configuration = configuration
10
- end
11
-
12
- def highlight(lines)
13
- implementation.highlight_syntax(lines)
14
- end
15
-
16
- private
17
-
18
- if RSpec::Support::OS.windows?
19
- # :nocov:
20
- def implementation
21
- WindowsImplementation
22
- end
23
- # :nocov:
24
- else
25
- def implementation
26
- return color_enabled_implementation if @configuration.color_enabled?
27
- NoSyntaxHighlightingImplementation
28
- end
29
- end
30
-
31
- def color_enabled_implementation
32
- @color_enabled_implementation ||= begin
33
- require 'coderay'
34
- self.class.attempt_to_add_rspec_terms_to_coderay_keywords
35
- CodeRayImplementation
36
- rescue LoadError
37
- NoSyntaxHighlightingImplementation
38
- end
39
- end
40
-
41
- # rubocop:disable Lint/RescueException
42
- # rubocop:disable Lint/HandleExceptions
43
- def self.attempt_to_add_rspec_terms_to_coderay_keywords
44
- CodeRay::Scanners::Ruby::Patterns::IDENT_KIND.add(%w[
45
- describe context
46
- it specify
47
- before after around
48
- let subject
49
- expect allow
50
- ], :keyword)
51
- rescue Exception
52
- # Mutating CodeRay's contants like this is not a public API
53
- # and might not always work. If we cannot add our keywords
54
- # to CodeRay it is not a big deal and not worth raising an
55
- # error over, so we ignore it.
56
- end
57
- # rubocop:enable Lint/HandleExceptions
58
- # rubocop:enable Lint/RescueException
59
-
60
- # @private
61
- module CodeRayImplementation
62
- RESET_CODE = "\e[0m"
63
-
64
- def self.highlight_syntax(lines)
65
- highlighted = begin
66
- CodeRay.encode(lines.join("\n"), :ruby, :terminal)
67
- rescue Support::AllExceptionsExceptOnesWeMustNotRescue
68
- return lines
69
- end
70
-
71
- highlighted.split("\n").map do |line|
72
- line.sub(/\S/) { |char| char.insert(0, RESET_CODE) }
73
- end
74
- end
75
- end
76
-
77
- # @private
78
- module NoSyntaxHighlightingImplementation
79
- def self.highlight_syntax(lines)
80
- lines
81
- end
82
- end
83
-
84
- # @private
85
- # Not sure why, but our code above (and/or coderay itself) does not work
86
- # on Windows, so we disable the feature on Windows.
87
- WindowsImplementation = NoSyntaxHighlightingImplementation
88
- end
89
- end
90
- end
91
- end
@@ -1,624 +0,0 @@
1
- module RSpec
2
- module Core
3
- # Provides `before`, `after` and `around` hooks as a means of
4
- # supporting common setup and teardown. This module is extended
5
- # onto {ExampleGroup}, making the methods available from any `describe`
6
- # or `context` block and included in {Configuration}, making them
7
- # available off of the configuration object to define global setup
8
- # or teardown logic.
9
- module Hooks
10
- # @api public
11
- #
12
- # @overload before(&block)
13
- # @overload before(scope, &block)
14
- # @param scope [Symbol] `:example`, `:context`, or `:suite`
15
- # (defaults to `:example`)
16
- # @overload before(scope, conditions, &block)
17
- # @param scope [Symbol] `:example`, `:context`, or `:suite`
18
- # (defaults to `:example`)
19
- # @param conditions [Hash]
20
- # constrains this hook to examples matching these conditions e.g.
21
- # `before(:example, :ui => true) { ... }` will only run with examples
22
- # or groups declared with `:ui => true`.
23
- # @overload before(conditions, &block)
24
- # @param conditions [Hash]
25
- # constrains this hook to examples matching these conditions e.g.
26
- # `before(:example, :ui => true) { ... }` will only run with examples
27
- # or groups declared with `:ui => true`.
28
- #
29
- # @see #after
30
- # @see #around
31
- # @see ExampleGroup
32
- # @see SharedContext
33
- # @see SharedExampleGroup
34
- # @see Configuration
35
- #
36
- # Declare a block of code to be run before each example (using `:example`)
37
- # or once before any example (using `:context`). These are usually
38
- # declared directly in the {ExampleGroup} to which they apply, but they
39
- # can also be shared across multiple groups.
40
- #
41
- # You can also use `before(:suite)` to run a block of code before any
42
- # example groups are run. This should be declared in {RSpec.configure}.
43
- #
44
- # Instance variables declared in `before(:example)` or `before(:context)`
45
- # are accessible within each example.
46
- #
47
- # ### Order
48
- #
49
- # `before` hooks are stored in three scopes, which are run in order:
50
- # `:suite`, `:context`, and `:example`. They can also be declared in
51
- # several different places: `RSpec.configure`, a parent group, the current
52
- # group. They are run in the following order:
53
- #
54
- # before(:suite) # Declared in RSpec.configure.
55
- # before(:context) # Declared in RSpec.configure.
56
- # before(:context) # Declared in a parent group.
57
- # before(:context) # Declared in the current group.
58
- # before(:example) # Declared in RSpec.configure.
59
- # before(:example) # Declared in a parent group.
60
- # before(:example) # Declared in the current group.
61
- #
62
- # If more than one `before` is declared within any one scope, they are run
63
- # in the order in which they are declared.
64
- #
65
- # ### Conditions
66
- #
67
- # When you add a conditions hash to `before(:example)` or
68
- # `before(:context)`, RSpec will only apply that hook to groups or
69
- # examples that match the conditions. e.g.
70
- #
71
- # RSpec.configure do |config|
72
- # config.before(:example, :authorized => true) do
73
- # log_in_as :authorized_user
74
- # end
75
- # end
76
- #
77
- # describe Something, :authorized => true do
78
- # # The before hook will run in before each example in this group.
79
- # end
80
- #
81
- # describe SomethingElse do
82
- # it "does something", :authorized => true do
83
- # # The before hook will run before this example.
84
- # end
85
- #
86
- # it "does something else" do
87
- # # The hook will not run before this example.
88
- # end
89
- # end
90
- #
91
- # Note that filtered config `:context` hooks can still be applied
92
- # to individual examples that have matching metadata. Just like
93
- # Ruby's object model is that every object has a singleton class
94
- # which has only a single instance, RSpec's model is that every
95
- # example has a singleton example group containing just the one
96
- # example.
97
- #
98
- # ### Warning: `before(:suite, :with => :conditions)`
99
- #
100
- # The conditions hash is used to match against specific examples. Since
101
- # `before(:suite)` is not run in relation to any specific example or
102
- # group, conditions passed along with `:suite` are effectively ignored.
103
- #
104
- # ### Exceptions
105
- #
106
- # When an exception is raised in a `before` block, RSpec skips any
107
- # subsequent `before` blocks and the example, but runs all of the
108
- # `after(:example)` and `after(:context)` hooks.
109
- #
110
- # ### Warning: implicit before blocks
111
- #
112
- # `before` hooks can also be declared in shared contexts which get
113
- # included implicitly either by you or by extension libraries. Since
114
- # RSpec runs these in the order in which they are declared within each
115
- # scope, load order matters, and can lead to confusing results when one
116
- # before block depends on state that is prepared in another before block
117
- # that gets run later.
118
- #
119
- # ### Warning: `before(:context)`
120
- #
121
- # It is very tempting to use `before(:context)` to speed things up, but we
122
- # recommend that you avoid this as there are a number of gotchas, as well
123
- # as things that simply don't work.
124
- #
125
- # #### Context
126
- #
127
- # `before(:context)` is run in an example that is generated to provide
128
- # group context for the block.
129
- #
130
- # #### Instance variables
131
- #
132
- # Instance variables declared in `before(:context)` are shared across all
133
- # the examples in the group. This means that each example can change the
134
- # state of a shared object, resulting in an ordering dependency that can
135
- # make it difficult to reason about failures.
136
- #
137
- # #### Unsupported RSpec constructs
138
- #
139
- # RSpec has several constructs that reset state between each example
140
- # automatically. These are not intended for use from within
141
- # `before(:context)`:
142
- #
143
- # * `let` declarations
144
- # * `subject` declarations
145
- # * Any mocking, stubbing or test double declaration
146
- #
147
- # ### other frameworks
148
- #
149
- # Mock object frameworks and database transaction managers (like
150
- # ActiveRecord) are typically designed around the idea of setting up
151
- # before an example, running that one example, and then tearing down. This
152
- # means that mocks and stubs can (sometimes) be declared in
153
- # `before(:context)`, but get torn down before the first real example is
154
- # ever run.
155
- #
156
- # You _can_ create database-backed model objects in a `before(:context)`
157
- # in rspec-rails, but it will not be wrapped in a transaction for you, so
158
- # you are on your own to clean up in an `after(:context)` block.
159
- #
160
- # @example before(:example) declared in an {ExampleGroup}
161
- #
162
- # describe Thing do
163
- # before(:example) do
164
- # @thing = Thing.new
165
- # end
166
- #
167
- # it "does something" do
168
- # # Here you can access @thing.
169
- # end
170
- # end
171
- #
172
- # @example before(:context) declared in an {ExampleGroup}
173
- #
174
- # describe Parser do
175
- # before(:context) do
176
- # File.open(file_to_parse, 'w') do |f|
177
- # f.write <<-CONTENT
178
- # stuff in the file
179
- # CONTENT
180
- # end
181
- # end
182
- #
183
- # it "parses the file" do
184
- # Parser.parse(file_to_parse)
185
- # end
186
- #
187
- # after(:context) do
188
- # File.delete(file_to_parse)
189
- # end
190
- # end
191
- #
192
- # @note The `:example` and `:context` scopes are also available as
193
- # `:each` and `:all`, respectively. Use whichever you prefer.
194
- # @note The `:suite` scope is only supported for hooks registered on
195
- # `RSpec.configuration` since they exist independently of any
196
- # example or example group.
197
- def before(*args, &block)
198
- hooks.register :append, :before, *args, &block
199
- end
200
-
201
- alias_method :append_before, :before
202
-
203
- # Adds `block` to the front of the list of `before` blocks in the same
204
- # scope (`:example`, `:context`, or `:suite`).
205
- #
206
- # See {#before} for scoping semantics.
207
- def prepend_before(*args, &block)
208
- hooks.register :prepend, :before, *args, &block
209
- end
210
-
211
- # @api public
212
- # @overload after(&block)
213
- # @overload after(scope, &block)
214
- # @param scope [Symbol] `:example`, `:context`, or `:suite` (defaults to
215
- # `:example`)
216
- # @overload after(scope, conditions, &block)
217
- # @param scope [Symbol] `:example`, `:context`, or `:suite` (defaults to
218
- # `:example`)
219
- # @param conditions [Hash]
220
- # constrains this hook to examples matching these conditions e.g.
221
- # `after(:example, :ui => true) { ... }` will only run with examples
222
- # or groups declared with `:ui => true`.
223
- # @overload after(conditions, &block)
224
- # @param conditions [Hash]
225
- # constrains this hook to examples matching these conditions e.g.
226
- # `after(:example, :ui => true) { ... }` will only run with examples
227
- # or groups declared with `:ui => true`.
228
- #
229
- # @see #before
230
- # @see #around
231
- # @see ExampleGroup
232
- # @see SharedContext
233
- # @see SharedExampleGroup
234
- # @see Configuration
235
- #
236
- # Declare a block of code to be run after each example (using `:example`)
237
- # or once after all examples n the context (using `:context`). See
238
- # {#before} for more information about ordering.
239
- #
240
- # ### Exceptions
241
- #
242
- # `after` hooks are guaranteed to run even when there are exceptions in
243
- # `before` hooks or examples. When an exception is raised in an after
244
- # block, the exception is captured for later reporting, and subsequent
245
- # `after` blocks are run.
246
- #
247
- # ### Order
248
- #
249
- # `after` hooks are stored in three scopes, which are run in order:
250
- # `:example`, `:context`, and `:suite`. They can also be declared in
251
- # several different places: `RSpec.configure`, a parent group, the current
252
- # group. They are run in the following order:
253
- #
254
- # after(:example) # Declared in the current group.
255
- # after(:example) # Declared in a parent group.
256
- # after(:example) # Declared in RSpec.configure.
257
- # after(:context) # Declared in the current group.
258
- # after(:context) # Declared in a parent group.
259
- # after(:context) # Declared in RSpec.configure.
260
- # after(:suite) # Declared in RSpec.configure.
261
- #
262
- # This is the reverse of the order in which `before` hooks are run.
263
- # Similarly, if more than one `after` is declared within any one scope,
264
- # they are run in reverse order of that in which they are declared.
265
- #
266
- # @note The `:example` and `:context` scopes are also available as
267
- # `:each` and `:all`, respectively. Use whichever you prefer.
268
- # @note The `:suite` scope is only supported for hooks registered on
269
- # `RSpec.configuration` since they exist independently of any
270
- # example or example group.
271
- def after(*args, &block)
272
- hooks.register :prepend, :after, *args, &block
273
- end
274
-
275
- alias_method :prepend_after, :after
276
-
277
- # Adds `block` to the back of the list of `after` blocks in the same
278
- # scope (`:example`, `:context`, or `:suite`).
279
- #
280
- # See {#after} for scoping semantics.
281
- def append_after(*args, &block)
282
- hooks.register :append, :after, *args, &block
283
- end
284
-
285
- # @api public
286
- # @overload around(&block)
287
- # @overload around(scope, &block)
288
- # @param scope [Symbol] `:example` (defaults to `:example`)
289
- # present for syntax parity with `before` and `after`, but
290
- # `:example`/`:each` is the only supported value.
291
- # @overload around(scope, conditions, &block)
292
- # @param scope [Symbol] `:example` (defaults to `:example`)
293
- # present for syntax parity with `before` and `after`, but
294
- # `:example`/`:each` is the only supported value.
295
- # @param conditions [Hash] constrains this hook to examples matching
296
- # these conditions e.g. `around(:example, :ui => true) { ... }` will
297
- # only run with examples or groups declared with `:ui => true`.
298
- # @overload around(conditions, &block)
299
- # @param conditions [Hash] constrains this hook to examples matching
300
- # these conditions e.g. `around(:example, :ui => true) { ... }` will
301
- # only run with examples or groups declared with `:ui => true`.
302
- #
303
- # @yield [Example] the example to run
304
- #
305
- # @note the syntax of `around` is similar to that of `before` and `after`
306
- # but the semantics are quite different. `before` and `after` hooks are
307
- # run in the context of of the examples with which they are associated,
308
- # whereas `around` hooks are actually responsible for running the
309
- # examples. Consequently, `around` hooks do not have direct access to
310
- # resources that are made available within the examples and their
311
- # associated `before` and `after` hooks.
312
- #
313
- # @note `:example`/`:each` is the only supported scope.
314
- #
315
- # Declare a block of code, parts of which will be run before and parts
316
- # after the example. It is your responsibility to run the example:
317
- #
318
- # around(:example) do |ex|
319
- # # Do some stuff before.
320
- # ex.run
321
- # # Do some stuff after.
322
- # end
323
- #
324
- # The yielded example aliases `run` with `call`, which lets you treat it
325
- # like a `Proc`. This is especially handy when working with libaries
326
- # that manage their own setup and teardown using a block or proc syntax,
327
- # e.g.
328
- #
329
- # around(:example) {|ex| Database.transaction(&ex)}
330
- # around(:example) {|ex| FakeFS(&ex)}
331
- #
332
- def around(*args, &block)
333
- hooks.register :prepend, :around, *args, &block
334
- end
335
-
336
- # @private
337
- # Holds the various registered hooks.
338
- def hooks
339
- @hooks ||= HookCollections.new(self, FilterableItemRepository::UpdateOptimized)
340
- end
341
-
342
- private
343
-
344
- # @private
345
- Hook = Struct.new(:block, :options)
346
-
347
- # @private
348
- class BeforeHook < Hook
349
- def run(example)
350
- example.instance_exec(example, &block)
351
- end
352
- end
353
-
354
- # @private
355
- class AfterHook < Hook
356
- def run(example)
357
- example.instance_exec(example, &block)
358
- rescue Support::AllExceptionsExceptOnesWeMustNotRescue => ex
359
- example.set_exception(ex)
360
- end
361
- end
362
-
363
- # @private
364
- class AfterContextHook < Hook
365
- def run(example)
366
- example.instance_exec(example, &block)
367
- rescue Support::AllExceptionsExceptOnesWeMustNotRescue => e
368
- RSpec.configuration.reporter.notify_non_example_exception(e, "An error occurred in an `after(:context)` hook.")
369
- end
370
- end
371
-
372
- # @private
373
- class AroundHook < Hook
374
- def execute_with(example, procsy)
375
- example.instance_exec(procsy, &block)
376
- return if procsy.executed?
377
- Pending.mark_skipped!(example,
378
- "#{hook_description} did not execute the example")
379
- end
380
-
381
- if Proc.method_defined?(:source_location)
382
- def hook_description
383
- "around hook at #{Metadata.relative_path(block.source_location.join(':'))}"
384
- end
385
- else # for 1.8.7
386
- # :nocov:
387
- def hook_description
388
- "around hook"
389
- end
390
- # :nocov:
391
- end
392
- end
393
-
394
- # @private
395
- #
396
- # This provides the primary API used by other parts of rspec-core. By hiding all
397
- # implementation details behind this facade, it's allowed us to heavily optimize
398
- # this, so that, for example, hook collection objects are only instantiated when
399
- # a hook is added. This allows us to avoid many object allocations for the common
400
- # case of a group having no hooks.
401
- #
402
- # This is only possible because this interface provides a "tell, don't ask"-style
403
- # API, so that callers _tell_ this class what to do with the hooks, rather than
404
- # asking this class for a list of hooks, and then doing something with them.
405
- class HookCollections
406
- def initialize(owner, filterable_item_repo_class)
407
- @owner = owner
408
- @filterable_item_repo_class = filterable_item_repo_class
409
- @before_example_hooks = nil
410
- @after_example_hooks = nil
411
- @before_context_hooks = nil
412
- @after_context_hooks = nil
413
- @around_example_hooks = nil
414
- end
415
-
416
- def register_globals(host, globals)
417
- parent_groups = host.parent_groups
418
-
419
- process(host, parent_groups, globals, :before, :example, &:options)
420
- process(host, parent_groups, globals, :after, :example, &:options)
421
- process(host, parent_groups, globals, :around, :example, &:options)
422
-
423
- process(host, parent_groups, globals, :before, :context, &:options)
424
- process(host, parent_groups, globals, :after, :context, &:options)
425
- end
426
-
427
- def register_global_singleton_context_hooks(example, globals)
428
- parent_groups = example.example_group.parent_groups
429
-
430
- process(example, parent_groups, globals, :before, :context) { {} }
431
- process(example, parent_groups, globals, :after, :context) { {} }
432
- end
433
-
434
- def register(prepend_or_append, position, *args, &block)
435
- scope, options = scope_and_options_from(*args)
436
-
437
- if scope == :suite
438
- # TODO: consider making this an error in RSpec 4. For SemVer reasons,
439
- # we are only warning in RSpec 3.
440
- RSpec.warn_with "WARNING: `#{position}(:suite)` hooks are only supported on " \
441
- "the RSpec configuration object. This " \
442
- "`#{position}(:suite)` hook, registered on an example " \
443
- "group, will be ignored."
444
- return
445
- end
446
-
447
- hook = HOOK_TYPES[position][scope].new(block, options)
448
- ensure_hooks_initialized_for(position, scope).__send__(prepend_or_append, hook, options)
449
- end
450
-
451
- # @private
452
- #
453
- # Runs all of the blocks stored with the hook in the context of the
454
- # example. If no example is provided, just calls the hook directly.
455
- def run(position, scope, example_or_group)
456
- return if RSpec.configuration.dry_run?
457
-
458
- if scope == :context
459
- run_owned_hooks_for(position, :context, example_or_group)
460
- else
461
- case position
462
- when :before then run_example_hooks_for(example_or_group, :before, :reverse_each)
463
- when :after then run_example_hooks_for(example_or_group, :after, :each)
464
- when :around then run_around_example_hooks_for(example_or_group) { yield }
465
- end
466
- end
467
- end
468
-
469
- SCOPES = [:example, :context]
470
-
471
- SCOPE_ALIASES = { :each => :example, :all => :context }
472
-
473
- HOOK_TYPES = {
474
- :before => Hash.new { BeforeHook },
475
- :after => Hash.new { AfterHook },
476
- :around => Hash.new { AroundHook }
477
- }
478
-
479
- HOOK_TYPES[:after][:context] = AfterContextHook
480
-
481
- protected
482
-
483
- EMPTY_HOOK_ARRAY = [].freeze
484
-
485
- def matching_hooks_for(position, scope, example_or_group)
486
- repository = hooks_for(position, scope) { return EMPTY_HOOK_ARRAY }
487
-
488
- # It would be nice to not have to switch on type here, but
489
- # we don't want to define `ExampleGroup#metadata` because then
490
- # `metadata` from within an individual example would return the
491
- # group's metadata but the user would probably expect it to be
492
- # the example's metadata.
493
- metadata = case example_or_group
494
- when ExampleGroup then example_or_group.class.metadata
495
- else example_or_group.metadata
496
- end
497
-
498
- repository.items_for(metadata)
499
- end
500
-
501
- def all_hooks_for(position, scope)
502
- hooks_for(position, scope) { return EMPTY_HOOK_ARRAY }.items_and_filters.map(&:first)
503
- end
504
-
505
- def run_owned_hooks_for(position, scope, example_or_group)
506
- matching_hooks_for(position, scope, example_or_group).each do |hook|
507
- hook.run(example_or_group)
508
- end
509
- end
510
-
511
- def processable_hooks_for(position, scope, host)
512
- if scope == :example
513
- all_hooks_for(position, scope)
514
- else
515
- matching_hooks_for(position, scope, host)
516
- end
517
- end
518
-
519
- private
520
-
521
- def hooks_for(position, scope)
522
- if position == :before
523
- scope == :example ? @before_example_hooks : @before_context_hooks
524
- elsif position == :after
525
- scope == :example ? @after_example_hooks : @after_context_hooks
526
- else # around
527
- @around_example_hooks
528
- end || yield
529
- end
530
-
531
- def ensure_hooks_initialized_for(position, scope)
532
- if position == :before
533
- if scope == :example
534
- @before_example_hooks ||= @filterable_item_repo_class.new(:all?)
535
- else
536
- @before_context_hooks ||= @filterable_item_repo_class.new(:all?)
537
- end
538
- elsif position == :after
539
- if scope == :example
540
- @after_example_hooks ||= @filterable_item_repo_class.new(:all?)
541
- else
542
- @after_context_hooks ||= @filterable_item_repo_class.new(:all?)
543
- end
544
- else # around
545
- @around_example_hooks ||= @filterable_item_repo_class.new(:all?)
546
- end
547
- end
548
-
549
- def process(host, parent_groups, globals, position, scope)
550
- hooks_to_process = globals.processable_hooks_for(position, scope, host)
551
- return if hooks_to_process.empty?
552
-
553
- hooks_to_process -= FlatMap.flat_map(parent_groups) do |group|
554
- group.hooks.all_hooks_for(position, scope)
555
- end
556
- return if hooks_to_process.empty?
557
-
558
- repository = ensure_hooks_initialized_for(position, scope)
559
- hooks_to_process.each { |hook| repository.append hook, (yield hook) }
560
- end
561
-
562
- def scope_and_options_from(*args)
563
- return :suite if args.first == :suite
564
- scope = extract_scope_from(args)
565
- meta = Metadata.build_hash_from(args, :warn_about_example_group_filtering)
566
- return scope, meta
567
- end
568
-
569
- def extract_scope_from(args)
570
- if known_scope?(args.first)
571
- normalized_scope_for(args.shift)
572
- elsif args.any? { |a| a.is_a?(Symbol) }
573
- error_message = "You must explicitly give a scope " \
574
- "(#{SCOPES.join(", ")}) or scope alias " \
575
- "(#{SCOPE_ALIASES.keys.join(", ")}) when using symbols as " \
576
- "metadata for a hook."
577
- raise ArgumentError.new error_message
578
- else
579
- :example
580
- end
581
- end
582
-
583
- def known_scope?(scope)
584
- SCOPES.include?(scope) || SCOPE_ALIASES.keys.include?(scope)
585
- end
586
-
587
- def normalized_scope_for(scope)
588
- SCOPE_ALIASES[scope] || scope
589
- end
590
-
591
- def run_example_hooks_for(example, position, each_method)
592
- owner_parent_groups.__send__(each_method) do |group|
593
- group.hooks.run_owned_hooks_for(position, :example, example)
594
- end
595
- end
596
-
597
- def run_around_example_hooks_for(example)
598
- hooks = FlatMap.flat_map(owner_parent_groups) do |group|
599
- group.hooks.matching_hooks_for(:around, :example, example)
600
- end
601
-
602
- return yield if hooks.empty? # exit early to avoid the extra allocation cost of `Example::Procsy`
603
-
604
- initial_procsy = Example::Procsy.new(example) { yield }
605
- hooks.inject(initial_procsy) do |procsy, around_hook|
606
- procsy.wrap { around_hook.execute_with(example, procsy) }
607
- end.call
608
- end
609
-
610
- if respond_to?(:singleton_class) && singleton_class.ancestors.include?(singleton_class)
611
- def owner_parent_groups
612
- @owner.parent_groups
613
- end
614
- else # Ruby < 2.1 (see https://bugs.ruby-lang.org/issues/8035)
615
- # :nocov:
616
- def owner_parent_groups
617
- @owner_parent_groups ||= [@owner] + @owner.parent_groups
618
- end
619
- # :nocov:
620
- end
621
- end
622
- end
623
- end
624
- end