brakeman 4.3.1 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1580) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +294 -107
  3. data/README.md +49 -13
  4. data/bin/brakeman +2 -0
  5. data/bundle/load.rb +14 -14
  6. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  7. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  8. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/README.txt +0 -0
  9. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  10. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  11. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  12. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  13. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  14. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  15. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  16. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  17. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  18. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  19. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  20. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  21. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  22. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  23. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  24. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  25. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  26. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  27. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  28. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  29. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  30. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  31. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  32. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  33. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  34. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  35. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  36. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  37. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  38. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/setup.rb +0 -0
  39. data/bundle/ruby/2.7.0/gems/haml-5.2.1/CHANGELOG.md +1497 -0
  40. data/bundle/ruby/2.7.0/gems/haml-5.2.1/FAQ.md +147 -0
  41. data/bundle/ruby/2.7.0/gems/haml-5.2.1/Gemfile +16 -0
  42. data/bundle/ruby/2.7.0/gems/haml-5.2.1/MIT-LICENSE +20 -0
  43. data/bundle/ruby/2.7.0/gems/haml-5.2.1/README.md +210 -0
  44. data/bundle/ruby/2.7.0/gems/haml-5.2.1/REFERENCE.md +1373 -0
  45. data/bundle/ruby/2.7.0/gems/haml-5.2.1/TODO +24 -0
  46. data/bundle/ruby/2.7.0/gems/haml-5.2.1/haml.gemspec +45 -0
  47. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml.rb +25 -0
  48. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/attribute_builder.rb +164 -0
  49. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/attribute_compiler.rb +235 -0
  50. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/attribute_parser.rb +150 -0
  51. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/buffer.rb +238 -0
  52. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/compiler.rb +330 -0
  53. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/engine.rb +238 -0
  54. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/error.rb +65 -0
  55. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/escapable.rb +77 -0
  56. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/exec.rb +347 -0
  57. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/filters.rb +399 -0
  58. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/generator.rb +42 -0
  59. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers.rb +709 -0
  60. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers/action_view_extensions.rb +60 -0
  61. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers/action_view_mods.rb +132 -0
  62. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers/action_view_xss_mods.rb +60 -0
  63. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers/safe_erubi_template.rb +20 -0
  64. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers/safe_erubis_template.rb +33 -0
  65. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers/xss_mods.rb +114 -0
  66. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/options.rb +273 -0
  67. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/parser.rb +856 -0
  68. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/plugin.rb +37 -0
  69. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb +48 -0
  70. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/sass_rails_filter.rb +47 -0
  71. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/template.rb +39 -0
  72. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/template/options.rb +27 -0
  73. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/temple_engine.rb +123 -0
  74. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/temple_line_counter.rb +30 -0
  75. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/util.rb +258 -0
  76. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/version.rb +5 -0
  77. data/bundle/ruby/2.7.0/gems/haml-5.2.1/yard/default/fulldoc/html/css/common.sass +15 -0
  78. data/bundle/ruby/2.7.0/gems/haml-5.2.1/yard/default/layout/html/footer.erb +12 -0
  79. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/AUTHORS +0 -0
  80. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/COPYING +0 -0
  81. data/bundle/ruby/2.7.0/gems/highline-2.0.3/Changelog.md +620 -0
  82. data/bundle/ruby/2.7.0/gems/highline-2.0.3/Gemfile +22 -0
  83. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/LICENSE +0 -0
  84. data/bundle/ruby/2.7.0/gems/highline-2.0.3/README.md +202 -0
  85. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/TODO +0 -0
  86. data/bundle/ruby/2.7.0/gems/highline-2.0.3/appveyor.yml +37 -0
  87. data/bundle/ruby/2.7.0/gems/highline-2.0.3/highline.gemspec +35 -0
  88. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline.rb +650 -0
  89. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/builtin_styles.rb +129 -0
  90. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/color_scheme.rb +151 -0
  91. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/compatibility.rb +23 -0
  92. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/custom_errors.rb +57 -0
  93. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/import.rb +48 -0
  94. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/io_console_compatible.rb +37 -0
  95. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/list.rb +177 -0
  96. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/list_renderer.rb +261 -0
  97. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb +576 -0
  98. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/menu/item.rb +32 -0
  99. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/paginator.rb +52 -0
  100. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question.rb +630 -0
  101. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question/answer_converter.rb +103 -0
  102. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question_asker.rb +150 -0
  103. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/simulate.rb +59 -0
  104. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/statement.rb +88 -0
  105. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/string.rb +36 -0
  106. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/string_extensions.rb +130 -0
  107. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/style.rb +325 -0
  108. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/template_renderer.rb +62 -0
  109. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal.rb +190 -0
  110. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/io_console.rb +36 -0
  111. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/ncurses.rb +38 -0
  112. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/unix_stty.rb +51 -0
  113. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/version.rb +6 -0
  114. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/wrapper.rb +53 -0
  115. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/Gemfile +6 -0
  116. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/LICENSE.txt +22 -0
  117. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/NEWS.md +141 -0
  118. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/README.md +60 -0
  119. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/attlistdecl.rb +63 -0
  120. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/attribute.rb +205 -0
  121. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/cdata.rb +68 -0
  122. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/child.rb +97 -0
  123. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/comment.rb +80 -0
  124. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/doctype.rb +287 -0
  125. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/document.rb +291 -0
  126. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/attlistdecl.rb +11 -0
  127. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/dtd.rb +47 -0
  128. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/elementdecl.rb +18 -0
  129. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/entitydecl.rb +57 -0
  130. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/notationdecl.rb +40 -0
  131. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/element.rb +1269 -0
  132. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/encoding.rb +51 -0
  133. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/entity.rb +171 -0
  134. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/formatters/default.rb +116 -0
  135. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/formatters/pretty.rb +142 -0
  136. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/formatters/transitive.rb +58 -0
  137. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/functions.rb +447 -0
  138. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/instruction.rb +79 -0
  139. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/light/node.rb +196 -0
  140. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/namespace.rb +59 -0
  141. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/node.rb +76 -0
  142. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/output.rb +30 -0
  143. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parent.rb +166 -0
  144. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parseexception.rb +52 -0
  145. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/baseparser.rb +594 -0
  146. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/lightparser.rb +59 -0
  147. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/pullparser.rb +197 -0
  148. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/sax2parser.rb +273 -0
  149. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/streamparser.rb +61 -0
  150. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/treeparser.rb +101 -0
  151. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/ultralightparser.rb +57 -0
  152. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/xpathparser.rb +675 -0
  153. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/quickpath.rb +266 -0
  154. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/rexml.rb +32 -0
  155. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/sax2listener.rb +98 -0
  156. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/security.rb +28 -0
  157. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/source.rb +298 -0
  158. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/streamlistener.rb +93 -0
  159. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/text.rb +424 -0
  160. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/undefinednamespaceexception.rb +9 -0
  161. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/validation/relaxng.rb +539 -0
  162. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/validation/validation.rb +144 -0
  163. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/validation/validationexception.rb +10 -0
  164. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xmldecl.rb +130 -0
  165. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xmltokens.rb +85 -0
  166. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xpath.rb +81 -0
  167. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xpath_parser.rb +968 -0
  168. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/rexml.gemspec +84 -0
  169. data/bundle/ruby/2.7.0/gems/ruby2ruby-2.4.4/History.rdoc +435 -0
  170. data/bundle/ruby/{2.5.0/gems/ruby2ruby-2.4.1 → 2.7.0/gems/ruby2ruby-2.4.4}/Manifest.txt +0 -0
  171. data/bundle/ruby/{2.5.0/gems/ruby2ruby-2.4.1 → 2.7.0/gems/ruby2ruby-2.4.4}/README.rdoc +0 -0
  172. data/bundle/ruby/2.7.0/gems/ruby2ruby-2.4.4/lib/ruby2ruby.rb +1309 -0
  173. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/History.rdoc +1162 -0
  174. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/Manifest.txt +39 -0
  175. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/README.rdoc +109 -0
  176. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/compare/normalize.rb +213 -0
  177. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/debugging.md +57 -0
  178. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/rp_extensions.rb +74 -0
  179. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.11.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/rp_stringscanner.rb +0 -0
  180. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby20_parser.rb +7062 -0
  181. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby20_parser.y +2605 -0
  182. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby21_parser.rb +7140 -0
  183. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby21_parser.y +2624 -0
  184. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby22_parser.rb +7160 -0
  185. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby22_parser.y +2633 -0
  186. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby23_parser.rb +7175 -0
  187. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby23_parser.y +2635 -0
  188. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby24_parser.rb +7204 -0
  189. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby24_parser.y +2643 -0
  190. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby25_parser.rb +7204 -0
  191. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby25_parser.y +2643 -0
  192. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby26_parser.rb +7224 -0
  193. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby26_parser.y +2657 -0
  194. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby27_parser.rb +7224 -0
  195. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby27_parser.y +2657 -0
  196. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_lexer.rb +1473 -0
  197. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_lexer.rex +178 -0
  198. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_lexer.rex.rb +363 -0
  199. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_parser.rb +94 -0
  200. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_parser.yy +2764 -0
  201. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_parser_extras.rb +1631 -0
  202. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/tools/munge.rb +222 -0
  203. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/tools/ripper.rb +39 -0
  204. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +6 -0
  205. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +19 -0
  206. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +54 -0
  207. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +5 -0
  208. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.rb +5794 -0
  209. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.y +1909 -0
  210. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.rb +6186 -0
  211. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.y +2117 -0
  212. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb +1412 -0
  213. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex +179 -0
  214. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb +323 -0
  215. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +30 -0
  216. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser_extras.rb +1388 -0
  217. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/CHANGES.md +154 -0
  218. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/Gemfile +0 -0
  219. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/LICENSE.txt +0 -0
  220. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/README.md +0 -0
  221. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/bundle_install_all_ruby_versions.sh +0 -0
  222. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml.rb +0 -0
  223. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/deep.rb +0 -0
  224. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/libyaml_checker.rb +0 -0
  225. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/load.rb +0 -0
  226. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/date.rb +37 -0
  227. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/parse/hexadecimal.rb +0 -0
  228. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/parse/sexagesimal.rb +0 -0
  229. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/psych_handler.rb +0 -0
  230. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/psych_resolver.rb +0 -0
  231. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/resolver.rb +0 -0
  232. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -0
  233. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +39 -0
  234. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/syck_hack.rb +0 -0
  235. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/syck_node_monkeypatch.rb +0 -0
  236. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/syck_resolver.rb +0 -0
  237. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform.rb +0 -0
  238. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_boolean.rb +0 -0
  239. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_date.rb +0 -0
  240. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_float.rb +0 -0
  241. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_integer.rb +0 -0
  242. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_nil.rb +0 -0
  243. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_symbol.rb +0 -0
  244. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/transformation_map.rb +0 -0
  245. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb +3 -0
  246. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/run_specs_all_ruby_versions.sh +0 -0
  247. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/safe_yaml.gemspec +0 -0
  248. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/History.rdoc +427 -0
  249. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/Manifest.txt +15 -0
  250. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/README.rdoc +0 -0
  251. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/lib/composite_sexp_processor.rb +0 -0
  252. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/lib/pt_testcase.rb +3128 -0
  253. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/lib/sexp.rb +381 -0
  254. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/lib/sexp_matcher.rb +1100 -0
  255. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/lib/sexp_processor.rb +754 -0
  256. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/lib/strict_sexp.rb +126 -0
  257. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/lib/unique.rb +0 -0
  258. data/bundle/ruby/2.7.0/gems/slim-4.1.0/CHANGES +460 -0
  259. data/bundle/ruby/2.7.0/gems/slim-4.1.0/Gemfile +70 -0
  260. data/bundle/ruby/2.7.0/gems/slim-4.1.0/LICENSE +21 -0
  261. data/bundle/ruby/2.7.0/gems/slim-4.1.0/README.jp.md +1289 -0
  262. data/bundle/ruby/2.7.0/gems/slim-4.1.0/README.md +1290 -0
  263. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim.rb +0 -0
  264. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/code_attributes.rb +0 -0
  265. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/command.rb +128 -0
  266. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/controls.rb +0 -0
  267. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/do_inserter.rb +0 -0
  268. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/embedded.rb +248 -0
  269. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/end_inserter.rb +0 -0
  270. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb +39 -0
  271. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/erb_converter.rb +0 -0
  272. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/filter.rb +30 -0
  273. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/grammar.rb +23 -0
  274. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/include.rb +0 -0
  275. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/interpolation.rb +0 -0
  276. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/logic_less.rb +0 -0
  277. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/logic_less/context.rb +127 -0
  278. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/logic_less/filter.rb +0 -0
  279. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/parser.rb +548 -0
  280. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/smart.rb +0 -0
  281. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/smart/escaper.rb +0 -0
  282. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/smart/filter.rb +0 -0
  283. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/smart/parser.rb +34 -0
  284. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/splat/builder.rb +107 -0
  285. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/splat/filter.rb +0 -0
  286. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/template.rb +0 -0
  287. data/bundle/ruby/{2.5.0/gems/slim-3.0.7 → 2.7.0/gems/slim-4.1.0}/lib/slim/translator.rb +0 -0
  288. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/version.rb +5 -0
  289. data/bundle/ruby/2.7.0/gems/slim-4.1.0/slim.gemspec +24 -0
  290. data/bundle/ruby/2.7.0/gems/temple-0.8.2/CHANGES +260 -0
  291. data/bundle/ruby/2.7.0/gems/temple-0.8.2/EXPRESSIONS.md +262 -0
  292. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/Gemfile +0 -0
  293. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/LICENSE +0 -0
  294. data/bundle/ruby/2.7.0/gems/temple-0.8.2/README.md +267 -0
  295. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple.rb +67 -0
  296. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/engine.rb +0 -0
  297. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/engine.rb +0 -0
  298. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/parser.rb +0 -0
  299. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/template.rb +0 -0
  300. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/trimming.rb +0 -0
  301. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/exceptions.rb +0 -0
  302. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filter.rb +0 -0
  303. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/code_merger.rb +0 -0
  304. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/control_flow.rb +0 -0
  305. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/dynamic_inliner.rb +0 -0
  306. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/encoding.rb +0 -0
  307. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/eraser.rb +0 -0
  308. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/escapable.rb +0 -0
  309. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/multi_flattener.rb +0 -0
  310. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/remove_bom.rb +0 -0
  311. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/static_analyzer.rb +30 -0
  312. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/static_merger.rb +0 -0
  313. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/string_splitter.rb +130 -0
  314. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/validator.rb +0 -0
  315. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/generator.rb +0 -0
  316. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/array.rb +0 -0
  317. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/array_buffer.rb +0 -0
  318. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/erb.rb +0 -0
  319. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/rails_output_buffer.rb +0 -0
  320. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/string_buffer.rb +0 -0
  321. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/grammar.rb +0 -0
  322. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/attribute_merger.rb +0 -0
  323. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/attribute_remover.rb +0 -0
  324. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/attribute_sorter.rb +0 -0
  325. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/dispatcher.rb +0 -0
  326. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/fast.rb +0 -0
  327. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/filter.rb +0 -0
  328. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/pretty.rb +0 -0
  329. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/safe.rb +0 -0
  330. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/map.rb +0 -0
  331. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/mixins/dispatcher.rb +161 -0
  332. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/engine_dsl.rb +0 -0
  333. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/grammar_dsl.rb +0 -0
  334. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/options.rb +0 -0
  335. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/template.rb +0 -0
  336. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/parser.rb +0 -0
  337. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/static_analyzer.rb +77 -0
  338. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/templates.rb +0 -0
  339. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/templates/rails.rb +26 -0
  340. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/templates/tilt.rb +0 -0
  341. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/lib/temple/utils.rb +0 -0
  342. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/version.rb +3 -0
  343. data/bundle/ruby/{2.5.0/gems/temple-0.7.7 → 2.7.0/gems/temple-0.8.2}/temple.gemspec +0 -0
  344. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/Gemfile +0 -0
  345. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/History.rdoc +0 -0
  346. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/LICENSE.txt +0 -0
  347. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/Manifest +0 -0
  348. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/README.rdoc +0 -0
  349. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/Todo.rdoc +0 -0
  350. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table.rb +0 -0
  351. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb +0 -0
  352. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/import.rb +0 -0
  353. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/row.rb +0 -0
  354. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -0
  355. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -0
  356. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/table.rb +0 -0
  357. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/table_helper.rb +0 -0
  358. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/version.rb +0 -0
  359. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/terminal-table.gemspec +0 -0
  360. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/COPYING +0 -0
  361. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt.rb +166 -0
  362. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/asciidoc.rb +0 -0
  363. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/babel.rb +0 -0
  364. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/bluecloth.rb +0 -0
  365. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/builder.rb +0 -0
  366. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/coffee.rb +0 -0
  367. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/commonmarker.rb +78 -0
  368. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/creole.rb +0 -0
  369. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/csv.rb +0 -0
  370. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/dummy.rb +0 -0
  371. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/erb.rb +63 -0
  372. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/erubi.rb +0 -0
  373. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/erubis.rb +0 -0
  374. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/etanni.rb +0 -0
  375. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/haml.rb +86 -0
  376. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/kramdown.rb +0 -0
  377. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/less.rb +0 -0
  378. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/liquid.rb +0 -0
  379. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/livescript.rb +0 -0
  380. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/mapping.rb +0 -0
  381. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/markaby.rb +0 -0
  382. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/maruku.rb +0 -0
  383. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/nokogiri.rb +0 -0
  384. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/pandoc.rb +0 -0
  385. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/plain.rb +0 -0
  386. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/prawn.rb +0 -0
  387. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/radius.rb +0 -0
  388. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/rdiscount.rb +0 -0
  389. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/rdoc.rb +0 -0
  390. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/redcarpet.rb +0 -0
  391. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/redcloth.rb +0 -0
  392. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/rst-pandoc.rb +0 -0
  393. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/sass.rb +52 -0
  394. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/sigil.rb +0 -0
  395. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/string.rb +0 -0
  396. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/template.rb +297 -0
  397. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/typescript.rb +0 -0
  398. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/wikicloth.rb +0 -0
  399. data/bundle/ruby/{2.5.0/gems/tilt-2.0.8 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/yajl.rb +0 -0
  400. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.7.0/CHANGELOG.md +133 -0
  401. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.7.0/MIT-LICENSE.txt +22 -0
  402. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.7.0/README.md +124 -0
  403. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.7.0/data/display_width.marshal.gz +0 -0
  404. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.7.0/lib/unicode/display_width.rb +51 -0
  405. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.7.0/lib/unicode/display_width/constants.rb +8 -0
  406. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.0 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width/index.rb +0 -0
  407. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.0 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width/no_string_ext.rb +0 -0
  408. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.0 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width/string_ext.rb +0 -0
  409. data/lib/brakeman.rb +42 -3
  410. data/lib/brakeman/app_tree.rb +81 -22
  411. data/lib/brakeman/call_index.rb +61 -19
  412. data/lib/brakeman/checks.rb +23 -15
  413. data/lib/brakeman/checks/base_check.rb +93 -82
  414. data/lib/brakeman/checks/check_basic_auth.rb +2 -0
  415. data/lib/brakeman/checks/check_basic_auth_timing_attack.rb +1 -1
  416. data/lib/brakeman/checks/check_content_tag.rb +16 -5
  417. data/lib/brakeman/checks/check_cookie_serialization.rb +22 -0
  418. data/lib/brakeman/checks/check_create_with.rb +1 -1
  419. data/lib/brakeman/checks/check_cross_site_scripting.rb +18 -13
  420. data/lib/brakeman/checks/check_csrf_token_forgery_cve.rb +28 -0
  421. data/lib/brakeman/checks/check_default_routes.rb +8 -3
  422. data/lib/brakeman/checks/check_deserialize.rb +71 -2
  423. data/lib/brakeman/checks/check_detailed_exceptions.rb +1 -1
  424. data/lib/brakeman/checks/check_digest_dos.rb +4 -4
  425. data/lib/brakeman/checks/check_dynamic_finders.rb +1 -1
  426. data/lib/brakeman/checks/check_escape_function.rb +1 -1
  427. data/lib/brakeman/checks/check_evaluation.rb +0 -1
  428. data/lib/brakeman/checks/check_execute.rb +89 -9
  429. data/lib/brakeman/checks/check_file_access.rb +19 -3
  430. data/lib/brakeman/checks/check_file_disclosure.rb +1 -1
  431. data/lib/brakeman/checks/check_filter_skipping.rb +1 -1
  432. data/lib/brakeman/checks/check_force_ssl.rb +27 -0
  433. data/lib/brakeman/checks/check_forgery_setting.rb +3 -3
  434. data/lib/brakeman/checks/check_header_dos.rb +5 -5
  435. data/lib/brakeman/checks/check_i18n_xss.rb +5 -5
  436. data/lib/brakeman/checks/check_jruby_xml.rb +3 -3
  437. data/lib/brakeman/checks/check_json_encoding.rb +3 -3
  438. data/lib/brakeman/checks/check_json_entity_escape.rb +38 -0
  439. data/lib/brakeman/checks/check_json_parsing.rb +15 -13
  440. data/lib/brakeman/checks/check_link_to.rb +4 -4
  441. data/lib/brakeman/checks/check_link_to_href.rb +9 -6
  442. data/lib/brakeman/checks/check_mail_to.rb +4 -4
  443. data/lib/brakeman/checks/check_mass_assignment.rb +34 -4
  444. data/lib/brakeman/checks/check_mime_type_dos.rb +3 -3
  445. data/lib/brakeman/checks/check_model_attr_accessible.rb +2 -2
  446. data/lib/brakeman/checks/check_model_attributes.rb +16 -54
  447. data/lib/brakeman/checks/check_model_serialize.rb +2 -2
  448. data/lib/brakeman/checks/check_nested_attributes.rb +3 -3
  449. data/lib/brakeman/checks/check_nested_attributes_bypass.rb +5 -5
  450. data/lib/brakeman/checks/check_number_to_currency.rb +4 -4
  451. data/lib/brakeman/checks/check_page_caching_cve.rb +37 -0
  452. data/lib/brakeman/checks/check_permit_attributes.rb +1 -1
  453. data/lib/brakeman/checks/check_quote_table_name.rb +2 -2
  454. data/lib/brakeman/checks/check_regex_dos.rb +2 -2
  455. data/lib/brakeman/checks/check_render.rb +2 -2
  456. data/lib/brakeman/checks/check_render_dos.rb +1 -1
  457. data/lib/brakeman/checks/check_render_inline.rb +1 -1
  458. data/lib/brakeman/checks/check_response_splitting.rb +1 -1
  459. data/lib/brakeman/checks/check_reverse_tabnabbing.rb +58 -0
  460. data/lib/brakeman/checks/check_route_dos.rb +1 -1
  461. data/lib/brakeman/checks/check_safe_buffer_manipulation.rb +1 -1
  462. data/lib/brakeman/checks/check_sanitize_methods.rb +4 -4
  463. data/lib/brakeman/checks/check_secrets.rb +2 -2
  464. data/lib/brakeman/checks/check_select_tag.rb +1 -1
  465. data/lib/brakeman/checks/check_select_vulnerability.rb +1 -1
  466. data/lib/brakeman/checks/check_send.rb +0 -1
  467. data/lib/brakeman/checks/check_session_manipulation.rb +1 -2
  468. data/lib/brakeman/checks/check_session_settings.rb +16 -13
  469. data/lib/brakeman/checks/check_simple_format.rb +7 -2
  470. data/lib/brakeman/checks/check_single_quotes.rb +14 -10
  471. data/lib/brakeman/checks/check_skip_before_filter.rb +5 -5
  472. data/lib/brakeman/checks/check_sprockets_path_traversal.rb +39 -0
  473. data/lib/brakeman/checks/check_sql.rb +47 -49
  474. data/lib/brakeman/checks/check_sql_cves.rb +2 -2
  475. data/lib/brakeman/checks/check_strip_tags.rb +10 -8
  476. data/lib/brakeman/checks/check_symbol_dos.rb +1 -1
  477. data/lib/brakeman/checks/check_symbol_dos_cve.rb +1 -1
  478. data/lib/brakeman/checks/check_template_injection.rb +32 -0
  479. data/lib/brakeman/checks/check_translate_bug.rb +7 -7
  480. data/lib/brakeman/checks/check_unsafe_reflection.rb +1 -1
  481. data/lib/brakeman/checks/check_unsafe_reflection_methods.rb +68 -0
  482. data/lib/brakeman/checks/check_unscoped_find.rb +1 -1
  483. data/lib/brakeman/checks/check_validation_regex.rb +2 -2
  484. data/lib/brakeman/checks/check_verb_confusion.rb +75 -0
  485. data/lib/brakeman/checks/check_weak_hash.rb +18 -19
  486. data/lib/brakeman/checks/check_xml_dos.rb +3 -3
  487. data/lib/brakeman/checks/check_yaml_parsing.rb +11 -19
  488. data/lib/brakeman/commandline.rb +25 -1
  489. data/lib/brakeman/differ.rb +16 -33
  490. data/lib/brakeman/file_parser.rb +25 -21
  491. data/lib/brakeman/file_path.rb +85 -0
  492. data/lib/brakeman/format/style.css +8 -0
  493. data/lib/brakeman/messages.rb +220 -0
  494. data/lib/brakeman/options.rb +45 -1
  495. data/lib/brakeman/parsers/haml_embedded.rb +44 -0
  496. data/lib/brakeman/parsers/slim_embedded.rb +44 -0
  497. data/lib/brakeman/parsers/template_parser.rb +11 -12
  498. data/lib/brakeman/processor.rb +5 -6
  499. data/lib/brakeman/processors/alias_processor.rb +78 -14
  500. data/lib/brakeman/processors/base_processor.rb +10 -7
  501. data/lib/brakeman/processors/config_processor.rb +4 -1
  502. data/lib/brakeman/processors/controller_alias_processor.rb +10 -7
  503. data/lib/brakeman/processors/controller_processor.rb +10 -14
  504. data/lib/brakeman/processors/gem_processor.rb +38 -2
  505. data/lib/brakeman/processors/haml_template_processor.rb +99 -123
  506. data/lib/brakeman/processors/lib/call_conversion_helper.rb +11 -5
  507. data/lib/brakeman/processors/lib/file_type_detector.rb +64 -0
  508. data/lib/brakeman/processors/lib/find_all_calls.rb +57 -18
  509. data/lib/brakeman/processors/lib/find_call.rb +3 -64
  510. data/lib/brakeman/processors/lib/module_helper.rb +8 -8
  511. data/lib/brakeman/processors/lib/processor_helper.rb +3 -3
  512. data/lib/brakeman/processors/lib/rails2_config_processor.rb +4 -4
  513. data/lib/brakeman/processors/lib/rails2_route_processor.rb +2 -2
  514. data/lib/brakeman/processors/lib/rails3_config_processor.rb +19 -19
  515. data/lib/brakeman/processors/lib/rails3_route_processor.rb +2 -4
  516. data/lib/brakeman/processors/lib/rails4_config_processor.rb +18 -0
  517. data/lib/brakeman/processors/lib/render_helper.rb +10 -3
  518. data/lib/brakeman/processors/lib/render_path.rb +32 -0
  519. data/lib/brakeman/processors/library_processor.rb +6 -6
  520. data/lib/brakeman/processors/model_processor.rb +4 -5
  521. data/lib/brakeman/processors/output_processor.rb +6 -1
  522. data/lib/brakeman/processors/slim_template_processor.rb +16 -0
  523. data/lib/brakeman/processors/template_alias_processor.rb +36 -4
  524. data/lib/brakeman/processors/template_processor.rb +14 -10
  525. data/lib/brakeman/report.rb +22 -4
  526. data/lib/brakeman/report/ignore/config.rb +12 -5
  527. data/lib/brakeman/report/ignore/interactive.rb +2 -2
  528. data/lib/brakeman/report/pager.rb +1 -0
  529. data/lib/brakeman/report/report_base.rb +64 -165
  530. data/lib/brakeman/report/report_codeclimate.rb +3 -3
  531. data/lib/brakeman/report/report_csv.rb +38 -44
  532. data/lib/brakeman/report/report_hash.rb +1 -1
  533. data/lib/brakeman/report/report_html.rb +36 -33
  534. data/lib/brakeman/report/report_json.rb +1 -3
  535. data/lib/brakeman/report/report_junit.rb +104 -0
  536. data/lib/brakeman/report/report_markdown.rb +13 -7
  537. data/lib/brakeman/report/report_sarif.rb +114 -0
  538. data/lib/brakeman/report/report_sonar.rb +38 -0
  539. data/lib/brakeman/report/report_table.rb +173 -0
  540. data/lib/brakeman/report/report_tabs.rb +4 -2
  541. data/lib/brakeman/report/report_text.rb +59 -23
  542. data/lib/brakeman/rescanner.rb +18 -15
  543. data/lib/brakeman/scanner.rb +74 -35
  544. data/lib/brakeman/tracker.rb +44 -8
  545. data/lib/brakeman/tracker/collection.rb +4 -3
  546. data/lib/brakeman/tracker/config.rb +119 -47
  547. data/lib/brakeman/tracker/constants.rb +10 -8
  548. data/lib/brakeman/tracker/controller.rb +1 -1
  549. data/lib/brakeman/util.rb +45 -168
  550. data/lib/brakeman/version.rb +1 -1
  551. data/lib/brakeman/warning.rb +46 -19
  552. data/lib/brakeman/warning_codes.rb +14 -0
  553. data/lib/ruby_parser/bm_sexp.rb +16 -11
  554. data/lib/ruby_parser/bm_sexp_processor.rb +1 -0
  555. metadata +437 -1218
  556. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/Makefile +0 -6
  557. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/bench.rb +0 -313
  558. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/bench_context.yaml +0 -141
  559. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/_footer.html +0 -4
  560. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/_header.html +0 -52
  561. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/bench_erb.rhtml +0 -29
  562. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/bench_erubis.rhtml +0 -29
  563. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/bench_eruby.rhtml +0 -29
  564. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/bin/erubis +0 -10
  565. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/ActionView.html +0 -105
  566. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +0 -209
  567. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/ERB.html +0 -101
  568. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis.html +0 -362
  569. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayBufferEnhancer.html +0 -175
  570. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayBufferEruby.html +0 -120
  571. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayEnhancer.html +0 -174
  572. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayEruby.html +0 -120
  573. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Basic.html +0 -112
  574. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Basic/Converter.html +0 -327
  575. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Basic/Engine.html +0 -130
  576. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/BiPatternEnhancer.html +0 -215
  577. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/BiPatternEruby.html +0 -120
  578. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/CGenerator.html +0 -386
  579. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/CommandOptionError.html +0 -113
  580. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Context.html +0 -344
  581. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Converter.html +0 -283
  582. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/CppGenerator.html +0 -382
  583. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/DeleteIndentEnhancer.html +0 -150
  584. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/DeleteIndentEruby.html +0 -120
  585. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ec.html +0 -126
  586. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ecpp.html +0 -126
  587. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ejava.html +0 -126
  588. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ejavascript.html +0 -126
  589. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Engine.html +0 -305
  590. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Eperl.html +0 -126
  591. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ephp.html +0 -126
  592. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ErboutEnhancer.html +0 -175
  593. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ErboutEruby.html +0 -120
  594. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ErubisError.html +0 -117
  595. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Eruby.html +0 -132
  596. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapeEnhancer.html +0 -165
  597. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEc.html +0 -120
  598. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEcpp.html +0 -120
  599. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEjava.html +0 -120
  600. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEjavascript.html +0 -120
  601. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEperl.html +0 -120
  602. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEphp.html +0 -120
  603. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEruby.html +0 -127
  604. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEscheme.html +0 -120
  605. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Escheme.html +0 -126
  606. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Evaluator.html +0 -212
  607. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/FastEruby.html +0 -131
  608. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Generator.html +0 -416
  609. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/HeaderFooterEnhancer.html +0 -267
  610. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/HeaderFooterEruby.html +0 -120
  611. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers.html +0 -116
  612. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +0 -787
  613. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers/RailsHelper.html +0 -349
  614. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +0 -213
  615. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/InterpolationEnhancer.html +0 -305
  616. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/InterpolationEruby.html +0 -120
  617. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/JavaGenerator.html +0 -359
  618. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/JavascriptGenerator.html +0 -386
  619. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Main.html +0 -341
  620. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoCodeEnhancer.html +0 -249
  621. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoCodeEruby.html +0 -120
  622. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoTextEnhancer.html +0 -159
  623. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoTextEruby.html +0 -120
  624. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NotSupportedError.html +0 -119
  625. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/OptimizedEruby.html +0 -163
  626. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/OptimizedGenerator.html +0 -439
  627. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/OptimizedXmlEruby.html +0 -163
  628. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI.html +0 -125
  629. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Converter.html +0 -266
  630. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ec.html +0 -166
  631. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ecpp.html +0 -166
  632. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ejava.html +0 -166
  633. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ejavascript.html +0 -166
  634. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Engine.html +0 -122
  635. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Eperl.html +0 -166
  636. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ephp.html +0 -166
  637. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Eruby.html +0 -155
  638. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Escheme.html +0 -166
  639. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/TinyEruby.html +0 -293
  640. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PercentLineEnhancer.html +0 -163
  641. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PercentLineEruby.html +0 -120
  642. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PerlGenerator.html +0 -344
  643. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PhpGenerator.html +0 -350
  644. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrefixedLineEnhancer.html +0 -210
  645. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrefixedLineEruby.html +0 -120
  646. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PreprocessingEruby.html +0 -183
  647. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PreprocessingHelper.html +0 -212
  648. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintEnabledEnhancer.html +0 -212
  649. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintEnabledEruby.html +0 -120
  650. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintOutEnhancer.html +0 -244
  651. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintOutEruby.html +0 -120
  652. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +0 -121
  653. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/RubyEvaluator.html +0 -227
  654. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/RubyGenerator.html +0 -328
  655. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/SchemeGenerator.html +0 -382
  656. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/SimplifiedEruby.html +0 -120
  657. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/SimplifyEnhancer.html +0 -191
  658. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StdoutEnhancer.html +0 -173
  659. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StdoutEruby.html +0 -120
  660. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +0 -121
  661. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StringBufferEnhancer.html +0 -174
  662. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StringBufferEruby.html +0 -120
  663. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StringIOEruby.html +0 -120
  664. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/TinyEruby.html +0 -298
  665. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/XmlEruby.html +0 -130
  666. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/XmlHelper.html +0 -255
  667. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Kernel.html +0 -155
  668. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/created.rid +0 -1
  669. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/README_txt.html +0 -247
  670. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/context_rb.html +0 -107
  671. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/converter_rb.html +0 -114
  672. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ec_rb.html +0 -115
  673. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ecpp_rb.html +0 -115
  674. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ejava_rb.html +0 -115
  675. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ejavascript_rb.html +0 -115
  676. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/enhanced_rb.html +0 -115
  677. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/eperl_rb.html +0 -115
  678. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ephp_rb.html +0 -115
  679. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/eruby_rb.html +0 -115
  680. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/escheme_rb.html +0 -115
  681. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/optimized_rb.html +0 -114
  682. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine_rb.html +0 -117
  683. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/enhancer_rb.html +0 -107
  684. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/error_rb.html +0 -107
  685. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/evaluator_rb.html +0 -115
  686. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/generator_rb.html +0 -114
  687. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/helper_rb.html +0 -107
  688. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/helpers/rails_form_helper_rb.html +0 -107
  689. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/helpers/rails_helper_rb.html +0 -116
  690. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/local-setting_rb.html +0 -107
  691. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/main_rb.html +0 -129
  692. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/preprocessing_rb.html +0 -114
  693. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/tiny_rb.html +0 -107
  694. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/util_rb.html +0 -107
  695. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis_rb.html +0 -118
  696. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/fr_class_index.html +0 -129
  697. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/fr_file_index.html +0 -53
  698. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/fr_method_index.html +0 -265
  699. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/index.html +0 -24
  700. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/rdoc-style.css +0 -208
  701. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc/docstyle.css +0 -209
  702. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc/users-guide.html +0 -3551
  703. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/Makefile +0 -58
  704. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ec +0 -42
  705. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ecpp +0 -33
  706. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ejava +0 -45
  707. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ejs +0 -16
  708. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.eperl +0 -16
  709. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ephp +0 -17
  710. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.eruby +0 -15
  711. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.escheme +0 -26
  712. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/Makefile +0 -54
  713. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ec +0 -42
  714. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ejava +0 -45
  715. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ejs +0 -16
  716. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.eperl +0 -16
  717. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ephp +0 -17
  718. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.eruby +0 -15
  719. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.escheme +0 -26
  720. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/assert-text-equal.rb +0 -44
  721. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/Example.ejava +0 -55
  722. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/array_example.result +0 -9
  723. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/arraybuffer_example.result +0 -9
  724. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bipattern-example.rhtml +0 -4
  725. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bipattern_example.result +0 -6
  726. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bufvar-example.rb +0 -10
  727. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bufvar-example.result +0 -17
  728. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/context.rb +0 -6
  729. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/context.yaml +0 -8
  730. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/def_method.rb +0 -14
  731. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/def_method.result +0 -3
  732. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/escape_example.result +0 -9
  733. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ec +0 -27
  734. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ecpp +0 -30
  735. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ejs +0 -20
  736. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.eperl +0 -18
  737. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ephp +0 -18
  738. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.eruby +0 -6
  739. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.escheme +0 -28
  740. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1.eruby +0 -6
  741. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1.rb +0 -17
  742. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1.result +0 -16
  743. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10.rb +0 -4
  744. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10.result +0 -17
  745. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10.xhtml +0 -14
  746. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10_x.result +0 -17
  747. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11.php +0 -20
  748. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11.result +0 -23
  749. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11.rhtml +0 -21
  750. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_C.result +0 -10
  751. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_N.result +0 -16
  752. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_U.result +0 -16
  753. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_php.result +0 -15
  754. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1_x.result +0 -9
  755. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2.eruby +0 -7
  756. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2.rb +0 -10
  757. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2.result +0 -27
  758. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2_trim.result +0 -10
  759. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2_x.result +0 -10
  760. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example3.eruby +0 -6
  761. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example3.rb +0 -10
  762. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example31.result +0 -22
  763. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example32.result +0 -4
  764. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example3_e.result +0 -8
  765. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4.eruby +0 -3
  766. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4.rb +0 -11
  767. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4.result +0 -10
  768. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4_x.result +0 -5
  769. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example5.eruby +0 -6
  770. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example5.rb +0 -16
  771. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example5.result +0 -7
  772. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example6.rb +0 -12
  773. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example6.result +0 -7
  774. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example7.eruby +0 -8
  775. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example71.result +0 -13
  776. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example72.result +0 -13
  777. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example8.eruby +0 -6
  778. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example8_ruby.result +0 -7
  779. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example8_yaml.result +0 -7
  780. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example9.eruby +0 -3
  781. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example9.rb +0 -8
  782. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example9.result +0 -9
  783. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example91.result +0 -5
  784. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example92.result +0 -4
  785. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_c.result +0 -32
  786. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_java.result +0 -56
  787. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_js.result +0 -22
  788. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_perl.result +0 -20
  789. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_php.result +0 -19
  790. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_scheme.result +0 -30
  791. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_scheme_display.result +0 -29
  792. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby-example.rb +0 -8
  793. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby-example.result +0 -18
  794. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby.rb +0 -11
  795. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby.result +0 -38
  796. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby.rhtml +0 -15
  797. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter-example.eruby +0 -9
  798. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter-example2.rb +0 -8
  799. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter-example2.rhtml +0 -10
  800. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter_example.result +0 -11
  801. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter_example2.result +0 -13
  802. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/interpolation_example.result +0 -9
  803. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program1.rb +0 -8
  804. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program1.result +0 -6
  805. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program2.rb +0 -8
  806. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program2.result +0 -6
  807. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/nocode-example.eruby +0 -14
  808. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/nocode-php.result +0 -20
  809. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/nocode_example.result +0 -15
  810. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/normal-eruby-test.eruby +0 -9
  811. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/normal_eruby_test.result +0 -11
  812. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext-example.eruby +0 -14
  813. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext-example.php +0 -19
  814. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext-php.result +0 -20
  815. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext_example.result +0 -16
  816. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/percentline-example.rhtml +0 -6
  817. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/percentline_example.result +0 -9
  818. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/prefixedline-example.rb +0 -9
  819. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/prefixedline-example.rhtml +0 -6
  820. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/prefixedline_example.result +0 -9
  821. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printenable_example.result +0 -4
  822. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printenabled-example.eruby +0 -3
  823. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printenabled-example.rb +0 -8
  824. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printstatement_example.result +0 -8
  825. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/simplify_example.result +0 -9
  826. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/stderr.log +0 -3
  827. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/stdout_exmple.result +0 -9
  828. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/stringbuffer_example.result +0 -9
  829. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/tail_260.result +0 -4
  830. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/tailnewline.rhtml +0 -3
  831. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/template1.rhtml +0 -4
  832. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/template2.rhtml +0 -4
  833. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-engines.rb +0 -425
  834. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-enhancers.rb +0 -646
  835. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-erubis.rb +0 -887
  836. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-index-cgi.rb +0 -191
  837. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-main.rb +0 -752
  838. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-users-guide.rb +0 -73
  839. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test.rb +0 -45
  840. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/testutil.rb +0 -111
  841. data/bundle/ruby/2.5.0/gems/haml-4.0.7/CHANGELOG.md +0 -1363
  842. data/bundle/ruby/2.5.0/gems/haml-4.0.7/FAQ.md +0 -157
  843. data/bundle/ruby/2.5.0/gems/haml-4.0.7/MIT-LICENSE +0 -20
  844. data/bundle/ruby/2.5.0/gems/haml-4.0.7/README.md +0 -173
  845. data/bundle/ruby/2.5.0/gems/haml-4.0.7/REFERENCE.md +0 -1294
  846. data/bundle/ruby/2.5.0/gems/haml-4.0.7/Rakefile +0 -134
  847. data/bundle/ruby/2.5.0/gems/haml-4.0.7/bin/haml +0 -9
  848. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml.rb +0 -23
  849. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/buffer.rb +0 -345
  850. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/compiler.rb +0 -540
  851. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/engine.rb +0 -245
  852. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/error.rb +0 -61
  853. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/exec.rb +0 -329
  854. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/filters.rb +0 -404
  855. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/helpers.rb +0 -664
  856. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/helpers/action_view_extensions.rb +0 -58
  857. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/helpers/action_view_mods.rb +0 -147
  858. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/helpers/action_view_xss_mods.rb +0 -58
  859. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/helpers/safe_erubis_template.rb +0 -29
  860. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/helpers/xss_mods.rb +0 -104
  861. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/options.rb +0 -279
  862. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/parser.rb +0 -764
  863. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/railtie.rb +0 -22
  864. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/sass_rails_filter.rb +0 -33
  865. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/template.rb +0 -32
  866. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/template/options.rb +0 -16
  867. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/template/plugin.rb +0 -41
  868. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/util.rb +0 -377
  869. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/version.rb +0 -3
  870. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/engine_test.rb +0 -2013
  871. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/_av_partial_1.erb +0 -12
  872. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/_av_partial_2.erb +0 -8
  873. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/action_view.erb +0 -62
  874. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/standard.erb +0 -55
  875. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/filters_test.rb +0 -254
  876. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-3.0.x +0 -5
  877. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-3.1.x +0 -6
  878. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-3.2.x +0 -5
  879. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-4.0.x +0 -5
  880. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/LICENSE +0 -14
  881. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/README.md +0 -106
  882. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/lua_haml_spec.lua +0 -38
  883. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/perl_haml_test.pl +0 -81
  884. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/ruby_haml_test.rb +0 -23
  885. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/tests.json +0 -660
  886. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/helper_test.rb +0 -583
  887. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/markaby/standard.mab +0 -52
  888. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/mocks/article.rb +0 -6
  889. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/parser_test.rb +0 -105
  890. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/content_for_layout.xhtml +0 -12
  891. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/eval_suppressed.xhtml +0 -9
  892. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/helpers.xhtml +0 -70
  893. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/helpful.xhtml +0 -10
  894. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/just_stuff.xhtml +0 -70
  895. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/list.xhtml +0 -12
  896. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/nuke_inner_whitespace.xhtml +0 -40
  897. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/nuke_outer_whitespace.xhtml +0 -148
  898. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/original_engine.xhtml +0 -20
  899. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/partial_layout.xhtml +0 -5
  900. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/partial_layout_erb.xhtml +0 -5
  901. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/partials.xhtml +0 -21
  902. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/render_layout.xhtml +0 -3
  903. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/silent_script.xhtml +0 -74
  904. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/standard.xhtml +0 -162
  905. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/tag_parsing.xhtml +0 -23
  906. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/very_basic.xhtml +0 -5
  907. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/whitespace_handling.xhtml +0 -90
  908. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/template_test.rb +0 -354
  909. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_1.haml +0 -9
  910. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_1_ugly.haml +0 -9
  911. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_2.haml +0 -5
  912. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_2_ugly.haml +0 -5
  913. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_layout.erb +0 -3
  914. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_layout_for_partial.haml +0 -3
  915. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_partial.haml +0 -8
  916. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_text_area.haml +0 -3
  917. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_text_area_helper.html.haml +0 -4
  918. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/action_view.haml +0 -47
  919. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/action_view_ugly.haml +0 -47
  920. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/breakage.haml +0 -8
  921. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/content_for_layout.haml +0 -8
  922. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/eval_suppressed.haml +0 -11
  923. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/helpers.haml +0 -55
  924. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/helpful.haml +0 -11
  925. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/just_stuff.haml +0 -85
  926. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/list.haml +0 -12
  927. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/nuke_inner_whitespace.haml +0 -32
  928. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/nuke_outer_whitespace.haml +0 -144
  929. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/original_engine.haml +0 -17
  930. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partial_layout.haml +0 -3
  931. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partial_layout_erb.erb +0 -4
  932. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partialize.haml +0 -1
  933. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partials.haml +0 -12
  934. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/render_layout.haml +0 -2
  935. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/silent_script.haml +0 -45
  936. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/standard.haml +0 -43
  937. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/standard_ugly.haml +0 -43
  938. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/tag_parsing.haml +0 -21
  939. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/very_basic.haml +0 -4
  940. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/whitespace_handling.haml +0 -87
  941. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/test_helper.rb +0 -81
  942. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/util_test.rb +0 -63
  943. data/bundle/ruby/2.5.0/gems/highline-1.7.10/Changelog.md +0 -421
  944. data/bundle/ruby/2.5.0/gems/highline-1.7.10/Gemfile +0 -11
  945. data/bundle/ruby/2.5.0/gems/highline-1.7.10/INSTALL +0 -59
  946. data/bundle/ruby/2.5.0/gems/highline-1.7.10/README.rdoc +0 -74
  947. data/bundle/ruby/2.5.0/gems/highline-1.7.10/Rakefile +0 -30
  948. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/ansi_colors.rb +0 -38
  949. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/asking_for_arrays.rb +0 -18
  950. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/basic_usage.rb +0 -75
  951. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/color_scheme.rb +0 -32
  952. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/get_character.rb +0 -12
  953. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/limit.rb +0 -12
  954. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/menus.rb +0 -65
  955. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/overwrite.rb +0 -19
  956. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/page_and_wrap.rb +0 -322
  957. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/password.rb +0 -7
  958. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/repeat_entry.rb +0 -21
  959. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/trapping_eof.rb +0 -22
  960. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/using_readline.rb +0 -17
  961. data/bundle/ruby/2.5.0/gems/highline-1.7.10/highline.gemspec +0 -37
  962. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline.rb +0 -1048
  963. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/color_scheme.rb +0 -134
  964. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/compatibility.rb +0 -16
  965. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/import.rb +0 -41
  966. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/menu.rb +0 -381
  967. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/question.rb +0 -480
  968. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/simulate.rb +0 -48
  969. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/string_extensions.rb +0 -111
  970. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/style.rb +0 -192
  971. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/system_extensions.rb +0 -254
  972. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/version.rb +0 -4
  973. data/bundle/ruby/2.5.0/gems/highline-1.7.10/setup.rb +0 -1360
  974. data/bundle/ruby/2.5.0/gems/highline-1.7.10/site/highline.css +0 -65
  975. data/bundle/ruby/2.5.0/gems/highline-1.7.10/site/images/logo.png +0 -0
  976. data/bundle/ruby/2.5.0/gems/highline-1.7.10/site/index.html +0 -58
  977. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/string_methods.rb +0 -32
  978. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_color_scheme.rb +0 -96
  979. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_highline.rb +0 -1402
  980. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_import.rb +0 -52
  981. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_menu.rb +0 -439
  982. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_simulator.rb +0 -33
  983. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_string_extension.rb +0 -33
  984. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_string_highline.rb +0 -38
  985. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_style.rb +0 -578
  986. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/History.rdoc +0 -413
  987. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/Rakefile +0 -93
  988. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/bin/r2r_show +0 -33
  989. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/lib/ruby2ruby.rb +0 -1301
  990. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/test/test_ruby2ruby.rb +0 -847
  991. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/History.rdoc +0 -974
  992. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/Manifest.txt +0 -36
  993. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/README.rdoc +0 -109
  994. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/Rakefile +0 -247
  995. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/bin/ruby_parse +0 -96
  996. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/bin/ruby_parse_extract_error +0 -156
  997. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/compare/normalize.rb +0 -146
  998. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/rp_extensions.rb +0 -81
  999. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby18_parser.rb +0 -5793
  1000. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby18_parser.y +0 -1908
  1001. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby19_parser.rb +0 -6185
  1002. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby19_parser.y +0 -2116
  1003. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby20_parser.rb +0 -6687
  1004. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby20_parser.y +0 -2345
  1005. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby21_parser.rb +0 -6767
  1006. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby21_parser.y +0 -2362
  1007. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby22_parser.rb +0 -6803
  1008. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby22_parser.y +0 -2376
  1009. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby23_parser.rb +0 -6818
  1010. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby23_parser.y +0 -2378
  1011. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby24_parser.rb +0 -6818
  1012. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby24_parser.y +0 -2378
  1013. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby25_parser.rb +0 -6818
  1014. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby25_parser.y +0 -2378
  1015. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby_lexer.rb +0 -1346
  1016. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby_lexer.rex +0 -177
  1017. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby_lexer.rex.rb +0 -323
  1018. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby_parser.rb +0 -88
  1019. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby_parser.yy +0 -2477
  1020. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/lib/ruby_parser_extras.rb +0 -1377
  1021. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/test/test_ruby_lexer.rb +0 -2899
  1022. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/test/test_ruby_parser.rb +0 -3805
  1023. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/test/test_ruby_parser_extras.rb +0 -226
  1024. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/CHANGES.md +0 -149
  1025. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/Rakefile +0 -26
  1026. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/bin/safe_yaml +0 -75
  1027. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/lib/safe_yaml/parse/date.rb +0 -35
  1028. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/lib/safe_yaml/version.rb +0 -3
  1029. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/exploit.1.9.2.yaml +0 -2
  1030. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/exploit.1.9.3.yaml +0 -2
  1031. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/issue48.txt +0 -20
  1032. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/issue49.yml +0 -0
  1033. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/libyaml_checker_spec.rb +0 -69
  1034. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/psych_resolver_spec.rb +0 -10
  1035. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/resolver_specs.rb +0 -278
  1036. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/safe_yaml_spec.rb +0 -731
  1037. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/spec_helper.rb +0 -42
  1038. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/support/exploitable_back_door.rb +0 -29
  1039. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/syck_resolver_spec.rb +0 -10
  1040. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/base64_spec.rb +0 -11
  1041. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_date_spec.rb +0 -60
  1042. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_float_spec.rb +0 -42
  1043. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_integer_spec.rb +0 -64
  1044. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_symbol_spec.rb +0 -51
  1045. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/yaml_spec.rb +0 -15
  1046. data/bundle/ruby/2.5.0/gems/sass-3.4.25/CODE_OF_CONDUCT.md +0 -10
  1047. data/bundle/ruby/2.5.0/gems/sass-3.4.25/CONTRIBUTING.md +0 -148
  1048. data/bundle/ruby/2.5.0/gems/sass-3.4.25/MIT-LICENSE +0 -20
  1049. data/bundle/ruby/2.5.0/gems/sass-3.4.25/README.md +0 -227
  1050. data/bundle/ruby/2.5.0/gems/sass-3.4.25/REVISION +0 -1
  1051. data/bundle/ruby/2.5.0/gems/sass-3.4.25/Rakefile +0 -453
  1052. data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION +0 -1
  1053. data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION_DATE +0 -1
  1054. data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION_NAME +0 -1
  1055. data/bundle/ruby/2.5.0/gems/sass-3.4.25/bin/sass +0 -13
  1056. data/bundle/ruby/2.5.0/gems/sass-3.4.25/bin/sass-convert +0 -12
  1057. data/bundle/ruby/2.5.0/gems/sass-3.4.25/bin/scss +0 -13
  1058. data/bundle/ruby/2.5.0/gems/sass-3.4.25/extra/sass-spec-ref.sh +0 -32
  1059. data/bundle/ruby/2.5.0/gems/sass-3.4.25/extra/update_watch.rb +0 -13
  1060. data/bundle/ruby/2.5.0/gems/sass-3.4.25/init.rb +0 -18
  1061. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass.rb +0 -109
  1062. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores.rb +0 -15
  1063. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/base.rb +0 -88
  1064. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/chain.rb +0 -34
  1065. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/filesystem.rb +0 -60
  1066. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/memory.rb +0 -46
  1067. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/null.rb +0 -25
  1068. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/callbacks.rb +0 -67
  1069. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/css.rb +0 -408
  1070. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/deprecation.rb +0 -55
  1071. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/engine.rb +0 -1226
  1072. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/environment.rb +0 -215
  1073. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/error.rb +0 -198
  1074. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec.rb +0 -9
  1075. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/base.rb +0 -199
  1076. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/sass_convert.rb +0 -283
  1077. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/sass_scss.rb +0 -440
  1078. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/features.rb +0 -47
  1079. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers.rb +0 -23
  1080. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/base.rb +0 -182
  1081. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/deprecated_path.rb +0 -51
  1082. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/filesystem.rb +0 -219
  1083. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger.rb +0 -17
  1084. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/base.rb +0 -36
  1085. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/delayed.rb +0 -50
  1086. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/log_level.rb +0 -45
  1087. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/media.rb +0 -210
  1088. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin.rb +0 -134
  1089. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/compiler.rb +0 -582
  1090. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/configuration.rb +0 -134
  1091. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/generic.rb +0 -15
  1092. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/merb.rb +0 -48
  1093. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/rack.rb +0 -60
  1094. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/rails.rb +0 -47
  1095. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/staleness_checker.rb +0 -199
  1096. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/railtie.rb +0 -10
  1097. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/repl.rb +0 -57
  1098. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/root.rb +0 -7
  1099. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script.rb +0 -66
  1100. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_lexer.rb +0 -33
  1101. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_parser.rb +0 -33
  1102. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_variable_warning.rb +0 -52
  1103. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/functions.rb +0 -2693
  1104. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/lexer.rb +0 -464
  1105. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/parser.rb +0 -832
  1106. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree.rb +0 -16
  1107. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/funcall.rb +0 -313
  1108. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/interpolation.rb +0 -223
  1109. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/list_literal.rb +0 -104
  1110. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/literal.rb +0 -49
  1111. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/map_literal.rb +0 -64
  1112. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/node.rb +0 -127
  1113. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/operation.rb +0 -156
  1114. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/selector.rb +0 -26
  1115. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/string_interpolation.rb +0 -125
  1116. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/unary_operation.rb +0 -69
  1117. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/variable.rb +0 -57
  1118. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value.rb +0 -11
  1119. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/arg_list.rb +0 -36
  1120. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/base.rb +0 -241
  1121. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/bool.rb +0 -35
  1122. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/color.rb +0 -698
  1123. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/helpers.rb +0 -272
  1124. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/list.rb +0 -113
  1125. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/map.rb +0 -70
  1126. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/null.rb +0 -44
  1127. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/number.rb +0 -563
  1128. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/string.rb +0 -138
  1129. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss.rb +0 -14
  1130. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/css_parser.rb +0 -56
  1131. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/parser.rb +0 -1254
  1132. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/rx.rb +0 -140
  1133. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/static_parser.rb +0 -373
  1134. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector.rb +0 -323
  1135. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/abstract_sequence.rb +0 -111
  1136. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/comma_sequence.rb +0 -191
  1137. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/pseudo.rb +0 -266
  1138. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/sequence.rb +0 -636
  1139. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/simple.rb +0 -117
  1140. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/simple_sequence.rb +0 -344
  1141. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/shared.rb +0 -76
  1142. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/map.rb +0 -213
  1143. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/position.rb +0 -39
  1144. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/range.rb +0 -41
  1145. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/stack.rb +0 -120
  1146. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/supports.rb +0 -225
  1147. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/at_root_node.rb +0 -83
  1148. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/charset_node.rb +0 -22
  1149. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/comment_node.rb +0 -82
  1150. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/content_node.rb +0 -9
  1151. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/css_import_node.rb +0 -68
  1152. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/debug_node.rb +0 -18
  1153. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/directive_node.rb +0 -59
  1154. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/each_node.rb +0 -24
  1155. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/error_node.rb +0 -18
  1156. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/extend_node.rb +0 -43
  1157. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/for_node.rb +0 -36
  1158. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/function_node.rb +0 -44
  1159. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/if_node.rb +0 -52
  1160. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/import_node.rb +0 -75
  1161. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/keyframe_rule_node.rb +0 -15
  1162. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/media_node.rb +0 -48
  1163. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/mixin_def_node.rb +0 -38
  1164. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/mixin_node.rb +0 -52
  1165. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/node.rb +0 -240
  1166. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/prop_node.rb +0 -170
  1167. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/return_node.rb +0 -19
  1168. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/root_node.rb +0 -44
  1169. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/rule_node.rb +0 -155
  1170. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/supports_node.rb +0 -38
  1171. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/trace_node.rb +0 -33
  1172. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/variable_node.rb +0 -36
  1173. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/base.rb +0 -72
  1174. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/check_nesting.rb +0 -173
  1175. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/convert.rb +0 -351
  1176. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/cssize.rb +0 -373
  1177. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/deep_copy.rb +0 -107
  1178. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/extend.rb +0 -70
  1179. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/perform.rb +0 -564
  1180. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/set_options.rb +0 -139
  1181. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/to_css.rb +0 -409
  1182. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/warn_node.rb +0 -18
  1183. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/while_node.rb +0 -18
  1184. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util.rb +0 -1375
  1185. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/cross_platform_random.rb +0 -19
  1186. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/multibyte_string_scanner.rb +0 -155
  1187. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/normalized_map.rb +0 -129
  1188. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/ordered_hash.rb +0 -192
  1189. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/subset_map.rb +0 -109
  1190. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/test.rb +0 -9
  1191. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/version.rb +0 -124
  1192. data/bundle/ruby/2.5.0/gems/sass-3.4.25/rails/init.rb +0 -1
  1193. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass-spec.yml +0 -3
  1194. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/cache_test.rb +0 -131
  1195. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/callbacks_test.rb +0 -61
  1196. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/compiler_test.rb +0 -236
  1197. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/conversion_test.rb +0 -2188
  1198. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/css2sass_test.rb +0 -526
  1199. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/css_variable_test.rb +0 -132
  1200. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/data/hsl-rgb.txt +0 -319
  1201. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/encoding_test.rb +0 -219
  1202. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/engine_test.rb +0 -3447
  1203. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/exec_test.rb +0 -96
  1204. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/extend_test.rb +0 -1733
  1205. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  1206. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  1207. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/functions_test.rb +0 -1977
  1208. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/importer_test.rb +0 -421
  1209. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/logger_test.rb +0 -58
  1210. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/mock_importer.rb +0 -49
  1211. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_results/more1.css +0 -9
  1212. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_results/more1_with_line_comments.css +0 -26
  1213. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_results/more_import.css +0 -29
  1214. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_templates/_more_partial.sass +0 -2
  1215. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_templates/more1.sass +0 -23
  1216. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_templates/more_import.sass +0 -11
  1217. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/plugin_test.rb +0 -556
  1218. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/alt.css +0 -4
  1219. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/basic.css +0 -9
  1220. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/cached_import_option.css +0 -3
  1221. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/compact.css +0 -5
  1222. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/complex.css +0 -86
  1223. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/compressed.css +0 -1
  1224. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/expanded.css +0 -19
  1225. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/filename_fn.css +0 -3
  1226. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/if.css +0 -3
  1227. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import.css +0 -31
  1228. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_charset.css +0 -5
  1229. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_charset_1_8.css +0 -5
  1230. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_charset_ibm866.css +0 -5
  1231. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_content.css +0 -1
  1232. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/line_numbers.css +0 -49
  1233. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/mixins.css +0 -95
  1234. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/multiline.css +0 -24
  1235. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/nested.css +0 -22
  1236. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/options.css +0 -1
  1237. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/parent_ref.css +0 -13
  1238. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/script.css +0 -16
  1239. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/scss_import.css +0 -31
  1240. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/scss_importee.css +0 -2
  1241. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  1242. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/subdir/subdir.css +0 -3
  1243. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/units.css +0 -11
  1244. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/warn.css +0 -0
  1245. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/warn_imported.css +0 -0
  1246. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/script_conversion_test.rb +0 -357
  1247. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/script_test.rb +0 -1431
  1248. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/css_test.rb +0 -1281
  1249. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/rx_test.rb +0 -160
  1250. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/scss_test.rb +0 -4205
  1251. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/test_helper.rb +0 -37
  1252. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/source_map_test.rb +0 -1055
  1253. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/superselector_test.rb +0 -210
  1254. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_cached_import_option_partial.scss +0 -1
  1255. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_double_import_loop2.sass +0 -1
  1256. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_filename_fn_import.scss +0 -11
  1257. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  1258. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_imported_charset_utf8.sass +0 -4
  1259. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_imported_content.sass +0 -3
  1260. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_partial.sass +0 -2
  1261. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_same_name_different_partiality.scss +0 -1
  1262. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/alt.sass +0 -16
  1263. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/basic.sass +0 -23
  1264. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork1.sass +0 -2
  1265. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork2.sass +0 -2
  1266. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork3.sass +0 -2
  1267. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork4.sass +0 -2
  1268. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork5.sass +0 -3
  1269. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/cached_import_option.scss +0 -3
  1270. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/compact.sass +0 -17
  1271. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/complex.sass +0 -305
  1272. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/compressed.sass +0 -15
  1273. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/double_import_loop1.sass +0 -1
  1274. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/expanded.sass +0 -17
  1275. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/filename_fn.scss +0 -18
  1276. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/if.sass +0 -11
  1277. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import.sass +0 -12
  1278. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_charset.sass +0 -9
  1279. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_charset_1_8.sass +0 -6
  1280. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_charset_ibm866.sass +0 -11
  1281. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_content.sass +0 -4
  1282. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/importee.less +0 -2
  1283. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/importee.sass +0 -19
  1284. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/line_numbers.sass +0 -13
  1285. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/mixin_bork.sass +0 -5
  1286. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/mixins.sass +0 -76
  1287. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/multiline.sass +0 -20
  1288. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested.sass +0 -25
  1289. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork1.sass +0 -2
  1290. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork2.sass +0 -2
  1291. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork3.sass +0 -2
  1292. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork4.sass +0 -2
  1293. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_import.sass +0 -2
  1294. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_mixin_bork.sass +0 -6
  1295. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/options.sass +0 -2
  1296. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/parent_ref.sass +0 -25
  1297. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/same_name_different_ext.sass +0 -2
  1298. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/same_name_different_ext.scss +0 -1
  1299. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/same_name_different_partiality.scss +0 -1
  1300. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/script.sass +0 -101
  1301. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/scss_import.scss +0 -12
  1302. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/scss_importee.scss +0 -1
  1303. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/single_import_loop.sass +0 -1
  1304. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/import_up1.scss +0 -1
  1305. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/import_up2.scss +0 -1
  1306. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  1307. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  1308. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/subdir.sass +0 -6
  1309. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/units.sass +0 -11
  1310. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/warn.sass +0 -3
  1311. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/warn_imported.sass +0 -4
  1312. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/test_helper.rb +0 -8
  1313. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util/multibyte_string_scanner_test.rb +0 -155
  1314. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util/normalized_map_test.rb +0 -51
  1315. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util/subset_map_test.rb +0 -91
  1316. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util_test.rb +0 -438
  1317. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/value_helpers_test.rb +0 -179
  1318. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/test_helper.rb +0 -110
  1319. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/CHANGELOG.md +0 -1
  1320. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/CONTRIBUTING.md +0 -38
  1321. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Gemfile +0 -20
  1322. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Guardfile +0 -8
  1323. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/LICENSE +0 -20
  1324. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/README.md +0 -349
  1325. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Rakefile +0 -5
  1326. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Vagrantfile +0 -96
  1327. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen.rb +0 -54
  1328. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapter.rb +0 -327
  1329. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/bsd.rb +0 -75
  1330. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/darwin.rb +0 -48
  1331. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/linux.rb +0 -81
  1332. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/polling.rb +0 -58
  1333. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/windows.rb +0 -91
  1334. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/directory_record.rb +0 -406
  1335. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/listener.rb +0 -323
  1336. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/turnstile.rb +0 -32
  1337. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/version.rb +0 -3
  1338. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/listen.gemspec +0 -28
  1339. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapter_spec.rb +0 -149
  1340. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/bsd_spec.rb +0 -36
  1341. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/darwin_spec.rb +0 -37
  1342. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/linux_spec.rb +0 -47
  1343. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/polling_spec.rb +0 -68
  1344. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/windows_spec.rb +0 -30
  1345. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/directory_record_spec.rb +0 -1250
  1346. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/listener_spec.rb +0 -258
  1347. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/turnstile_spec.rb +0 -56
  1348. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen_spec.rb +0 -67
  1349. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/spec_helper.rb +0 -25
  1350. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/adapter_helper.rb +0 -666
  1351. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/directory_record_helper.rb +0 -57
  1352. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/fixtures_helper.rb +0 -29
  1353. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/listeners_helper.rb +0 -179
  1354. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/platform_helper.rb +0 -15
  1355. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/History.rdoc +0 -360
  1356. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/Manifest.txt +0 -14
  1357. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/Rakefile +0 -17
  1358. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/lib/pt_testcase.rb +0 -3130
  1359. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/lib/sexp.rb +0 -1420
  1360. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/lib/sexp_processor.rb +0 -754
  1361. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/lib/strict_sexp.rb +0 -126
  1362. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_composite_sexp_processor.rb +0 -66
  1363. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_environment.rb +0 -94
  1364. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_sexp.rb +0 -1643
  1365. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_sexp_processor.rb +0 -399
  1366. data/bundle/ruby/2.5.0/gems/slim-3.0.7/CHANGES +0 -431
  1367. data/bundle/ruby/2.5.0/gems/slim-3.0.7/Gemfile +0 -69
  1368. data/bundle/ruby/2.5.0/gems/slim-3.0.7/LICENSE +0 -21
  1369. data/bundle/ruby/2.5.0/gems/slim-3.0.7/README.jp.md +0 -1230
  1370. data/bundle/ruby/2.5.0/gems/slim-3.0.7/README.md +0 -1230
  1371. data/bundle/ruby/2.5.0/gems/slim-3.0.7/Rakefile +0 -100
  1372. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/context.rb +0 -11
  1373. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/profile-parser.rb +0 -10
  1374. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/profile-render.rb +0 -12
  1375. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/run-benchmarks.rb +0 -126
  1376. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/run-diffbench.rb +0 -21
  1377. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/view.erb +0 -23
  1378. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/view.haml +0 -18
  1379. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/view.slim +0 -17
  1380. data/bundle/ruby/2.5.0/gems/slim-3.0.7/bin/slimrb +0 -6
  1381. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/include.md +0 -20
  1382. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/include.md +0 -20
  1383. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/logic_less.md +0 -137
  1384. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/smart.md +0 -102
  1385. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/translator.md +0 -28
  1386. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/logic_less.md +0 -137
  1387. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/smart.md +0 -103
  1388. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/translator.md +0 -28
  1389. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/command.rb +0 -128
  1390. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/embedded.rb +0 -273
  1391. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/engine.rb +0 -39
  1392. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/filter.rb +0 -30
  1393. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/grammar.rb +0 -20
  1394. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/logic_less/context.rb +0 -127
  1395. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/parser.rb +0 -537
  1396. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/smart/parser.rb +0 -36
  1397. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/splat/builder.rb +0 -101
  1398. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/version.rb +0 -5
  1399. data/bundle/ruby/2.5.0/gems/slim-3.0.7/slim.gemspec +0 -24
  1400. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/helper.rb +0 -211
  1401. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_blocks.rb +0 -183
  1402. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_escaping.rb +0 -150
  1403. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_evaluation.rb +0 -180
  1404. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_output.rb +0 -168
  1405. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_structure.rb +0 -186
  1406. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_commands.rb +0 -223
  1407. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_embedded_engines.rb +0 -242
  1408. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_encoding.rb +0 -28
  1409. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_erb_converter.rb +0 -67
  1410. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_html_attributes.rb +0 -268
  1411. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_html_escaping.rb +0 -65
  1412. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_html_structure.rb +0 -553
  1413. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_parser_errors.rb +0 -148
  1414. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_pretty.rb +0 -166
  1415. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_ruby_errors.rb +0 -207
  1416. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_slim_template.rb +0 -77
  1417. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_tabs.rb +0 -169
  1418. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_text_interpolation.rb +0 -79
  1419. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_thread_options.rb +0 -18
  1420. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_unicode.rb +0 -16
  1421. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/recursive.slim +0 -1
  1422. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/slimfile.slim +0 -3
  1423. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/subdir/test.slim +0 -1
  1424. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/textfile +0 -1
  1425. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/test_include.rb +0 -24
  1426. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/literate/TESTS.md +0 -1290
  1427. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/literate/helper.rb +0 -15
  1428. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/literate/run.rb +0 -92
  1429. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/logic_less/test_logic_less.rb +0 -295
  1430. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/Rakefile +0 -7
  1431. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/controllers/application_controller.rb +0 -2
  1432. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/controllers/entries_controller.rb +0 -5
  1433. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/controllers/slim_controller.rb +0 -40
  1434. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/helpers/application_helper.rb +0 -5
  1435. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/models/entry.rb +0 -16
  1436. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/entries/edit.html.slim +0 -3
  1437. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/layouts/application.html.slim +0 -10
  1438. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/_partial.html.slim +0 -1
  1439. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/content_for.html.slim +0 -7
  1440. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/erb.html.erb +0 -1
  1441. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/form_for.html.slim +0 -2
  1442. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/helper.html.slim +0 -4
  1443. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/integers.html.slim +0 -1
  1444. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/no_layout.html.slim +0 -1
  1445. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/normal.html.slim +0 -1
  1446. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/partial.html.slim +0 -2
  1447. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/splat.html.slim +0 -2
  1448. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/thread_options.html.slim +0 -1
  1449. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/variables.html.slim +0 -1
  1450. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/xml.slim +0 -1
  1451. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config.ru +0 -4
  1452. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/application.rb +0 -44
  1453. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/boot.rb +0 -10
  1454. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/environment.rb +0 -5
  1455. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/environments/test.rb +0 -34
  1456. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/backtrace_silencers.rb +0 -7
  1457. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/inflections.rb +0 -10
  1458. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/mime_types.rb +0 -5
  1459. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/secret_token.rb +0 -7
  1460. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/session_store.rb +0 -8
  1461. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/locales/en.yml +0 -5
  1462. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/routes.rb +0 -60
  1463. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/script/rails +0 -6
  1464. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/test/helper.rb +0 -31
  1465. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/test/test_slim.rb +0 -90
  1466. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/smart/test_smart_text.rb +0 -296
  1467. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/translator/test_translator.rb +0 -76
  1468. data/bundle/ruby/2.5.0/gems/temple-0.7.7/CHANGES +0 -240
  1469. data/bundle/ruby/2.5.0/gems/temple-0.7.7/EXPRESSIONS.md +0 -261
  1470. data/bundle/ruby/2.5.0/gems/temple-0.7.7/README.md +0 -267
  1471. data/bundle/ruby/2.5.0/gems/temple-0.7.7/Rakefile +0 -25
  1472. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple.rb +0 -66
  1473. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple/filters/static_analyzer.rb +0 -87
  1474. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple/filters/string_splitter.rb +0 -130
  1475. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple/mixins/dispatcher.rb +0 -160
  1476. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple/templates/rails.rb +0 -26
  1477. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple/version.rb +0 -3
  1478. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_code_merger.rb +0 -38
  1479. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_control_flow.rb +0 -90
  1480. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_dynamic_inliner.rb +0 -95
  1481. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_eraser.rb +0 -55
  1482. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_escapable.rb +0 -49
  1483. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_multi_flattener.rb +0 -33
  1484. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_static_analyzer.rb +0 -23
  1485. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_static_merger.rb +0 -41
  1486. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_string_splitter.rb +0 -18
  1487. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/helper.rb +0 -30
  1488. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_attribute_merger.rb +0 -76
  1489. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_attribute_remover.rb +0 -43
  1490. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_attribute_sorter.rb +0 -48
  1491. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_fast.rb +0 -97
  1492. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_pretty.rb +0 -55
  1493. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/mixins/test_dispatcher.rb +0 -70
  1494. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/mixins/test_grammar_dsl.rb +0 -86
  1495. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_engine.rb +0 -189
  1496. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_erb.rb +0 -61
  1497. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_filter.rb +0 -29
  1498. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_generator.rb +0 -158
  1499. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_grammar.rb +0 -47
  1500. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_map.rb +0 -39
  1501. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_utils.rb +0 -39
  1502. data/bundle/ruby/2.5.0/gems/terminal-table-1.8.0/Rakefile +0 -15
  1503. data/bundle/ruby/2.5.0/gems/terminal-table-1.8.0/examples/examples.rb +0 -83
  1504. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/CHANGELOG.md +0 -127
  1505. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/Gemfile +0 -65
  1506. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/HACKING +0 -16
  1507. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/README.md +0 -233
  1508. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/Rakefile +0 -106
  1509. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/bin/tilt +0 -122
  1510. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/docs/TEMPLATES.md +0 -555
  1511. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/docs/common.css +0 -14
  1512. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/lib/tilt.rb +0 -166
  1513. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/lib/tilt/commonmarker.rb +0 -21
  1514. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/lib/tilt/erb.rb +0 -57
  1515. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/lib/tilt/haml.rb +0 -86
  1516. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/lib/tilt/sass.rb +0 -41
  1517. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/lib/tilt/template.rb +0 -302
  1518. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/man/index.txt +0 -2
  1519. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/man/tilt.1.ronn +0 -59
  1520. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/locals.mab +0 -1
  1521. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/markaby.mab +0 -1
  1522. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/markaby_other_static.mab +0 -1
  1523. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/render_twice.mab +0 -1
  1524. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/scope.mab +0 -1
  1525. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/yielding.mab +0 -2
  1526. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/mytemplate.rb +0 -2
  1527. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/test_helper.rb +0 -64
  1528. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_asciidoctor_test.rb +0 -50
  1529. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_babeltemplate.rb +0 -33
  1530. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_blueclothtemplate_test.rb +0 -33
  1531. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_buildertemplate_test.rb +0 -72
  1532. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_cache_test.rb +0 -43
  1533. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_coffeescripttemplate_test.rb +0 -141
  1534. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_commonmarkertemplate_test.rb +0 -20
  1535. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_compilesite_test.rb +0 -51
  1536. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_creoletemplate_test.rb +0 -24
  1537. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_csv_test.rb +0 -77
  1538. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_erbtemplate_test.rb +0 -239
  1539. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_erubistemplate_test.rb +0 -151
  1540. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_erubitemplate_test.rb +0 -158
  1541. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_etannitemplate_test.rb +0 -174
  1542. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_hamltemplate_test.rb +0 -166
  1543. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_kramdown_test.rb +0 -20
  1544. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_lesstemplate_test.less +0 -1
  1545. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_lesstemplate_test.rb +0 -42
  1546. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_liquidtemplate_test.rb +0 -87
  1547. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_livescripttemplate_test.rb +0 -37
  1548. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_mapping_test.rb +0 -232
  1549. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_markaby_test.rb +0 -88
  1550. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_markdown_test.rb +0 -186
  1551. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_marukutemplate_test.rb +0 -36
  1552. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_metadata_test.rb +0 -42
  1553. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_nokogiritemplate_test.rb +0 -87
  1554. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_pandoctemplate_test.rb +0 -67
  1555. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_prawntemplate.prawn +0 -1
  1556. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_prawntemplate_test.rb +0 -75
  1557. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_radiustemplate_test.rb +0 -75
  1558. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_rdiscounttemplate_test.rb +0 -43
  1559. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_rdoctemplate_test.rb +0 -29
  1560. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_redcarpettemplate_test.rb +0 -54
  1561. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_redclothtemplate_test.rb +0 -36
  1562. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_rstpandoctemplate_test.rb +0 -32
  1563. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_sasstemplate_test.rb +0 -41
  1564. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_sigil_test.rb +0 -41
  1565. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_stringtemplate_test.rb +0 -171
  1566. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_template_test.rb +0 -314
  1567. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_test.rb +0 -60
  1568. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_typescript_test.rb +0 -38
  1569. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_wikiclothtemplate_test.rb +0 -32
  1570. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_yajltemplate_test.rb +0 -101
  1571. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/tilt.gemspec +0 -130
  1572. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/CHANGELOG.md +0 -113
  1573. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/MIT-LICENSE.txt +0 -22
  1574. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/README.md +0 -124
  1575. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/Rakefile +0 -64
  1576. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/data/display_width.marshal.gz +0 -0
  1577. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/lib/unicode/display_width.rb +0 -51
  1578. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/lib/unicode/display_width/constants.rb +0 -8
  1579. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/spec/display_width_spec.rb +0 -156
  1580. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/unicode-display_width.gemspec +0 -18
@@ -1,3805 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # ENV['VERBOSE'] = "1"
4
-
5
- require "minitest/autorun"
6
- require "ruby_parser"
7
-
8
- $: << File.expand_path("~/Work/p4/zss/src/sexp_processor/dev/lib")
9
-
10
- require "pt_testcase"
11
-
12
- class Sexp
13
- alias oldeq2 ==
14
- # TODO: push up to Sexp
15
- def ==(obj) # :nodoc:
16
- if obj.class == self.class then
17
- super and
18
- (self.line.nil? or obj.line.nil? or self.line == obj.line)
19
- else
20
- false
21
- end
22
- end
23
- end
24
-
25
- module TestRubyParserShared
26
- def setup
27
- super
28
- # p :test => [self.class, __name__]
29
- end
30
-
31
- BLOCK_DUP_MSG = "Both block arg and actual block given."
32
-
33
- def test_double_block_error_01
34
- assert_syntax_error "a(1, &b) { }", BLOCK_DUP_MSG
35
- end
36
-
37
- def test_double_block_error_02
38
- assert_syntax_error "a(1, &b) do end", BLOCK_DUP_MSG
39
- end
40
-
41
- def test_double_block_error_03
42
- assert_syntax_error "a 1, &b do end", BLOCK_DUP_MSG
43
- end
44
-
45
- def test_double_block_error_04
46
- assert_syntax_error "m.a(1, &b) { }", BLOCK_DUP_MSG
47
- end
48
-
49
- def test_double_block_error_05
50
- assert_syntax_error "m.a(1, &b) do end", BLOCK_DUP_MSG
51
- end
52
-
53
- def test_double_block_error_06
54
- assert_syntax_error "m.a 1, &b do end", BLOCK_DUP_MSG
55
- end
56
-
57
- def test_double_block_error_07
58
- assert_syntax_error "m::a(1, &b) { }", BLOCK_DUP_MSG
59
- end
60
-
61
- def test_double_block_error_08
62
- assert_syntax_error "m::a(1, &b) do end", BLOCK_DUP_MSG
63
- end
64
-
65
- def test_double_block_error_09
66
- assert_syntax_error "m::a 1, &b do end", BLOCK_DUP_MSG
67
- end
68
-
69
- def test_wtf_7
70
- rb = "a.b (1) {c}"
71
- pt = s(:iter,
72
- s(:call, s(:call, nil, :a), :b, s(:lit, 1)),
73
- 0,
74
- s(:call, nil, :c))
75
-
76
- assert_parse rb, pt
77
- end
78
-
79
- def test_wtf_8
80
- rb = "a::b (1) {c}"
81
- pt = s(:iter,
82
- s(:call, s(:call, nil, :a), :b, s(:lit, 1)),
83
- 0,
84
- s(:call, nil, :c))
85
-
86
- assert_parse rb, pt
87
- end
88
-
89
- def test_attrasgn_array_lhs
90
- rb = '[1, 2, 3, 4][from .. to] = ["a", "b", "c"]'
91
- pt = s(:attrasgn,
92
- s(:array, s(:lit, 1), s(:lit, 2), s(:lit, 3), s(:lit, 4)),
93
- :[]=,
94
- s(:dot2,
95
- s(:call, nil, :from),
96
- s(:call, nil, :to)),
97
- s(:array, s(:str, "a"), s(:str, "b"), s(:str, "c")))
98
-
99
- assert_parse rb, pt
100
- end
101
-
102
- def test_attrasgn_array_arg
103
- rb = "a[[1, 2]] = 3"
104
- pt = s(:attrasgn,
105
- s(:call, nil, :a),
106
- :[]=,
107
- s(:array,
108
- s(:lit, 1),
109
- s(:lit, 2)),
110
- s(:lit, 3))
111
-
112
- assert_parse rb, pt
113
- end
114
-
115
- def test_block_append
116
- head = s(:args)
117
- tail = s(:zsuper)
118
- expected = s(:block, s(:args), s(:zsuper))
119
- assert_equal expected, processor.block_append(head, tail)
120
- end
121
-
122
- def test_block_append_begin_begin
123
- head = s(:begin, s(:args))
124
- tail = s(:begin, s(:args))
125
- expected = s(:block, s(:args), s(:begin, s(:args)))
126
- assert_equal expected, processor.block_append(head, tail)
127
- end
128
-
129
- def test_block_append_block
130
- head = s(:block, s(:args))
131
- tail = s(:zsuper)
132
- expected = s(:block, s(:args), s(:zsuper))
133
- assert_equal expected, processor.block_append(head, tail)
134
- end
135
-
136
- def test_block_append_nil_head
137
- head = nil
138
- tail = s(:zsuper)
139
- expected = s(:zsuper)
140
- assert_equal expected, processor.block_append(head, tail)
141
- end
142
-
143
- def test_block_append_nil_tail
144
- head = s(:args)
145
- tail = nil
146
- expected = s(:args)
147
- assert_equal expected, processor.block_append(head, tail)
148
- end
149
-
150
- def test_block_append_tail_block
151
- head = s(:call, nil, :f1)
152
- tail = s(:block, s(:undef, s(:lit, :x)), s(:undef, s(:lit, :y)))
153
- expected = s(:block,
154
- s(:call, nil, :f1),
155
- s(:block, s(:undef, s(:lit, :x)), s(:undef, s(:lit, :y))))
156
- assert_equal expected, processor.block_append(head, tail)
157
- end
158
-
159
- def test_call_array_arg
160
- rb = "1 == [:b, :c]"
161
- pt = s(:call, s(:lit, 1), :==, s(:array, s(:lit, :b), s(:lit, :c)))
162
-
163
- assert_parse rb, pt
164
- end
165
-
166
- def test_call_env
167
- processor.env[:a] = :lvar
168
- rb = "a.happy"
169
- pt = s(:call, s(:lvar, :a), :happy)
170
-
171
- assert_parse rb, pt
172
- end
173
-
174
- def test_call_self_brackets
175
- rb = "self[1]"
176
- pt = s(:call, s(:self), :[], s(:lit, 1))
177
-
178
- assert_parse rb, pt
179
- end
180
-
181
- def test_dasgn_icky2
182
- rb = "a do\n v = nil\n begin\n yield\n rescue Exception => v\n break\n end\nend"
183
- pt = s(:iter,
184
- s(:call, nil, :a),
185
- 0,
186
- s(:block,
187
- s(:lasgn, :v, s(:nil)),
188
- s(:rescue,
189
- s(:yield),
190
- s(:resbody,
191
- s(:array, s(:const, :Exception), s(:lasgn, :v, s(:gvar, :$!))),
192
- s(:break)))))
193
-
194
- assert_parse rb, pt
195
- end
196
-
197
- def test_class_comments
198
- rb = "# blah 1\n# blah 2\n\nclass X\n # blah 3\n def blah\n # blah 4\n end\nend"
199
- pt = s(:class, :X, nil,
200
- s(:defn, :blah, s(:args), s(:nil)))
201
-
202
- assert_parse rb, pt
203
-
204
- assert_equal "# blah 1\n# blah 2\n\n", result.comments
205
- assert_equal "# blah 3\n", result.defn.comments
206
- end
207
-
208
- def test_module_comments
209
- rb = "# blah 1\n \n # blah 2\n\nmodule X\n # blah 3\n def blah\n # blah 4\n end\nend"
210
- pt = s(:module, :X,
211
- s(:defn, :blah, s(:args), s(:nil)))
212
-
213
- assert_parse rb, pt
214
- assert_equal "# blah 1\n\n# blah 2\n\n", result.comments
215
- assert_equal "# blah 3\n", result.defn.comments
216
- end
217
-
218
- def test_defn_comments
219
- rb = "# blah 1\n# blah 2\n\ndef blah\nend"
220
- pt = s(:defn, :blah, s(:args), s(:nil))
221
-
222
- assert_parse rb, pt
223
- assert_equal "# blah 1\n# blah 2\n\n", result.comments
224
- end
225
-
226
- def test_defs_comments
227
- rb = "# blah 1\n# blah 2\n\ndef self.blah\nend"
228
- pt = s(:defs, s(:self), :blah, s(:args), s(:nil))
229
-
230
- assert_parse rb, pt
231
- assert_equal "# blah 1\n# blah 2\n\n", result.comments
232
- end
233
-
234
- def test_do_bug # TODO: rename
235
- rb = "a 1\na.b do |c|\n # do nothing\nend"
236
- pt = s(:block,
237
- s(:call, nil, :a, s(:lit, 1)),
238
- s(:iter,
239
- s(:call, s(:call, nil, :a), :b),
240
- s(:args, :c)))
241
-
242
- assert_parse rb, pt
243
- end
244
-
245
- def test_bug_begin_else
246
- rb = "begin 1; else; 2 end"
247
- pt = s(:block, s(:lit, 1), s(:lit, 2))
248
-
249
- assert_parse rb, pt
250
- end
251
-
252
- def test_begin_else_return_value
253
- rb = "begin; else 2; end"
254
- pt = s(:lit, 2)
255
-
256
- assert_parse rb, pt
257
- end
258
-
259
- def test_bug_comment_eq_begin
260
- rb = "\n\n#\n=begin\nblah\n=end\n\n"
261
- exp = rb.strip + "\n"
262
-
263
- refute_parse rb
264
- assert_equal exp, processor.lexer.comments
265
- end
266
-
267
- def test_eq_begin_why_wont_people_use_their_spacebar?
268
- rb = "h[k]=begin\n 42\n end"
269
- pt = s(:attrasgn, s(:call, nil, :h), :[]=, s(:call, nil, :k), s(:lit, 42))
270
-
271
- assert_parse rb, pt
272
- end
273
-
274
- def test_eq_begin_line_numbers
275
- rb = "1\n=begin\ncomment\ncomment\n=end\n2"
276
- pt = s(:block,
277
- s(:lit, 1).line(1),
278
- s(:lit, 2).line(6))
279
-
280
- assert_parse rb, pt
281
- end
282
-
283
- def test_bug_call_arglist_parens
284
- rb = 'g ( 1), 2'
285
- pt = s(:call, nil, :g, s(:lit, 1), s(:lit, 2))
286
-
287
- assert_parse rb, pt
288
-
289
- rb = <<-CODE
290
- def f
291
- g ( 1), 2
292
- end
293
- CODE
294
-
295
- pt = s(:defn, :f, s(:args),
296
- s(:call, nil, :g, s(:lit, 1), s(:lit, 2)))
297
-
298
- assert_parse rb, pt
299
-
300
- rb = <<-CODE
301
- def f()
302
- g (1), 2
303
- end
304
- CODE
305
-
306
- assert_parse rb, pt
307
- end
308
-
309
- def test_dstr_evstr
310
- rb = "\"#\{'a'}#\{b}\""
311
- pt = s(:dstr, "a", s(:evstr, s(:call, nil, :b)))
312
-
313
- assert_parse rb, pt
314
- end
315
-
316
- def test_dstr_str
317
- rb = "\"#\{'a'} b\""
318
- pt = s(:str, "a b")
319
-
320
- assert_parse rb, pt
321
- end
322
-
323
- def test_empty
324
- refute_parse ""
325
- end
326
-
327
- def test_evstr_evstr
328
- rb = "\"#\{a}#\{b}\""
329
- pt = s(:dstr, "", s(:evstr, s(:call, nil, :a)), s(:evstr, s(:call, nil, :b)))
330
-
331
- assert_parse rb, pt
332
- end
333
-
334
- def test_evstr_str
335
- rb = "\"#\{a} b\""
336
- pt = s(:dstr, "", s(:evstr, s(:call, nil, :a)), s(:str, " b"))
337
-
338
- assert_parse rb, pt
339
- end
340
-
341
- def test_lasgn_env
342
- rb = "a = 42"
343
- pt = s(:lasgn, :a, s(:lit, 42))
344
- expected_env = { :a => :lvar }
345
-
346
- assert_parse rb, pt
347
- assert_equal expected_env, processor.env.all
348
- end
349
-
350
- def test_lasgn_ivar_env
351
- rb = "@a = 42"
352
- pt = s(:iasgn, :@a, s(:lit, 42))
353
-
354
- assert_parse rb, pt
355
- assert_empty processor.env.all
356
- end
357
-
358
- def test_list_append
359
- a = s(:lit, 1)
360
- b = s(:lit, 2)
361
- c = s(:lit, 3)
362
-
363
- result = processor.list_append(s(:array, b.dup), c.dup)
364
-
365
- assert_equal s(:array, b, c), result
366
-
367
- result = processor.list_append(b.dup, c.dup)
368
-
369
- assert_equal s(:array, b, c), result
370
-
371
- result = processor.list_append(result, a.dup)
372
-
373
- assert_equal s(:array, b, c, a), result
374
-
375
- lhs, rhs = s(:array, s(:lit, :iter)), s(:when, s(:const, :BRANCHING), nil)
376
- expected = s(:array, s(:lit, :iter), s(:when, s(:const, :BRANCHING), nil))
377
-
378
- assert_equal expected, processor.list_append(lhs, rhs)
379
- end
380
-
381
- def test_list_prepend
382
- a = s(:lit, 1)
383
- b = s(:lit, 2)
384
- c = s(:lit, 3)
385
-
386
- result = processor.list_prepend(b.dup, s(:array, c.dup))
387
-
388
- assert_equal s(:array, b, c), result
389
-
390
- result = processor.list_prepend(b.dup, c.dup)
391
-
392
- assert_equal s(:array, b, c), result
393
-
394
- result = processor.list_prepend(a.dup, result)
395
-
396
- assert_equal s(:array, a, b, c), result
397
- end
398
-
399
- def test_literal_concat_dstr_dstr
400
- lhs = s(:dstr, "Failed to download spec ",
401
- s(:evstr, s(:call, nil, :spec_name)),
402
- s(:str, " from "),
403
- s(:evstr, s(:call, nil, :source_uri)),
404
- s(:str, ":\n"))
405
- rhs = s(:dstr, "\t",
406
- s(:evstr, s(:call, s(:ivar, :@fetch_error), :message)))
407
- expected = s(:dstr, "Failed to download spec ",
408
- s(:evstr, s(:call, nil, :spec_name)),
409
- s(:str, " from "),
410
- s(:evstr, s(:call, nil, :source_uri)),
411
- s(:str, ":\n"),
412
- s(:str, "\t"),
413
- s(:evstr, s(:call, s(:ivar, :@fetch_error), :message)))
414
-
415
- assert_equal expected, processor.literal_concat(lhs, rhs)
416
- end
417
-
418
- def test_literal_concat_dstr_evstr
419
- lhs, rhs = s(:dstr, "a"), s(:evstr, s(:call, nil, :b))
420
- expected = s(:dstr, "a", s(:evstr, s(:call, nil, :b)))
421
-
422
- assert_equal expected, processor.literal_concat(lhs, rhs)
423
- end
424
-
425
- def test_literal_concat_evstr_evstr
426
- lhs, rhs = s(:evstr, s(:lit, 1)), s(:evstr, s(:lit, 2))
427
- expected = s(:dstr, "", s(:evstr, s(:lit, 1)), s(:evstr, s(:lit, 2)))
428
-
429
- assert_equal expected, processor.literal_concat(lhs, rhs)
430
- end
431
-
432
- def test_literal_concat_str_evstr
433
- lhs, rhs = s(:str, ""), s(:evstr, s(:str, "blah"))
434
-
435
- assert_equal s(:str, "blah"), processor.literal_concat(lhs, rhs)
436
- end
437
-
438
- def test_logical_op_12
439
- lhs = s(:lit, 1)
440
- rhs = s(:lit, 2)
441
- exp = s(:and, s(:lit, 1), s(:lit, 2))
442
-
443
- assert_equal exp, processor.logical_op(:and, lhs, rhs)
444
- end
445
-
446
- def test_logical_op_1234_5
447
- lhs = s(:and, s(:lit, 1), s(:and, s(:lit, 2), s(:and, s(:lit, 3), s(:lit, 4))))
448
- rhs = s(:lit, 5)
449
- exp = s(:and,
450
- s(:lit, 1),
451
- s(:and,
452
- s(:lit, 2),
453
- s(:and,
454
- s(:lit, 3),
455
- s(:and,
456
- s(:lit, 4),
457
- s(:lit, 5)))))
458
-
459
- assert_equal exp, processor.logical_op(:and, lhs, rhs)
460
- end
461
-
462
- def test_logical_op_123_4
463
- lhs = s(:and, s(:lit, 1), s(:and, s(:lit, 2), s(:lit, 3)))
464
- rhs = s(:lit, 4)
465
- exp = s(:and,
466
- s(:lit, 1),
467
- s(:and,
468
- s(:lit, 2),
469
- s(:and,
470
- s(:lit, 3),
471
- s(:lit, 4))))
472
-
473
- assert_equal exp, processor.logical_op(:and, lhs, rhs)
474
- end
475
-
476
- def test_logical_op_12_3
477
- lhs = s(:and, s(:lit, 1), s(:lit, 2))
478
- rhs = s(:lit, 3)
479
- exp = s(:and, s(:lit, 1), s(:and, s(:lit, 2), s(:lit, 3)))
480
-
481
- assert_equal exp, processor.logical_op(:and, lhs, rhs)
482
- end
483
-
484
- def test_logical_op_nested_mix
485
- lhs = s(:or, s(:call, nil, :a), s(:call, nil, :b))
486
- rhs = s(:and, s(:call, nil, :c), s(:call, nil, :d))
487
- exp = s(:or,
488
- s(:or, s(:call, nil, :a), s(:call, nil, :b)),
489
- s(:and, s(:call, nil, :c), s(:call, nil, :d)))
490
-
491
- lhs.paren = true
492
- rhs.paren = true
493
-
494
- assert_equal exp, processor.logical_op(:or, lhs, rhs)
495
- end
496
-
497
- def test_str_evstr
498
- rb = "\"a #\{b}\""
499
- pt = s(:dstr, "a ", s(:evstr, s(:call, nil, :b)))
500
-
501
- assert_parse rb, pt
502
- end
503
-
504
- def test_dsym_to_sym
505
- pt = s(:alias, s(:lit, :<<), s(:lit, :>>))
506
-
507
- rb = "alias :<< :>>"
508
- assert_parse rb, pt
509
-
510
- rb = 'alias :"<<" :">>"'
511
- assert_parse rb, pt
512
- end
513
-
514
- def test_regexp
515
- regexps = {
516
- "/wtf/" => /wtf/,
517
- "/wtf/n" => /wtf/n,
518
- "/wtf/m" => /wtf/m,
519
- "/wtf/nm" => /wtf/nm,
520
- "/wtf/nmnmnmnm" => /wtf/nm,
521
- }
522
-
523
- regexps.each do |rb, lit|
524
- assert_parse rb, s(:lit, lit)
525
- end
526
-
527
- # TODO: add more including interpolation etc
528
- end
529
-
530
- def test_label_vs_string
531
- rb = "_buf << ':\n'"
532
- pt = s(:call, s(:call, nil, :_buf), :<<, s(:str, ":\n"))
533
-
534
- assert_parse rb, pt
535
- end
536
-
537
- def test_str_backslashes
538
- long_string = '\n' * 100
539
- rb = "x '#{long_string}'"
540
- pt = s(:call, nil, :x, s(:str, long_string))
541
-
542
- assert_parse rb, pt
543
- end
544
-
545
- def test_str_pct_Q_nested
546
- rb = "%Q[before [#\{nest}] after]"
547
- pt = s(:dstr, "before [", s(:evstr, s(:call, nil, :nest)), s(:str, "] after"))
548
-
549
- assert_parse rb, pt
550
- end
551
-
552
- def test_str_pct_q
553
- rb = "%q{a b c}"
554
- pt = s(:str, "a b c")
555
-
556
- assert_parse rb, pt
557
- end
558
-
559
- # def test_str_pct_nested_nested
560
- # rb = "%{ { #\{ \"#\{1}\" } } }"
561
- # assert_equal " { 1 } ", eval(rb)
562
- # pt = s(:dstr, " { ", s(:evstr, s(:lit, 1)), s(:str, " } "))
563
- #
564
- # assert_parse rb, pt
565
- # end
566
-
567
- def test_str_str
568
- rb = "\"a #\{'b'}\""
569
- pt = s(:str, "a b")
570
-
571
- assert_parse rb, pt
572
- end
573
-
574
- def test_str_str_str
575
- rb = "\"a #\{'b'} c\""
576
- pt = s(:str, "a b c")
577
-
578
- assert_parse rb, pt
579
- end
580
-
581
- def test_str_newline_hash_line_number
582
- rb = "\"\\n\\n\\n\\n#\"\n1"
583
- pt = s(:block, s(:str, "\n\n\n\n#").line(1),
584
- s(:lit, 1).line(2))
585
-
586
- assert_parse rb, pt
587
- end
588
-
589
- def after_process_hook klass, node, data, input_name, output_name
590
- assert_equal 1, @result.line, "should have proper line number"
591
- end
592
-
593
- def test_parse_line_block
594
- rb = "a = 42\np a"
595
- pt = s(:block,
596
- s(:lasgn, :a, s(:lit, 42)),
597
- s(:call, nil, :p, s(:lvar, :a)))
598
-
599
- assert_parse_line rb, pt, 1
600
- assert_equal 1, result.lasgn.line, "lasgn should have line number"
601
- assert_equal 2, result.call.line, "call should have line number"
602
-
603
- expected = "(string)"
604
- assert_equal expected, result.file
605
- assert_equal expected, result.lasgn.file
606
- assert_equal expected, result.call.file
607
-
608
- assert_same result.file, result.lasgn.file
609
- assert_same result.file, result.call.file
610
- end
611
-
612
- def test_parse_line_block_inline_comment
613
- rb = "a\nb # comment\nc"
614
- pt = s(:block,
615
- s(:call, nil, :a).line(1),
616
- s(:call, nil, :b).line(2),
617
- s(:call, nil, :c).line(3))
618
-
619
- assert_parse rb, pt
620
- end
621
-
622
- def test_parse_line_block_inline_multiline_comment
623
- rb = "a\nb # comment\n# another comment\nc"
624
- pt = s(:block,
625
- s(:call, nil, :a).line(1),
626
- s(:call, nil, :b).line(2),
627
- s(:call, nil, :c).line(4)).line(1)
628
-
629
- assert_parse rb, pt
630
- end
631
-
632
- def test_parse_line_block_inline_comment_leading_newlines
633
- rb = "\n\n\na\nb # comment\n# another comment\nc"
634
- pt = s(:block,
635
- s(:call, nil, :a).line(4),
636
- s(:call, nil, :b).line(5),
637
- s(:call, nil, :c).line(7)).line(4)
638
-
639
- assert_parse rb, pt
640
- end
641
-
642
- def test_parse_line_call_no_args
643
- rb = "f do |x, y|\n x + y\nend"
644
-
645
- pt = s(:iter,
646
- s(:call, nil, :f),
647
- s(:args, :x, :y),
648
- s(:call, s(:lvar, :x), :+, s(:lvar, :y)))
649
-
650
- assert_parse_line rb, pt, 1
651
- assert_equal 1, result[1].line, "call should have line number"
652
- assert_equal 1, result[2].line, "masgn should have line number"
653
- assert_equal 2, result[3].line, "call should have line number"
654
- end
655
-
656
- def test_parse_line_call_ivar_line_break_paren
657
- rb = "a(@b\n)"
658
- pt = s(:call, nil, :a, s(:ivar, :@b).line(1)).line(1)
659
-
660
- assert_parse rb, pt
661
- end
662
-
663
- def test_parse_line_call_ivar_arg_no_parens_line_break
664
- rb = "a @b\n"
665
- pt = s(:call, nil, :a, s(:ivar, :@b).line(1)).line(1)
666
-
667
- assert_parse rb, pt
668
- end
669
-
670
- def test_parse_line_defn_no_parens
671
- pt = s(:defn, :f, s(:args), s(:nil))
672
-
673
- rb = "def f\nend"
674
- assert_parse_line rb, pt, 1
675
-
676
- processor.reset
677
-
678
- rb = "def f\n\nend"
679
- assert_parse_line rb, pt, 1
680
- end
681
-
682
- def test_parse_line_defn_complex
683
- rb = "def x(y)\n p(y)\n y *= 2\n return y;\nend" # TODO: remove () & ;
684
- pt = s(:defn, :x, s(:args, :y),
685
- s(:call, nil, :p, s(:lvar, :y)),
686
- s(:lasgn, :y, s(:call, s(:lvar, :y), :*, s(:lit, 2))),
687
- s(:return, s(:lvar, :y)))
688
-
689
- assert_parse_line rb, pt, 1
690
-
691
- body = result
692
- assert_equal 2, body.call.line, "call should have line number"
693
- assert_equal 3, body.lasgn.line, "lasgn should have line number"
694
- assert_equal 4, body.return.line, "return should have line number"
695
- end
696
-
697
- def test_parse_line_evstr_after_break
698
- rb = "\"a\"\\\n\"\#{b}\""
699
- pt = s(:dstr, "a",
700
- s(:evstr,
701
- s(:call, nil, :b).line(2)).line(2)).line(1)
702
-
703
- assert_parse rb, pt
704
- end
705
-
706
- def test_parse_line_dstr_newline
707
- skip "dstr line numbers are just gonna be screwed for a while..."
708
-
709
- rb = <<-'CODE'
710
- "a\n#{
711
- }"
712
- true
713
- CODE
714
-
715
- pt = s(:block,
716
- s(:dstr, "a\n",
717
- s(:evstr)).line(1),
718
- s(:true).line(3))
719
-
720
- assert_parse rb, pt
721
- end
722
-
723
- def test_parse_line_hash_lit
724
- rb = "{\n:s1 => 1,\n}"
725
- pt = s(:hash,
726
- s(:lit, :s1).line(2), s(:lit, 1).line(2),
727
- ).line(1)
728
-
729
- assert_parse rb, pt
730
- end
731
-
732
- def test_parse_line_heredoc_evstr
733
- skip "heredoc line numbers are just gonna be screwed for a while..."
734
-
735
- rb = "<<-A\na\n\#{b}\nA"
736
- pt = s(:dstr, "a\n",
737
- s(:evstr,
738
- s(:call, nil, :b).line(3)),
739
- s(:str, "\n")).line(1)
740
-
741
- assert_parse rb, pt
742
- end
743
-
744
- def test_parse_line_multiline_str
745
- rb = "\"a\nb\"\n1"
746
- pt = s(:block,
747
- s(:str, "a\nb").line(1),
748
- s(:lit, 1).line(3)).line(1)
749
-
750
- assert_parse rb, pt
751
- end
752
-
753
- def test_parse_line_multiline_str_literal_n
754
- rb = "\"a\\nb\"\n1"
755
- pt = s(:block,
756
- s(:str, "a\nb").line(1),
757
- s(:lit, 1).line(2)).line(1)
758
-
759
- assert_parse rb, pt
760
- end
761
-
762
- def test_parse_line_iter_call_parens
763
- rb = "f(a) do |x, y|\n x + y\nend"
764
-
765
- pt = s(:iter,
766
- s(:call, nil, :f, s(:call, nil, :a)),
767
- s(:args, :x, :y),
768
- s(:call, s(:lvar, :x), :+, s(:lvar, :y)))
769
-
770
- assert_parse_line rb, pt, 1
771
-
772
- assert_equal 1, result[1].line, "call should have line number"
773
- assert_equal 1, result[2].line, "masgn should have line number"
774
- assert_equal 2, result[3].line, "call should have line number"
775
- end
776
-
777
- def test_parse_line_iter_call_no_parens
778
- rb = "f a do |x, y|\n x + y\nend"
779
-
780
- pt = s(:iter,
781
- s(:call, nil, :f, s(:call, nil, :a).line(1)).line(1),
782
- s(:args, :x, :y).line(1),
783
- s(:call, s(:lvar, :x).line(2), :+,
784
- s(:lvar, :y).line(2)).line(2)).line(1)
785
-
786
- assert_parse rb, pt
787
- end
788
-
789
- def test_parse_line_heredoc
790
- rb = <<-CODE
791
- string = <<-HEREDOC
792
- very long string
793
- HEREDOC
794
- puts string
795
- CODE
796
-
797
- pt = s(:block,
798
- s(:lasgn, :string,
799
- s(:str, " very long string\n").line(1)).line(1),
800
- s(:call, nil, :puts, s(:lvar, :string).line(4)).line(4)).line(1)
801
-
802
- assert_parse rb, pt
803
- end
804
-
805
- def test_parse_line_heredoc_regexp_chars
806
- rb = <<-CODE
807
- string = <<-"^D"
808
- very long string
809
- ^D
810
- puts string
811
- CODE
812
-
813
- pt = s(:block,
814
- s(:lasgn, :string,
815
- s(:str, " very long string\n").line(1)).line(1),
816
- s(:call, nil, :puts, s(:lvar, :string).line(4)).line(4)).line(1)
817
-
818
- assert_parse rb, pt
819
- end
820
-
821
- def test_parse_line_newlines
822
- rb = "true\n\n"
823
- pt = s(:true)
824
-
825
- assert_parse_line rb, pt, 1
826
- end
827
-
828
- def test_parse_line_rescue
829
- rb = "begin\n a\n rescue\n b\n rescue\n c\n end\n"
830
- pt = s(:rescue,
831
- s(:call, nil, :a).line(2),
832
- s(:resbody, s(:array).line(3),
833
- s(:call, nil, :b).line(4)).line(3),
834
- s(:resbody, s(:array).line(5),
835
- s(:call, nil, :c).line(6)).line(5)).line(1)
836
-
837
- assert_parse_line rb, pt, 1
838
- end
839
-
840
- def test_parse_line_return
841
- rb = <<-RUBY
842
- def blah
843
- if true then
844
- return 42
845
- end
846
- end
847
- RUBY
848
-
849
- pt = s(:defn, :blah, s(:args),
850
- s(:if, s(:true),
851
- s(:return, s(:lit, 42)),
852
- nil))
853
-
854
- assert_parse_line rb, pt, 1
855
-
856
- assert_equal 3, result.if.return.line
857
- assert_equal 3, result.if.return.lit.line
858
- end
859
-
860
- def test_parse_line_str_with_newline_escape
861
- rb = 'a("\n", true)'
862
- pt = s(:call, nil, :a,
863
- s(:str, "\n").line(1),
864
- s(:true).line(1))
865
-
866
- assert_parse rb, pt
867
- end
868
-
869
- def test_parse_line_trailing_newlines
870
- rb = "a \nb"
871
- pt = s(:block,
872
- s(:call, nil, :a).line(1),
873
- s(:call, nil, :b).line(2)).line(1)
874
-
875
- assert_parse rb, pt
876
- end
877
-
878
- def test_bug_and
879
- rb = "true and []"
880
- pt = s(:and, s(:true), s(:array))
881
-
882
- assert_parse rb, pt
883
-
884
- rb = "true and\ntrue"
885
- pt = s(:and, s(:true), s(:true))
886
-
887
- assert_parse rb, pt
888
- end
889
-
890
- def test_bug_cond_pct
891
- rb = "case; when %r%blahblah%; end"
892
- pt = s(:case, nil, s(:when, s(:array, s(:lit, /blahblah/)), nil), nil)
893
-
894
- assert_parse rb, pt
895
- end
896
-
897
- # according to 2.3.1 parser -- added: ON 1.8 only:
898
- # rp.process("f { |(a,b),c| }") == rp.process("f { |((a,b),c)| }")
899
-
900
- # ruby18 -e "p lambda { |(a,b)| }.arity" # => 2
901
- # ruby19 -e "p lambda { |(a,b)| }.arity" # => 1
902
- # ruby18 -e "p lambda { |(a,b),c| }.arity" # => 2
903
- # ruby19 -e "p lambda { |(a,b),c| }.arity" # => 2
904
- # ruby18 -e "p lambda { |((a,b),c)| }.arity" # => 2
905
- # ruby19 -e "p lambda { |((a,b),c)| }.arity" # => 1
906
-
907
- def test_bug_args_masgn
908
- rb = "f { |(a, b), c| }"
909
- pt = s(:iter,
910
- s(:call, nil, :f),
911
- s(:args, s(:masgn, :a, :b), :c))
912
-
913
- assert_parse rb, pt.dup
914
- end
915
-
916
- def test_bug_args_masgn2
917
- rb = "f { |((a, b), c), d| }"
918
- pt = s(:iter,
919
- s(:call, nil, :f),
920
- s(:args, s(:masgn, s(:masgn, :a, :b), :c), :d))
921
-
922
- assert_parse rb, pt
923
- end
924
-
925
- def ruby18
926
- RubyParser::V18 === self.processor
927
- end
928
-
929
- def test_bug_comma
930
- val = if ruby18 then
931
- s(:lit, 100)
932
- else
933
- s(:str, "d")
934
- end
935
-
936
- rb = "if test ?d, dir then end"
937
- pt = s(:if,
938
- s(:call, nil, :test, val, s(:call, nil, :dir)),
939
- nil,
940
- nil)
941
-
942
- assert_parse rb, pt
943
- end
944
-
945
- def test_bug_case_when_regexp
946
- rb = "case :x; when /x/ then end"
947
- pt = s(:case, s(:lit, :x),
948
- s(:when, s(:array, s(:lit, /x/)), nil),
949
- nil)
950
-
951
- assert_parse rb, pt
952
- end
953
-
954
- def test_bug_masgn_right
955
- rb = "f { |a, (b, c)| }"
956
- pt = s(:iter,
957
- s(:call, nil, :f),
958
- s(:args, :a, s(:masgn, :b, :c)))
959
-
960
- assert_parse rb, pt
961
- end
962
-
963
- def test_when_splat
964
- rb = "case a; when *b then; end"
965
- pt = s(:case, s(:call, nil, :a),
966
- s(:when, s(:array, s(:splat, s(:call, nil, :b))), nil),
967
- nil)
968
-
969
- assert_parse rb, pt
970
- end
971
-
972
- def test_if_symbol
973
- rb = "if f :x; end"
974
- pt = s(:if, s(:call, nil, :f, s(:lit, :x)), nil, nil)
975
-
976
- assert_parse rb, pt
977
- end
978
-
979
-
980
- def test_bug_not_parens
981
- rb = "not(a)"
982
- pt = if ruby18 then
983
- s(:not, s(:call, nil, :a))
984
- else
985
- s(:call, s(:call, nil, :a), :"!")
986
- end
987
-
988
- assert_parse rb, pt
989
- end
990
-
991
- def test_pipe_space
992
- rb = "a.b do | | end"
993
- pt = s(:iter, s(:call, s(:call, nil, :a), :b), s(:args))
994
-
995
- assert_parse rb, pt
996
- end
997
-
998
- def test_cond_unary_minus
999
- rb = "if -1; end"
1000
- pt = s(:if, s(:lit, -1), nil, nil)
1001
-
1002
- assert_parse rb, pt
1003
- end
1004
-
1005
- def test_bug_op_asgn_rescue
1006
- rb = "a ||= b rescue nil"
1007
- pt = s(:rescue,
1008
- s(:op_asgn_or, s(:lvar, :a), s(:lasgn, :a, s(:call, nil, :b))),
1009
- s(:resbody, s(:array), s(:nil)))
1010
-
1011
- assert_parse rb, pt
1012
- end
1013
-
1014
- def test_magic_encoding_comment
1015
- rb = "# encoding: utf-8\nclass ExampleUTF8ClassNameVarietà; def self.è; così = :però; end\nend\n"
1016
-
1017
- rb.force_encoding "ASCII-8BIT" if rb.respond_to? :force_encoding
1018
-
1019
- # TODO: class vars
1020
- # TODO: odd-ternary: a ?bb : c
1021
- # TODO: globals
1022
-
1023
- pt = s(:class, :"ExampleUTF8ClassNameVariet\303\240", nil,
1024
- s(:defs, s(:self), :"\303\250", s(:args),
1025
- s(:lasgn, :"cos\303\254", s(:lit, :"per\303\262"))))
1026
-
1027
- err = RUBY_VERSION =~ /^1\.8/ ? "Skipping magic encoding comment\n" : ""
1028
-
1029
- assert_output "", err do
1030
- assert_parse rb, pt
1031
- end
1032
- end
1033
-
1034
- def test_iter_args_1
1035
- rb = "f { |a,b| }"
1036
- pt = s(:iter, s(:call, nil, :f), s(:args, :a, :b))
1037
-
1038
- assert_parse rb, pt
1039
- end
1040
-
1041
- def test_iter_args_3
1042
- rb = "f { |a, (b, c), d| }"
1043
- pt = s(:iter, s(:call, nil, :f), s(:args, :a, s(:masgn, :b, :c), :d))
1044
-
1045
- assert_parse rb, pt
1046
- end
1047
-
1048
- def test_str_heredoc_interp
1049
- rb = "<<\"\"\n\#{x}\nblah2\n\n"
1050
- pt = s(:dstr, "", s(:evstr, s(:call, nil, :x)), s(:str, "\nblah2\n"))
1051
-
1052
- assert_parse rb, pt
1053
- end
1054
-
1055
- def test_i_fucking_hate_line_numbers
1056
- rb = <<-END.gsub(/^ {6}/, '')
1057
- if true
1058
- p 1
1059
- a.b 2
1060
- c.d 3, 4
1061
- e.f 5
1062
- g.h 6, 7
1063
- p(1)
1064
- a.b(2)
1065
- c.d(3, 4)
1066
- e.f(5)
1067
- g.h(6, 7)
1068
- end
1069
- END
1070
-
1071
- pt = s(:if, s(:true).line(1),
1072
- s(:block,
1073
- s(:call, nil, :p, s(:lit, 1).line(2)).line(2),
1074
- s(:call, s(:call, nil, :a).line(3), :b,
1075
- s(:lit, 2).line(3)).line(3),
1076
- s(:call, s(:call, nil, :c).line(4), :d,
1077
- s(:lit, 3).line(4), s(:lit, 4).line(4)).line(4),
1078
- s(:call, s(:call, nil, :e).line(5), :f,
1079
- s(:lit, 5).line(5)).line(5),
1080
- s(:call, s(:call, nil, :g).line(6), :h,
1081
- s(:lit, 6).line(6), s(:lit, 7).line(6)).line(6),
1082
- s(:call, nil, :p, s(:lit, 1).line(7)).line(7),
1083
- s(:call, s(:call, nil, :a).line(8), :b,
1084
- s(:lit, 2).line(8)).line(8),
1085
- s(:call, s(:call, nil, :c).line(9), :d,
1086
- s(:lit, 3).line(9), s(:lit, 4).line(9)).line(9),
1087
- s(:call, s(:call, nil, :e).line(10), :f,
1088
- s(:lit, 5).line(10)).line(10),
1089
- s(:call, s(:call, nil, :g).line(11), :h,
1090
- s(:lit, 6).line(11), s(:lit, 7).line(11)).line(11)).line(2),
1091
- nil).line(1)
1092
-
1093
- assert_parse rb, pt
1094
- end
1095
-
1096
- def test_i_fucking_hate_line_numbers2
1097
- rb = <<-EOM.gsub(/^ {6}/, '')
1098
- if true then
1099
- p('a')
1100
- b = 1
1101
- p b
1102
- c =1
1103
- end
1104
- a
1105
- EOM
1106
-
1107
- pt = s(:block,
1108
- s(:if, s(:true).line(1),
1109
- s(:block,
1110
- s(:call, nil, :p, s(:str, "a").line(2)).line(2),
1111
- s(:lasgn, :b, s(:lit, 1).line(3)).line(3),
1112
- s(:call, nil, :p, s(:lvar, :b).line(4)).line(4),
1113
- s(:lasgn, :c, s(:lit, 1).line(5)).line(5)).line(2),
1114
- nil).line(1),
1115
- s(:call, nil, :a).line(7)).line(1)
1116
-
1117
- assert_parse rb, pt
1118
- end
1119
-
1120
- def test_parse_comments
1121
- p = RubyParser.new
1122
- sexp = p.parse <<-CODE
1123
- # class comment
1124
- class Inline
1125
- def show
1126
- # woot
1127
- end
1128
-
1129
- # Returns a list of things
1130
- def list
1131
- # woot
1132
- end
1133
- end
1134
- CODE
1135
-
1136
- assert_equal "# class comment\n", sexp.comments
1137
- act = sexp.find_nodes(:defn).map(&:comments)
1138
- exp = ["", "# Returns a list of things\n"]
1139
-
1140
- assert_equal exp, act
1141
- assert_equal [], processor.comments
1142
- assert_equal "", processor.lexer.comments
1143
- end
1144
-
1145
- def test_call_pipe
1146
- rb = "1 | 2"
1147
- pt = s(:call, s(:lit, 1), :|, s(:lit, 2))
1148
-
1149
- assert_parse rb, pt
1150
- end
1151
-
1152
- def test_lasgn_command
1153
- rb = "a = b.c 1"
1154
- pt = s(:lasgn, :a, s(:call, s(:call, nil, :b), :c, s(:lit, 1)))
1155
-
1156
- assert_parse rb, pt
1157
- end
1158
-
1159
- def test_call_args_command
1160
- rb = "a.b c.d 1"
1161
- pt = s(:call, s(:call, nil, :a), :b,
1162
- s(:call, s(:call, nil, :c), :d,
1163
- s(:lit, 1)))
1164
-
1165
- assert_parse rb, pt
1166
- end
1167
-
1168
- def test_defined_eh_parens
1169
- rb = "defined?(42)"
1170
- pt = s(:defined, s(:lit, 42))
1171
-
1172
- assert_parse rb, pt
1173
- end
1174
-
1175
- def test_if_elsif
1176
- rb = "if 1; elsif 2; end"
1177
- pt = s(:if, s(:lit, 1), nil, s(:if, s(:lit, 2), nil, nil))
1178
-
1179
- assert_parse rb, pt
1180
- end
1181
-
1182
- def test_call_gt
1183
- rb = "1 > 2"
1184
- pt = s(:call, s(:lit, 1), :>, s(:lit, 2))
1185
-
1186
- assert_parse rb, pt
1187
- end
1188
-
1189
- def test_call_lt
1190
- rb = "1 < 2"
1191
- pt = s(:call, s(:lit, 1), :<, s(:lit, 2))
1192
-
1193
- assert_parse rb, pt
1194
- end
1195
-
1196
- def test_call_lte
1197
- rb = "1 <= 2"
1198
- pt = s(:call, s(:lit, 1), :<=, s(:lit, 2))
1199
-
1200
- assert_parse rb, pt
1201
- end
1202
-
1203
- def test_call_spaceship
1204
- rb = "1 <=> 2"
1205
- pt = s(:call, s(:lit, 1), :<=>, s(:lit, 2))
1206
-
1207
- assert_parse rb, pt
1208
- end
1209
-
1210
- def test_call_and
1211
- rb = "1 & 2"
1212
- pt = s(:call, s(:lit, 1), :&, s(:lit, 2))
1213
-
1214
- assert_parse rb, pt
1215
- end
1216
-
1217
- def test_call_star2
1218
- rb = "1 ** 2"
1219
- pt = s(:call, s(:lit, 1), :"**", s(:lit, 2))
1220
-
1221
- assert_parse rb, pt
1222
- end
1223
-
1224
- def test_call_colon2
1225
- rb = "A::b"
1226
- pt = s(:call, s(:const, :A), :b)
1227
-
1228
- assert_parse rb, pt
1229
- end
1230
-
1231
- def test_call_star
1232
- rb = "1 * 2"
1233
- pt = s(:call, s(:lit, 1), :"*", s(:lit, 2))
1234
-
1235
- assert_parse rb, pt
1236
- end
1237
-
1238
- def test_yield_arg
1239
- rb = "yield 42"
1240
- pt = s(:yield, s(:lit, 42))
1241
-
1242
- assert_parse rb, pt
1243
- end
1244
-
1245
- def test_call_div
1246
- rb = "1 / 2"
1247
- pt = s(:call, s(:lit, 1), :/, s(:lit, 2))
1248
-
1249
- assert_parse rb, pt
1250
- end
1251
-
1252
- def test_call_eq3
1253
- rb = "1 === 2"
1254
- pt = s(:call, s(:lit, 1), :===, s(:lit, 2))
1255
-
1256
- assert_parse rb, pt
1257
- end
1258
-
1259
- def test_call_carat
1260
- rb = "1 ^ 2"
1261
- pt = s(:call, s(:lit, 1), :^, s(:lit, 2))
1262
-
1263
- assert_parse rb, pt
1264
- end
1265
-
1266
- def test_call_rshift
1267
- rb = "1 >> 2"
1268
- pt = s(:call, s(:lit, 1), :>>, s(:lit, 2))
1269
-
1270
- assert_parse rb, pt
1271
- end
1272
-
1273
- def test_lasgn_arg_rescue_arg
1274
- rb = "a = 1 rescue 2"
1275
- pt = s(:lasgn, :a, s(:rescue, s(:lit, 1), s(:resbody, s(:array), s(:lit, 2))))
1276
-
1277
- assert_parse rb, pt
1278
- end
1279
-
1280
- def test_call_bang_squiggle
1281
- rb = "1 !~ 2"
1282
- pt = s(:not, s(:call, s(:lit, 1), :=~, s(:lit, 2))) # TODO: check for 1.9+
1283
-
1284
- assert_parse rb, pt
1285
- end
1286
-
1287
- def test_super_arg
1288
- rb = "super 42"
1289
- pt = s(:super, s(:lit, 42))
1290
-
1291
- assert_parse rb, pt
1292
- end
1293
-
1294
- def test_defns_reserved
1295
- rb = "def self.return; end"
1296
- pt = s(:defs, s(:self), :return, s(:args), s(:nil))
1297
-
1298
- assert_parse rb, pt
1299
- end
1300
-
1301
- def test_unary_minus
1302
- rb = "-a"
1303
- pt = s(:call, s(:call, nil, :a), :"-@")
1304
-
1305
- assert_parse rb, pt
1306
- end
1307
-
1308
- def test_masgn_command_call
1309
- rb = "a, = b.c 1"
1310
- pt = s(:masgn,
1311
- s(:array, s(:lasgn, :a)),
1312
- s(:to_ary, s(:call, s(:call, nil, :b), :c, s(:lit, 1))))
1313
-
1314
- assert_parse rb, pt
1315
- end
1316
-
1317
- def test_uminus_float
1318
- rb = "-0.0"
1319
- pt = s(:lit, -0.0)
1320
-
1321
- assert_parse rb, pt
1322
- end
1323
-
1324
- def test_op_asgn_command_call
1325
- rb = "a ||= b.c 2"
1326
- pt = s(:op_asgn_or,
1327
- s(:lvar, :a),
1328
- s(:lasgn, :a, s(:call, s(:call, nil, :b), :c, s(:lit, 2))))
1329
-
1330
- assert_parse rb, pt
1331
- end
1332
-
1333
- def test_masgn_paren
1334
- rb = "(a, b) = c.d"
1335
- pt = s(:masgn,
1336
- s(:array, s(:lasgn, :a), s(:lasgn, :b)),
1337
- s(:to_ary, s(:call, s(:call, nil, :c), :d)))
1338
-
1339
- assert_parse rb, pt
1340
- end
1341
-
1342
- def test_unary_tilde
1343
- rb = "~a"
1344
- pt = s(:call, s(:call, nil, :a), :~)
1345
-
1346
- assert_parse rb, pt
1347
- end
1348
-
1349
- def test_unary_plus
1350
- rb = "+a"
1351
- pt = s(:call, s(:call, nil, :a), :+@)
1352
-
1353
- assert_parse rb, pt
1354
- end
1355
-
1356
- def test_qwords_empty
1357
- rb = "%w()"
1358
- pt = s(:array)
1359
-
1360
- assert_parse rb, pt
1361
- end
1362
-
1363
- def test_array_line_breaks
1364
- # It seems like arrays are roughly created when a certain element is created
1365
- # In ruby > 1.9 it seems like that is after the last element, so the array
1366
- # itself is assigned line 3 (since the last element is on line 3) and for
1367
- # ruby <= 1.9 it seems to get created after the first element, so the array
1368
- # itself is assigned line 2 (since the first element is on line 2).
1369
- # This seems to happen since arrays like this are created with a line in
1370
- # ruby_parser.yy like `result = s(:array, val[0])`. So, the array is not
1371
- # created by itself. The creation of the array itself is deferred until there
1372
- # is an element to create it with. That seems to mess up line numbers
1373
- # for the array. Luckily, the arary elements all seemt to get the correct
1374
- # line number.
1375
- start_line = self.class.to_s =~ /1[89]/ ? 2 : 3
1376
- rb = "[\n'a',\n'b']\n1"
1377
- pt = s(:block,
1378
- s(:array,
1379
- s(:str, "a").line(2),
1380
- s(:str, "b").line(3)).line(start_line),
1381
- s(:lit, 1).line(4))
1382
- assert_parse rb, pt
1383
- end
1384
-
1385
- def test_non_interpolated_word_array_line_breaks
1386
-
1387
- rb = "%w(\na\nb\n)\n1"
1388
- pt = s(:block,
1389
- s(:array,
1390
- s(:str, "a").line(2),
1391
- s(:str, "b").line(3)).line(1),
1392
- s(:lit, 1).line(5))
1393
- assert_parse rb, pt
1394
- end
1395
-
1396
- def test_interpolated_word_array_line_breaks
1397
-
1398
- rb = "%W(\na\nb\n)\n1"
1399
- pt = s(:block,
1400
- s(:array,
1401
- s(:str, "a").line(2),
1402
- s(:str, "b").line(3)).line(1),
1403
- s(:lit, 1).line(5))
1404
- assert_parse rb, pt
1405
- end
1406
-
1407
- def test_qWords_space
1408
- rb = "%W( )"
1409
- pt = s(:array)
1410
-
1411
- assert_parse rb, pt
1412
- end
1413
-
1414
- def test_attr_asgn_colon_id
1415
- rb = "A::b = 1"
1416
- pt = s(:attrasgn, s(:const, :A), :b=, s(:lit, 1))
1417
-
1418
- assert_parse rb, pt
1419
- end
1420
-
1421
- def test_aref_args_assocs
1422
- rb = "[1 => 2]"
1423
- pt = s(:array, s(:hash, s(:lit, 1), s(:lit, 2)))
1424
-
1425
- assert_parse rb, pt
1426
- end
1427
-
1428
- def test_BEGIN
1429
- rb = "BEGIN { 42 }"
1430
- pt = s(:iter, s(:preexe), s(:args), s(:lit, 42))
1431
-
1432
- assert_parse rb, pt
1433
- end
1434
-
1435
- def test_attrasgn_primary_dot_constant
1436
- rb = "a.B = 1"
1437
- pt = s(:attrasgn, s(:call, nil, :a), :"B=", s(:lit, 1))
1438
-
1439
- assert_parse rb, pt
1440
- end
1441
-
1442
- def test_op_asgn_primary_colon_identifier
1443
- rb = "A::b += 1"
1444
- pt = s(:op_asgn, s(:const, :A), s(:lit, 1), :b, :+) # TODO: check? looks wack
1445
-
1446
- assert_parse rb, pt
1447
- end
1448
-
1449
- def test_words_interp
1450
- rb = '%W(#{1}b)'
1451
- pt = s(:array, s(:dstr, "", s(:evstr, s(:lit, 1)), s(:str, "b")))
1452
-
1453
- assert_parse rb, pt
1454
- end
1455
-
1456
- def test_op_asgn_index_command_call
1457
- rb = "a[:b] ||= c 1, 2"
1458
- pt = s(:op_asgn1, s(:call, nil, :a), s(:array, s(:lit, :b)),
1459
- :"||",
1460
- s(:call, nil, :c, s(:lit, 1), s(:lit, 2)))
1461
-
1462
- assert_parse rb, pt
1463
- end
1464
-
1465
- def test_op_asgn_val_dot_ident_command_call
1466
- rb = "a.b ||= c 1"
1467
- pt = s(:op_asgn, s(:call, nil, :a), s(:call, nil, :c, s(:lit, 1)), :b, :"||")
1468
-
1469
- assert_parse rb, pt
1470
- end
1471
-
1472
- def test_yield_empty_parens
1473
- rb = "yield()"
1474
- pt = s(:yield)
1475
-
1476
- assert_parse rb, pt
1477
- end
1478
-
1479
- def test_masgn_lhs_splat
1480
- rb = "*a = 1, 2, 3"
1481
- pt = s(:masgn,
1482
- s(:array, s(:splat, s(:lasgn, :a))),
1483
- s(:array, s(:lit, 1), s(:lit, 2), s(:lit, 3)))
1484
-
1485
- assert_parse rb, pt
1486
- end
1487
-
1488
- def test_masgn_arg_ident
1489
- rb = "a, b.C = d"
1490
- pt = s(:masgn,
1491
- s(:array, s(:lasgn, :a), s(:attrasgn, s(:call, nil, :b), :"C=")),
1492
- s(:to_ary, s(:call, nil, :d)))
1493
-
1494
- assert_parse rb, pt
1495
- end
1496
-
1497
- def test_masgn_arg_colon_arg
1498
- rb = "a, b::c = d"
1499
- pt = s(:masgn,
1500
- s(:array, s(:lasgn, :a), s(:attrasgn, s(:call, nil, :b), :c=)),
1501
- s(:to_ary, s(:call, nil, :d)))
1502
-
1503
- assert_parse rb, pt
1504
- end
1505
-
1506
- def test_masgn_star
1507
- rb = "* = 1"
1508
- pt = s(:masgn,
1509
- s(:array, s(:splat)),
1510
- s(:to_ary, s(:lit, 1)))
1511
-
1512
- assert_parse rb, pt
1513
- end
1514
-
1515
- def test_op_asgn_dot_ident_command_call
1516
- rb = "A.B ||= c 1"
1517
- pt = s(:op_asgn, s(:const, :A), s(:call, nil, :c, s(:lit, 1)), :B, :"||")
1518
-
1519
- assert_parse rb, pt
1520
- end
1521
-
1522
- def test_block_decomp_splat
1523
- skip "not that smart yet" if ruby18 # HACK
1524
-
1525
- rb = "f { |(*a)| }"
1526
- pt = s(:iter, s(:call, nil, :f), s(:args, s(:masgn, :"*a")))
1527
-
1528
- assert_parse rb, pt
1529
- end
1530
-
1531
- def test_masgn_colon3
1532
- rb = "::A, ::B = 1, 2"
1533
- pt = s(:masgn,
1534
- s(:array, s(:const, nil, s(:colon3, :A)), s(:const, s(:colon3, :B))),
1535
- s(:array, s(:lit, 1), s(:lit, 2)))
1536
-
1537
- assert_parse rb, pt
1538
- end
1539
-
1540
- def test_masgn_colon2
1541
- rb = "a, b::C = 1, 2"
1542
- pt = s(:masgn,
1543
- s(:array, s(:lasgn, :a), s(:const, s(:colon2, s(:call, nil, :b), :C))),
1544
- s(:array, s(:lit, 1), s(:lit, 2)))
1545
-
1546
- assert_parse rb, pt
1547
- end
1548
-
1549
- def test_alias_gvar_backref
1550
- rb = "alias $MATCH $&"
1551
- pt = s(:valias, :$MATCH, :$&)
1552
-
1553
- assert_parse rb, pt
1554
- end
1555
-
1556
- def test_heredoc_broken_windows_theory_applies_to_microsoft_more_than_anything
1557
- rb = "<<EOS\r\r\nEOS\r\r\n"
1558
- pt = s(:str, "")
1559
-
1560
- assert_parse rb, pt
1561
- end
1562
-
1563
- def test_heredoc_unicode
1564
- rb = "<<OOTPÜT\n.\nOOTPÜT\n"
1565
- pt = s(:str, ".\n")
1566
-
1567
- assert_parse rb, pt
1568
- end
1569
-
1570
- def test_masgn_double_paren
1571
- rb = "((a,b))=c" # TODO: blog
1572
- pt = s(:masgn,
1573
- s(:array, s(:masgn, s(:array, s(:lasgn, :a), s(:lasgn, :b)))),
1574
- s(:to_ary, s(:call, nil, :c)))
1575
-
1576
- assert_parse rb, pt
1577
- end
1578
-
1579
- def test_index_0_opasgn
1580
- rb = "a[] += b"
1581
- pt = s(:op_asgn1, s(:call, nil, :a), nil, :+, s(:call, nil, :b))
1582
-
1583
- assert_parse rb, pt
1584
- end
1585
-
1586
- def test___ENCODING__
1587
- rb = "__ENCODING__"
1588
- pt = if RubyParser::V18 === processor then
1589
- s(:call, nil, :__ENCODING__)
1590
- else
1591
- if defined? Encoding then
1592
- if RubyParser::V18 === processor then
1593
- s(:call, nil, :__ENCODING__)
1594
- else
1595
- s(:colon2, s(:const, :Encoding), :UTF_8)
1596
- end
1597
- else
1598
- s(:str, "Unsupported!")
1599
- end
1600
- end
1601
-
1602
- assert_parse rb, pt
1603
- end
1604
-
1605
- def test_dstr_evstr_empty_end
1606
- rb = ':"#{field}"'
1607
- pt = s(:dsym, "", s(:evstr, s(:call, nil, :field)))
1608
-
1609
- assert_parse rb, pt
1610
- end
1611
-
1612
- def test_fubar_nesting
1613
- err = "class definition in method body"
1614
-
1615
- assert_syntax_error "def a; class B; end; end", err
1616
- assert_syntax_error "def a; def b; end; class B; end; end", err
1617
- end
1618
-
1619
- def test_call_not
1620
- rb = "not 42"
1621
- pt = s(:not, s(:lit, 42))
1622
-
1623
- assert_parse rb, pt
1624
- end
1625
-
1626
- def test_call_bang_command_call
1627
- rb = "! a.b 1"
1628
- pt = s(:not, s(:call, s(:call, nil, :a), :b, s(:lit, 1)))
1629
-
1630
- assert_parse rb, pt
1631
- end
1632
-
1633
- def test_call_unary_bang
1634
- rb = "!1"
1635
- pt = s(:not, s(:lit, 1))
1636
-
1637
- assert_parse rb, pt
1638
- end
1639
-
1640
- def test_bang_eq
1641
- rb = "1 != 2"
1642
- pt = s(:not, s(:call, s(:lit, 1), :"==", s(:lit, 2)))
1643
-
1644
- assert_parse rb, pt
1645
- end
1646
-
1647
- def test_flip2_env_lvar
1648
- rb = "if a..b then end"
1649
- pt = s(:if, s(:flip2, s(:call, nil, :a), s(:call, nil, :b)), nil, nil)
1650
-
1651
- assert_parse rb, pt
1652
-
1653
- top_env = processor.env.env.first
1654
-
1655
- assert_kind_of Hash, top_env
1656
-
1657
- flip = top_env.find { |k,v| k =~ /^flip/ }
1658
-
1659
- assert flip
1660
- assert_equal :lvar, flip.last
1661
- end
1662
-
1663
- def test_parse_until_not_canonical
1664
- rb = "until not var.nil?\n 'foo'\nend"
1665
-
1666
- pt = s(:while,
1667
- s(:call, s(:call, nil, :var), :nil?),
1668
- s(:str, "foo"), true)
1669
-
1670
- assert_parse rb, pt
1671
- end
1672
-
1673
- def test_parse_until_not_noncanonical
1674
- rb = "until not var.nil?\n 'foo'\nend"
1675
- pt = s(:until,
1676
- s(:not, s(:call, s(:call, nil, :var), :nil?)),
1677
- s(:str, "foo"), true)
1678
-
1679
- processor.canonicalize_conditions = false
1680
-
1681
- assert_parse rb, pt
1682
- end
1683
-
1684
- def test_parse_if_not_canonical
1685
- rb = "if not var.nil? then 'foo' else 'bar'\nend"
1686
- pt = s(:if,
1687
- s(:call, s(:call, nil, :var), :nil?),
1688
- s(:str, "bar"),
1689
- s(:str, "foo"))
1690
-
1691
- assert_parse rb, pt
1692
- end
1693
-
1694
- def test_parse_if_not_noncanonical
1695
- rb = "if not var.nil? then 'foo' else 'bar'\nend"
1696
- pt = s(:if,
1697
- s(:not, s(:call, s(:call, nil, :var), :nil?)),
1698
- s(:str, "foo"),
1699
- s(:str, "bar"))
1700
-
1701
- processor.canonicalize_conditions = false
1702
-
1703
- assert_parse rb, pt
1704
- end
1705
-
1706
- def test_parse_while_not_canonical
1707
- rb = "while not var.nil?\n 'foo'\nend"
1708
- pt = s(:until,
1709
- s(:call, s(:call, nil, :var), :nil?),
1710
- s(:str, "foo"), true)
1711
-
1712
- assert_parse rb, pt
1713
- end
1714
-
1715
- def test_parse_while_not_noncanonical
1716
- rb = "while not var.nil?\n 'foo'\nend"
1717
- pt = s(:while,
1718
- s(:not, s(:call, s(:call, nil, :var), :nil?)),
1719
- s(:str, "foo"), true)
1720
-
1721
- processor.canonicalize_conditions = false
1722
-
1723
- assert_parse rb, pt
1724
- end
1725
-
1726
- def test_defs_as_arg_with_do_block_inside
1727
- rb = "p def self.b; x.y do; end; end"
1728
- pt = s(:call,
1729
- nil,
1730
- :p,
1731
- s(:defs, s(:self), :b, s(:args),
1732
- s(:iter, s(:call, s(:call, nil, :x), :y), 0)))
1733
-
1734
- assert_parse rb, pt
1735
- end
1736
- end
1737
-
1738
- module TestRubyParserShared19Plus
1739
- def test_aref_args_lit_assocs
1740
- rb = "[1, 2 => 3]"
1741
- pt = s(:array, s(:lit, 1), s(:hash, s(:lit, 2), s(:lit, 3)))
1742
-
1743
- assert_parse rb, pt
1744
- end
1745
-
1746
- def test_block_decomp_arg_splat
1747
- rb = "a { |(b, *)| }"
1748
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:masgn, :b, :*)))
1749
-
1750
- assert_parse rb, pt
1751
- end
1752
-
1753
- def test_block_call_operation_dot
1754
- rb = "a.b c do end.d"
1755
- pt = s(:call,
1756
- s(:iter,
1757
- s(:call, s(:call, nil, :a), :b, s(:call, nil, :c)), 0),
1758
- :d)
1759
-
1760
- assert_parse rb, pt
1761
- end
1762
-
1763
- def test_block_call_operation_colon
1764
- rb = "a.b c do end::d"
1765
- pt = s(:call,
1766
- s(:iter,
1767
- s(:call, s(:call, nil, :a), :b, s(:call, nil, :c)), 0),
1768
- :d)
1769
-
1770
- assert_parse rb, pt
1771
- end
1772
-
1773
- def test_block_command_operation_dot
1774
- rb = "a :b do end.c :d"
1775
- pt = s(:call,
1776
- s(:iter, s(:call, nil, :a, s(:lit, :b)), 0),
1777
- :c,
1778
- s(:lit, :d))
1779
-
1780
- assert_parse rb, pt
1781
- end
1782
-
1783
- def test_block_command_operation_colon
1784
- rb = "a :b do end::c :d"
1785
- pt = s(:call,
1786
- s(:iter, s(:call, nil, :a, s(:lit, :b)), 0),
1787
- :c,
1788
- s(:lit, :d))
1789
-
1790
- assert_parse rb, pt
1791
- end
1792
-
1793
- def test_block_optarg
1794
- rb = "a { |b = :c| }"
1795
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:lasgn, :b, s(:lit, :c))))
1796
-
1797
- assert_parse rb, pt
1798
- end
1799
-
1800
- def test_block_reg_optarg
1801
- rb = "a { |b, c = :d| }"
1802
- pt = s(:iter, s(:call, nil, :a), s(:args, :b, s(:lasgn, :c, s(:lit, :d))))
1803
-
1804
- assert_parse rb, pt
1805
- end
1806
-
1807
- def test_block_return
1808
- rb = "return foo arg do |bar| end"
1809
- pt = s(:return,
1810
- s(:iter,
1811
- s(:call, nil, :foo, s(:call, nil, :arg)),
1812
- s(:args, :bar)))
1813
-
1814
- assert_parse rb, pt
1815
- end
1816
-
1817
- def test_block_next
1818
- rb = "next foo arg do |bar| end"
1819
- pt = s(:next,
1820
- s(:iter,
1821
- s(:call, nil, :foo, s(:call, nil, :arg)),
1822
- s(:args, :bar)))
1823
-
1824
- assert_parse rb, pt
1825
- end
1826
-
1827
- def test_block_yield
1828
- rb = "yield foo arg do |bar| end"
1829
- pt = s(:yield,
1830
- s(:iter,
1831
- s(:call, nil, :foo, s(:call, nil, :arg)),
1832
- s(:args, :bar)))
1833
-
1834
- assert_parse rb, pt
1835
- end
1836
-
1837
- def test_block_break
1838
- rb = "break foo arg do |bar| end"
1839
- pt = s(:break,
1840
- s(:iter,
1841
- s(:call, nil, :foo, s(:call, nil, :arg)),
1842
- s(:args, :bar)))
1843
-
1844
- assert_parse rb, pt
1845
- end
1846
-
1847
- def test_block_splat_reg
1848
- rb = "a { |*b, c| }"
1849
- pt = s(:iter, s(:call, nil, :a), s(:args, :"*b", :c))
1850
-
1851
- assert_parse rb, pt
1852
- end
1853
-
1854
- def test_bug_187
1855
- rb = "private def f\na.b do end\nend"
1856
- pt = s(:call,
1857
- nil,
1858
- :private,
1859
- s(:defn, :f, s(:args),
1860
- s(:iter, s(:call, s(:call, nil, :a), :b), 0)))
1861
-
1862
- assert_parse rb, pt
1863
- end
1864
-
1865
- def test_defn_opt_reg
1866
- rb = "def f(a=nil, b) end"
1867
- pt = s(:defn, :f, s(:args, s(:lasgn, :a, s(:nil)), :b), s(:nil))
1868
-
1869
- assert_parse rb, pt
1870
- end
1871
-
1872
- def test_defn_reg_opt_reg
1873
- rb = "def f(a, b = :c, d) end"
1874
- pt = s(:defn, :f, s(:args, :a, s(:lasgn, :b, s(:lit, :c)), :d), s(:nil))
1875
-
1876
- assert_parse rb, pt
1877
- end
1878
-
1879
- def test_defn_splat_arg
1880
- rb = "def f(*, a) end"
1881
- pt = s(:defn, :f, s(:args, :*, :a), s(:nil))
1882
-
1883
- assert_parse rb, pt
1884
- end
1885
-
1886
- def test_defn_arg_asplat_arg
1887
- rb = "def call(interp, *, args) end"
1888
- pt = s(:defn, :call, s(:args, :interp, :*, :args), s(:nil))
1889
-
1890
- assert_parse rb, pt
1891
- end
1892
-
1893
- def test_block_arg_scope
1894
- rb = "a { |b; c| }"
1895
- pt = s(:iter, s(:call, nil, :a), s(:args, :b, s(:shadow, :c)))
1896
-
1897
- assert_parse rb, pt
1898
- end
1899
-
1900
- def test_block_arg_scope2
1901
- rb = "a {|b; c, d| }"
1902
- pt = s(:iter, s(:call, nil, :a), s(:args, :b, s(:shadow, :c, :d)))
1903
-
1904
- assert_parse rb, pt
1905
- end
1906
-
1907
- def test_block_arg_splat_arg
1908
- rb = "a { |b, *c, d| }"
1909
- pt = s(:iter, s(:call, nil, :a), s(:args, :b, :"*c", :d))
1910
-
1911
- assert_parse rb, pt
1912
- end
1913
-
1914
- def test_stabby_proc_scope
1915
- rb = "->(a; b) {}"
1916
- pt = s(:iter, s(:call, nil, :lambda), s(:args, :a, s(:shadow, :b)))
1917
-
1918
- assert_parse rb, pt
1919
- end
1920
-
1921
- def test_stabby_arg_opt_splat_arg_block_omfg
1922
- rb = "->(b, c=1, *d, e, &f){}"
1923
- pt = s(:iter,
1924
- s(:call, nil, :lambda),
1925
- s(:args, :b, s(:lasgn, :c, s(:lit, 1)), :"*d", :e, :"&f"))
1926
-
1927
- assert_parse rb, pt
1928
- end
1929
-
1930
- def test_block_arg_opt_splat_arg_block_omfg
1931
- rb = "a { |b, c=1, *d, e, &f| }"
1932
- pt = s(:iter,
1933
- s(:call, nil, :a),
1934
- s(:args, :b, s(:lasgn, :c, s(:lit, 1)), :"*d", :e, :"&f"))
1935
-
1936
- assert_parse rb, pt
1937
- end
1938
-
1939
- def test_block_arg_opt_splat
1940
- rb = "a { |b, c = 1, *d| }"
1941
- pt = s(:iter, s(:call, nil, :a), s(:args, :b, s(:lasgn, :c, s(:lit, 1)), :"*d"))
1942
-
1943
- assert_parse rb, pt
1944
- end
1945
-
1946
- def test_block_opt_splat
1947
- rb = "a { |b = 1, *c| }"
1948
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:lasgn, :b, s(:lit, 1)), :"*c"))
1949
-
1950
- assert_parse rb, pt
1951
- end
1952
-
1953
- def test_block_arg_opt_arg_block
1954
- rb = "a { |b, c=1, d, &e| }"
1955
- pt = s(:iter, s(:call, nil, :a), s(:args, :b, s(:lasgn, :c, s(:lit, 1)), :d, :"&e"))
1956
-
1957
- assert_parse rb, pt
1958
- end
1959
-
1960
- def test_block_opt_arg
1961
- rb = "a { |b=1, c| }"
1962
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:lasgn, :b, s(:lit, 1)), :c))
1963
-
1964
- assert_parse rb, pt
1965
- end
1966
-
1967
- def test_defn_opt_splat_arg
1968
- rb = "def f (a = 1, *b, c) end"
1969
- pt = s(:defn, :f, s(:args, s(:lasgn, :a, s(:lit, 1)), :"*b", :c), s(:nil))
1970
-
1971
- assert_parse rb, pt
1972
- end
1973
-
1974
- def test_block_opt_splat_arg_block_omfg
1975
- rb = "a { |b=1, *c, d, &e| }"
1976
- pt = s(:iter,
1977
- s(:call, nil, :a),
1978
- s(:args, s(:lasgn, :b, s(:lit, 1)), :"*c", :d, :"&e"))
1979
-
1980
- assert_parse rb, pt
1981
- end
1982
-
1983
- def test_block_scope
1984
- rb = "a { |;b| }"
1985
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:shadow, :b)))
1986
-
1987
- assert_parse rb, pt
1988
- end
1989
-
1990
- def test_call_unary_bang
1991
- rb = "!1"
1992
- pt = s(:call, s(:lit, 1), :"!")
1993
-
1994
- assert_parse rb, pt
1995
- end
1996
-
1997
- def test_assoc_label
1998
- rb = "a(b:1)"
1999
- pt = s(:call, nil, :a, s(:hash, s(:lit, :b), s(:lit, 1)))
2000
-
2001
- assert_parse rb, pt
2002
- end
2003
-
2004
- def test_bang_eq
2005
- rb = "1 != 2"
2006
- pt = s(:call, s(:lit, 1), :"!=", s(:lit, 2))
2007
-
2008
- assert_parse rb, pt
2009
- end
2010
-
2011
- def test_call_not
2012
- rb = "not 42"
2013
- pt = s(:call, s(:lit, 42), :"!")
2014
-
2015
- assert_parse rb, pt
2016
- end
2017
-
2018
- def test_call_bang_command_call
2019
- rb = "! a.b 1"
2020
- pt = s(:call, s(:call, s(:call, nil, :a), :b, s(:lit, 1)), :"!")
2021
-
2022
- assert_parse rb, pt
2023
- end
2024
-
2025
- def test_stabby_arg_no_paren
2026
- rb = "->a{}"
2027
- pt = s(:iter, s(:call, nil, :lambda), s(:args, :a))
2028
-
2029
- assert_parse rb, pt
2030
- end
2031
-
2032
- def test_call_trailing_comma
2033
- rb = "f(1,)"
2034
- pt = s(:call, nil, :f, s(:lit, 1))
2035
-
2036
- assert_parse rb, pt
2037
- end
2038
-
2039
- def test_method_call_trailing_comma
2040
- rb = "a.f(1,)"
2041
- pt = s(:call, s(:call, nil, :a), :f, s(:lit, 1))
2042
-
2043
- assert_parse rb, pt
2044
- end
2045
-
2046
- def test_call_assoc_trailing_comma
2047
- rb = "f(1=>2,)"
2048
- pt = s(:call, nil, :f, s(:hash, s(:lit, 1), s(:lit, 2)))
2049
-
2050
- assert_parse rb, pt
2051
- end
2052
-
2053
- def test_method_call_assoc_trailing_comma
2054
- rb = "a.f(1=>2,)"
2055
- pt = s(:call, s(:call, nil, :a), :f, s(:hash, s(:lit, 1), s(:lit, 2)))
2056
-
2057
- assert_parse rb, pt
2058
- end
2059
-
2060
- def test_call_args_assoc_trailing_comma
2061
- rb = "f(1, 2=>3,)"
2062
- pt = s(:call, nil, :f, s(:lit, 1), s(:hash, s(:lit, 2), s(:lit, 3)))
2063
-
2064
- assert_parse rb, pt
2065
- end
2066
-
2067
- def test_call_arg_assoc
2068
- rb = "f(1, 2=>3)"
2069
- pt = s(:call, nil, :f, s(:lit, 1), s(:hash, s(:lit, 2), s(:lit, 3)))
2070
-
2071
- assert_parse rb, pt
2072
- end
2073
-
2074
- def test_call_assoc
2075
- rb = "f(2=>3)"
2076
- pt = s(:call, nil, :f, s(:hash, s(:lit, 2), s(:lit, 3)))
2077
-
2078
- assert_parse rb, pt
2079
- end
2080
-
2081
- def test_return_call_assocs
2082
- rb = "return y(z:1)"
2083
- pt = s(:return, s(:call, nil, :y, s(:hash, s(:lit, :z), s(:lit, 1))))
2084
-
2085
- assert_parse rb, pt
2086
-
2087
- rb = "return y z:1"
2088
- pt = s(:return, s(:call, nil, :y, s(:hash, s(:lit, :z), s(:lit, 1))))
2089
-
2090
- assert_parse rb, pt
2091
-
2092
- rb = "return y(z=>1)"
2093
- pt = s(:return, s(:call, nil, :y, s(:hash, s(:call, nil, :z), s(:lit, 1))))
2094
-
2095
- assert_parse rb, pt
2096
-
2097
- rb = "return y :z=>1"
2098
- pt = s(:return, s(:call, nil, :y, s(:hash, s(:lit, :z), s(:lit, 1))))
2099
-
2100
- assert_parse rb, pt
2101
-
2102
- rb = "return 1, :z => 1"
2103
- pt = s(:return,
2104
- s(:array,
2105
- s(:lit, 1),
2106
- s(:hash, s(:lit, :z), s(:lit, 1))))
2107
-
2108
- assert_parse rb, pt
2109
-
2110
- rb = "return 1, :z => 1, :w => 2"
2111
- pt = s(:return,
2112
- s(:array,
2113
- s(:lit, 1),
2114
- s(:hash, s(:lit, :z), s(:lit, 1), s(:lit, :w), s(:lit, 2))))
2115
-
2116
- assert_parse rb, pt
2117
- end
2118
-
2119
- def test_yield_call_assocs
2120
- rb = "yield y(z:1)"
2121
- pt = s(:yield, s(:call, nil, :y, s(:hash, s(:lit, :z), s(:lit, 1))))
2122
-
2123
- assert_parse rb, pt
2124
-
2125
- rb = "yield y z:1"
2126
- pt = s(:yield, s(:call, nil, :y, s(:hash, s(:lit, :z), s(:lit, 1))))
2127
-
2128
- assert_parse rb, pt
2129
-
2130
- rb = "yield y(z=>1)"
2131
- pt = s(:yield, s(:call, nil, :y, s(:hash, s(:call, nil, :z), s(:lit, 1))))
2132
-
2133
- assert_parse rb, pt
2134
-
2135
- rb = "yield y :z=>1"
2136
- pt = s(:yield, s(:call, nil, :y, s(:hash, s(:lit, :z), s(:lit, 1))))
2137
-
2138
- assert_parse rb, pt
2139
-
2140
- rb = "yield 1, :z => 1"
2141
- pt = s(:yield,
2142
- s(:lit, 1),
2143
- s(:hash, s(:lit, :z), s(:lit, 1)))
2144
-
2145
- assert_parse rb, pt
2146
-
2147
- rb = "yield 1, :z => 1, :w => 2"
2148
- pt = s(:yield,
2149
- s(:lit, 1),
2150
- s(:hash, s(:lit, :z), s(:lit, 1), s(:lit, :w), s(:lit, 2)))
2151
-
2152
- assert_parse rb, pt
2153
- end
2154
-
2155
- def test_call_assoc_new
2156
- rb = "f(a:3)"
2157
- pt = s(:call, nil, :f, s(:hash, s(:lit, :a), s(:lit, 3)))
2158
-
2159
- assert_parse rb, pt
2160
- end
2161
-
2162
- def test_call_assoc_new_if_multiline
2163
- rb = "a(b: if :c\n1\nelse\n2\nend)"
2164
- pt = s(:call, nil, :a, s(:hash, s(:lit, :b), s(:if, s(:lit, :c), s(:lit, 1), s(:lit, 2))))
2165
-
2166
- assert_parse rb, pt
2167
- end
2168
-
2169
- def test_do_lambda
2170
- rb = "->() do end"
2171
- pt = s(:iter, s(:call, nil, :lambda), s(:args))
2172
-
2173
- assert_parse rb, pt
2174
- end
2175
-
2176
- def test_call_dot_parens
2177
- rb = "1.()"
2178
- pt = s(:call, s(:lit, 1), :call)
2179
-
2180
- assert_parse rb, pt
2181
- end
2182
-
2183
- def test_call_colon_parens
2184
- rb = "1::()"
2185
- pt = s(:call, s(:lit, 1), :call)
2186
-
2187
- assert_parse rb, pt
2188
- end
2189
-
2190
- def test_block_args_opt2
2191
- rb = "a { | b=1, c=2 | }"
2192
- pt = s(:iter,
2193
- s(:call, nil, :a),
2194
- s(:args, s(:lasgn, :b, s(:lit, 1)), s(:lasgn, :c, s(:lit, 2))))
2195
-
2196
- assert_parse rb, pt
2197
- end
2198
-
2199
- def test_block_paren_splat # TODO: rename # TODO: should work on 1.8
2200
- rb = "a { |(b, *c)| }"
2201
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:masgn, :b, :"*c")))
2202
-
2203
- assert_parse rb, pt
2204
- end
2205
-
2206
- def test_masgn_anon_splat_arg
2207
- rb = "*, a = b"
2208
- pt = s(:masgn,
2209
- s(:array, s(:splat), s(:lasgn, :a)),
2210
- s(:to_ary, s(:call, nil, :b)))
2211
-
2212
- assert_parse rb, pt
2213
- end
2214
-
2215
- def test_masgn_splat_arg
2216
- rb = "*a, b = c"
2217
- pt = s(:masgn,
2218
- s(:array, s(:splat, s(:lasgn, :a)), s(:lasgn, :b)),
2219
- s(:to_ary, s(:call, nil, :c)))
2220
-
2221
- assert_parse rb, pt
2222
- end
2223
-
2224
- def test_lasgn_lasgn_command_call
2225
- rb = "a = b = c 1"
2226
- pt = s(:lasgn, :a, s(:lasgn, :b, s(:call, nil, :c, s(:lit, 1))))
2227
-
2228
- assert_parse rb, pt
2229
- end
2230
-
2231
- def test_masgn_arg_splat_arg
2232
- rb = "a, *b, c = d"
2233
- pt = s(:masgn,
2234
- s(:array, s(:lasgn, :a), s(:splat, s(:lasgn, :b)), s(:lasgn, :c)),
2235
- s(:to_ary, s(:call, nil, :d)))
2236
-
2237
- assert_parse rb, pt
2238
- end
2239
-
2240
- def test_masgn_splat_arg_arg
2241
- rb = "*a, b, c = d"
2242
- pt = s(:masgn,
2243
- s(:array, s(:splat, s(:lasgn, :a)), s(:lasgn, :b), s(:lasgn, :c)),
2244
- s(:to_ary, s(:call, nil, :d)))
2245
-
2246
- assert_parse rb, pt
2247
- end
2248
-
2249
- def test_block_decomp_anon_splat_arg
2250
- rb = "f { |(*, a)| }"
2251
- pt = s(:iter, s(:call, nil, :f), s(:args, s(:masgn, :*, :a)))
2252
-
2253
- assert_parse rb, pt
2254
- end
2255
-
2256
- def test_block_decomp_arg_splat_arg
2257
- rb = "f { |(a, *b, c)| }"
2258
- pt = s(:iter, s(:call, nil, :f), s(:args, s(:masgn, :a, :"*b", :c)))
2259
-
2260
- assert_parse rb, pt
2261
- end
2262
-
2263
- def test_symbol_empty
2264
- skip "can't do this in ruby 1.8" if RUBY_VERSION < "1.9"
2265
-
2266
- rb = ":''"
2267
- pt = s(:lit, "".to_sym)
2268
-
2269
- assert_parse rb, pt
2270
- end
2271
-
2272
- def test_masgn_var_star_var
2273
- rb = "a, *, b = c" # TODO: blog
2274
- pt = s(:masgn,
2275
- s(:array, s(:lasgn, :a), s(:splat), s(:lasgn, :b)),
2276
- s(:to_ary, s(:call, nil, :c)))
2277
-
2278
- assert_parse rb, pt
2279
- end
2280
-
2281
- def test_mlhs_keyword
2282
- rb = "a.!=(true, true)"
2283
- pt = s(:call, s(:call, nil, :a), :"!=", s(:true), s(:true))
2284
-
2285
- assert_parse rb, pt
2286
- end
2287
-
2288
- def test_call_array_lit_inline_hash
2289
- rb = "a([:b, :c => 1])"
2290
- pt = s(:call, nil, :a, s(:array, s(:lit, :b), s(:hash, s(:lit, :c), s(:lit, 1))))
2291
-
2292
- assert_parse rb, pt
2293
- end
2294
-
2295
- def test_multiline_hash_declaration
2296
- pt = s(:call, nil, :f, s(:hash, s(:lit, :state), s(:hash)))
2297
-
2298
- assert_parse "f(state: {})", pt
2299
- assert_parse "f(state: {\n})", pt
2300
- assert_parse "f(state:\n {\n})", pt
2301
- end
2302
-
2303
- def test_mlhs_back_splat
2304
- rb = "a, b, c, *s = f"
2305
- pt = s(:masgn,
2306
- s(:array,
2307
- s(:lasgn, :a), s(:lasgn, :b), s(:lasgn, :c),
2308
- s(:splat, s(:lasgn, :s))),
2309
- s(:to_ary, s(:call, nil, :f)))
2310
-
2311
- assert_parse rb, pt
2312
- end
2313
-
2314
- def test_mlhs_back_anonsplat
2315
- rb = "a, b, c, * = f"
2316
- pt = s(:masgn,
2317
- s(:array,
2318
- s(:lasgn, :a), s(:lasgn, :b), s(:lasgn, :c),
2319
- s(:splat)),
2320
- s(:to_ary, s(:call, nil, :f)))
2321
-
2322
- assert_parse rb, pt
2323
- end
2324
-
2325
- def test_mlhs_mid_splat
2326
- rb = "a, b, c, *s, x, y, z = f"
2327
- pt = s(:masgn,
2328
- s(:array,
2329
- s(:lasgn, :a), s(:lasgn, :b), s(:lasgn, :c),
2330
- s(:splat, s(:lasgn, :s)),
2331
- s(:lasgn, :x), s(:lasgn, :y), s(:lasgn, :z)),
2332
- s(:to_ary, s(:call, nil, :f)))
2333
-
2334
- assert_parse rb, pt
2335
- end
2336
-
2337
- def test_mlhs_mid_anonsplat
2338
- rb = "a, b, c, *, x, y, z = f"
2339
- pt = s(:masgn,
2340
- s(:array, s(:lasgn, :a), s(:splat), s(:lasgn, :z)),
2341
- s(:to_ary, s(:call, nil, :f)))
2342
- pt = s(:masgn,
2343
- s(:array,
2344
- s(:lasgn, :a), s(:lasgn, :b), s(:lasgn, :c),
2345
- s(:splat),
2346
- s(:lasgn, :x), s(:lasgn, :y), s(:lasgn, :z)),
2347
- s(:to_ary, s(:call, nil, :f)))
2348
-
2349
- assert_parse rb, pt
2350
- end
2351
-
2352
- def test_mlhs_front_splat
2353
- rb = "*s, x, y, z = f"
2354
- pt = s(:masgn,
2355
- s(:array, s(:splat, s(:lasgn, :s)), s(:lasgn, :z)),
2356
- s(:to_ary, s(:call, nil, :f)))
2357
- pt = s(:masgn,
2358
- s(:array,
2359
- s(:splat, s(:lasgn, :s)),
2360
- s(:lasgn, :x), s(:lasgn, :y), s(:lasgn, :z)),
2361
- s(:to_ary, s(:call, nil, :f)))
2362
-
2363
- assert_parse rb, pt
2364
- end
2365
-
2366
- def test_mlhs_front_anonsplat
2367
- rb = "*, x, y, z = f"
2368
- pt = s(:masgn,
2369
- s(:array,
2370
- s(:splat),
2371
- s(:lasgn, :x), s(:lasgn, :y), s(:lasgn, :z)),
2372
- s(:to_ary, s(:call, nil, :f)))
2373
-
2374
- assert_parse rb, pt
2375
- end
2376
-
2377
- def test_expr_not_bang
2378
- rb = "! a b"
2379
- pt = s(:call, s(:call, nil, :a, s(:call, nil, :b)), :"!")
2380
-
2381
- assert_parse rb, pt
2382
- end
2383
-
2384
- def test_do_colon_19
2385
- rb = "while false : 42 end"
2386
-
2387
- assert_parse_error rb, "(string):1 :: parse error on value \":\" (tCOLON)"
2388
- end
2389
-
2390
- def test_assoc_list_19
2391
- rb = "{1, 2, 3, 4}"
2392
-
2393
- assert_parse_error rb, "(string):1 :: parse error on value \",\" (tCOMMA)"
2394
- end
2395
-
2396
- def test_case_then_colon_19
2397
- rb = <<-EOM
2398
- case x
2399
- when Fixnum : # need the space to not hit new hash arg syntax
2400
- 42
2401
- end
2402
- EOM
2403
-
2404
- assert_parse_error rb, "(string):2 :: parse error on value \":\" (tCOLON)"
2405
- end
2406
-
2407
- def test_parse_def_xxx1
2408
- rb = 'def f(a, *b, c = nil) end'
2409
-
2410
- assert_parse_error rb, '(string):1 :: parse error on value "=" (tEQL)'
2411
- end
2412
-
2413
- def test_parse_def_xxx2
2414
- rb = 'def f(a = nil, *b, c = nil) end'
2415
-
2416
- assert_parse_error rb, '(string):1 :: parse error on value "=" (tEQL)'
2417
- end
2418
-
2419
- def test_parse_until_not_canonical
2420
- rb = "until not var.nil?\n 'foo'\nend"
2421
- pt = s(:until,
2422
- s(:call, s(:call, s(:call, nil, :var), :nil?), :"!"),
2423
- s(:str, "foo"), true)
2424
-
2425
- assert_parse rb, pt
2426
- end
2427
-
2428
- def test_parse_until_not_noncanonical
2429
- rb = "until not var.nil?\n 'foo'\nend"
2430
- pt = s(:until,
2431
- s(:call, s(:call, s(:call, nil, :var), :nil?), :"!"),
2432
- s(:str, "foo"), true)
2433
-
2434
- processor.canonicalize_conditions = false
2435
-
2436
- assert_parse rb, pt
2437
- end
2438
-
2439
- def test_parse_if_not_canonical
2440
- rb = "if not var.nil? then 'foo' else 'bar'\nend"
2441
- pt = s(:if,
2442
- s(:call, s(:call, s(:call, nil, :var), :nil?), :"!"),
2443
- s(:str, "foo"),
2444
- s(:str, "bar"))
2445
-
2446
- assert_parse rb, pt
2447
- end
2448
-
2449
- def test_parse_if_not_noncanonical
2450
- rb = "if not var.nil? then 'foo' else 'bar'\nend"
2451
- pt = s(:if,
2452
- s(:call, s(:call, s(:call, nil, :var), :nil?), :"!"),
2453
- s(:str, "foo"),
2454
- s(:str, "bar"))
2455
-
2456
- processor.canonicalize_conditions = false
2457
-
2458
- assert_parse rb, pt
2459
- end
2460
-
2461
- def test_parse_while_not_canonical
2462
- rb = "while not var.nil?\n 'foo'\nend"
2463
- pt = s(:while,
2464
- s(:call, s(:call, s(:call, nil, :var), :nil?), :"!"),
2465
- s(:str, "foo"), true)
2466
-
2467
- assert_parse rb, pt
2468
- end
2469
-
2470
- def test_parse_while_not_noncanonical
2471
- rb = "while not var.nil?\n 'foo'\nend"
2472
- pt = s(:while,
2473
- s(:call, s(:call, s(:call, nil, :var), :nil?), :"!"),
2474
- s(:str, "foo"), true)
2475
-
2476
- processor.canonicalize_conditions = false
2477
-
2478
- assert_parse rb, pt
2479
- end
2480
-
2481
- def test_parse_opt_call_args_assocs_comma
2482
- rb = "1[2=>3,]"
2483
- pt = s(:call, s(:lit, 1), :[], s(:hash, s(:lit, 2), s(:lit, 3)))
2484
-
2485
- assert_parse rb, pt
2486
- end
2487
-
2488
- def test_parse_opt_call_args_lit_comma
2489
- rb = "1[2,]"
2490
- pt = s(:call, s(:lit, 1), :[], s(:lit, 2))
2491
-
2492
- assert_parse rb, pt
2493
- end
2494
-
2495
- def test_bug_hash_args
2496
- rb = "foo(:bar, baz: nil)"
2497
- pt = s(:call, nil, :foo,
2498
- s(:lit, :bar),
2499
- s(:hash, s(:lit, :baz), s(:nil)))
2500
-
2501
- assert_parse rb, pt
2502
- end
2503
-
2504
- def test_bug_hash_args_trailing_comma
2505
- rb = "foo(:bar, baz: nil,)"
2506
- pt = s(:call, nil, :foo, # NOTE: same sexp as test_bug_hash_args
2507
- s(:lit, :bar),
2508
- s(:hash, s(:lit, :baz), s(:nil)))
2509
-
2510
- assert_parse rb, pt
2511
- end
2512
-
2513
- def test_block_arg_optional
2514
- rb = "a { |b = 1| }"
2515
- pt = s(:iter,
2516
- s(:call, nil, :a),
2517
- s(:args, s(:lasgn, :b, s(:lit, 1))))
2518
-
2519
- assert_parse rb, pt
2520
- end
2521
-
2522
- def test_zomg_sometimes_i_hate_this_project
2523
- rb = <<-RUBY
2524
- {
2525
- a: lambda { b ? c() : d },
2526
- e: nil,
2527
- }
2528
- RUBY
2529
-
2530
- pt = s(:hash,
2531
- s(:lit, :a),
2532
- s(:iter,
2533
- s(:call, nil, :lambda),
2534
- 0,
2535
- s(:if, s(:call, nil, :b), s(:call, nil, :c), s(:call, nil, :d))),
2536
-
2537
- s(:lit, :e),
2538
- s(:nil))
2539
-
2540
- assert_parse rb, pt
2541
- end
2542
-
2543
- def test_pipe_semicolon
2544
- skip "not yet"
2545
-
2546
- rb = "a.b do | ; c | end"
2547
- pt = s(:iter, s(:call, s(:call, nil, :a), :b), 0)
2548
-
2549
- assert_parse rb, pt
2550
- end
2551
-
2552
- def test_wtf
2553
- # lambda -> f_larglist lambda_body
2554
- # f_larglist -> f_args opt_bv_decl
2555
- # opt_bv_decl
2556
- # bv_decls
2557
- # bvar
2558
-
2559
- rb = "->(a, b=nil) { p [a, b] }"
2560
- pt = s(:iter,
2561
- s(:call, nil, :lambda),
2562
- s(:args, :a, s(:lasgn, :b, s(:nil))),
2563
- s(:call, nil, :p, s(:array, s(:lvar, :a), s(:lvar, :b))))
2564
-
2565
- assert_parse rb, pt
2566
-
2567
- # rb = "->(a; b) { p [a, b] }"
2568
- #
2569
- # assert_parse rb, pt
2570
- end
2571
-
2572
- def test_block_args_opt1
2573
- rb = "f { |a, b = 42| [a, b] }"
2574
- pt = s(:iter,
2575
- s(:call, nil, :f),
2576
- s(:args, :a, s(:lasgn, :b, s(:lit, 42))),
2577
- s(:array, s(:lvar, :a), s(:lvar, :b)))
2578
-
2579
- assert_parse rb, pt
2580
- end
2581
-
2582
- def test_block_args_opt2_2
2583
- rb = "f { |a, b = 42, c = 24| [a, b, c] }"
2584
- pt = s(:iter,
2585
- s(:call, nil, :f),
2586
- s(:args, :a, s(:lasgn, :b, s(:lit, 42)), s(:lasgn, :c, s(:lit, 24))),
2587
- s(:array, s(:lvar, :a), s(:lvar, :b), s(:lvar, :c)))
2588
-
2589
- assert_parse rb, pt
2590
- end
2591
-
2592
- def test_block_args_opt3
2593
- rb = "f { |a, b = 42, c = 24, &d| [a, b, c, d] }"
2594
- pt = s(:iter,
2595
- s(:call, nil, :f),
2596
- s(:args, :a, s(:lasgn, :b, s(:lit, 42)), s(:lasgn, :c, s(:lit, 24)), :"&d"),
2597
- s(:array, s(:lvar, :a), s(:lvar, :b), s(:lvar, :c), s(:lvar, :d)))
2598
-
2599
- assert_parse rb, pt
2600
- end
2601
-
2602
- def test_i_have_no_freakin_clue
2603
- rb = "1 ? b('') : 2\na d: 3"
2604
- pt = s(:block,
2605
- s(:if, s(:lit, 1), s(:call, nil, :b, s(:str, "")), s(:lit, 2)),
2606
- s(:call, nil, :a, s(:hash, s(:lit, :d), s(:lit, 3))))
2607
-
2608
- assert_parse rb, pt
2609
- end
2610
-
2611
- def test_motherfuckin_leading_dots
2612
- rb = "a\n.b"
2613
- pt = s(:call, s(:call, nil, :a), :b)
2614
-
2615
- assert_parse rb, pt
2616
- end
2617
-
2618
- def test_motherfuckin_leading_dots2
2619
- rb = "a\n..b"
2620
-
2621
- assert_parse_error rb, '(string):2 :: parse error on value ".." (tDOT2)'
2622
- end
2623
-
2624
- def test_kill_me
2625
- rb = "f { |a, (b, *c)| }"
2626
- pt = s(:iter,
2627
- s(:call, nil, :f),
2628
- s(:args, :a, s(:masgn, :b, :"*c")))
2629
-
2630
- assert_parse rb, pt
2631
- end
2632
-
2633
- def test_kill_me2
2634
- rb = "f { |*a, b| }"
2635
- pt = s(:iter, s(:call, nil, :f), s(:args, :"*a", :b))
2636
-
2637
- assert_parse rb, pt
2638
- end
2639
-
2640
- def test_kill_me3
2641
- rb = "f { |*a, b, &c| }"
2642
- pt = s(:iter, s(:call, nil, :f), s(:args, :"*a", :b, :"&c"))
2643
-
2644
- assert_parse rb, pt
2645
- end
2646
-
2647
- def test_kill_me4
2648
- rb = "a=b ? true: false"
2649
- pt = s(:lasgn, :a, s(:if, s(:call, nil, :b), s(:true), s(:false)))
2650
-
2651
- assert_parse rb, pt
2652
- end
2653
-
2654
- def test_kill_me5
2655
- skip "not yet"
2656
-
2657
- rb = "f ->() { g do end }"
2658
- pt = 42
2659
-
2660
- assert_parse rb, pt
2661
- end
2662
-
2663
- def test_iter_args_4
2664
- rb = "f { |a, *b, c| }"
2665
- pt = s(:iter, s(:call, nil, :f), s(:args, :a, :"*b", :c))
2666
-
2667
- assert_parse rb, pt
2668
- end
2669
-
2670
- def test_iter_args_5
2671
- skip "not yet"
2672
-
2673
- rb = "f { |a, &b| }"
2674
- pt = s(:iter, s(:call, nil, :f), s(:args, :a, :"&b"))
2675
-
2676
- assert_parse rb, pt
2677
- end
2678
-
2679
- def test_iter_args_6
2680
- rb = "f { |a, b=42, c| }"
2681
- pt = s(:iter, s(:call, nil, :f), s(:args, :a, s(:lasgn, :b, s(:lit, 42)), :c))
2682
-
2683
- assert_parse rb, pt
2684
- end
2685
-
2686
- # In 1.8, block args with an outer set of parens are superfluous.
2687
- # In 1.9, outer set of parens are NOT... they are an explicit extra masgn.
2688
-
2689
- def test_iter_args_2__19
2690
- rb = "f { |(a, b)| }"
2691
- pt = s(:iter, s(:call, nil, :f), s(:args, s(:masgn, :a, :b)))
2692
-
2693
- assert_parse rb, pt
2694
- end
2695
-
2696
- def test_bug_args__19
2697
- rb = "f { |(a, b)| d }"
2698
- pt = s(:iter, s(:call, nil, :f),
2699
- s(:args, s(:masgn, :a, :b)),
2700
- s(:call, nil, :d))
2701
-
2702
- assert_parse rb, pt
2703
- end
2704
-
2705
- def test_bug_args_masgn_outer_parens__19
2706
- rb = "f { |((k, v), i)| }"
2707
- pt = s(:iter, # NOTE: same sexp as test_bug_args_masgn
2708
- s(:call, nil, :f),
2709
- s(:args, s(:masgn, s(:masgn, :k, :v), :i)))
2710
-
2711
- assert_parse rb, pt.dup
2712
- end
2713
-
2714
- def test_iter_args_7_1
2715
- rb = "f { |a = 42, *b| }"
2716
- pt = s(:iter, s(:call, nil, :f),
2717
- s(:args, s(:lasgn, :a, s(:lit, 42)), :"*b"))
2718
-
2719
- assert_parse rb, pt
2720
- end
2721
-
2722
- def test_iter_args_7_2
2723
- rb = "f { |a = 42, *b, &c| }"
2724
- pt = s(:iter, s(:call, nil, :f),
2725
- s(:args, s(:lasgn, :a, s(:lit, 42)), :"*b", :"&c"))
2726
-
2727
- assert_parse rb, pt
2728
- end
2729
-
2730
- def test_iter_args_8_1
2731
- rb = "f { |a = 42, *b, c| }"
2732
- pt = s(:iter, s(:call, nil, :f),
2733
- s(:args, s(:lasgn, :a, s(:lit, 42)), :"*b", :c))
2734
-
2735
- assert_parse rb, pt
2736
- end
2737
-
2738
- def test_iter_args_8_2
2739
- rb = "f { |a = 42, *b, c, &d| }"
2740
- pt = s(:iter, s(:call, nil, :f),
2741
- s(:args, s(:lasgn, :a, s(:lit, 42)), :"*b", :c, :"&d"))
2742
-
2743
- assert_parse rb, pt
2744
- end
2745
-
2746
- def test_iter_args_9_1
2747
- rb = "f { |a = 42, b| }"
2748
- pt = s(:iter, s(:call, nil, :f),
2749
- s(:args, s(:lasgn, :a, s(:lit, 42)), :b))
2750
-
2751
- assert_parse rb, pt
2752
- end
2753
-
2754
- def test_iter_args_9_2
2755
- rb = "f { |a = 42, b, &c| }"
2756
- pt = s(:iter, s(:call, nil, :f),
2757
- s(:args, s(:lasgn, :a, s(:lit, 42)), :b, :"&c"))
2758
-
2759
- assert_parse rb, pt
2760
- end
2761
-
2762
- def test_iter_args_10_1
2763
- rb = "f { |a, b = 42, *c| }"
2764
- pt = s(:iter, s(:call, nil, :f),
2765
- s(:args, :a, s(:lasgn, :b, s(:lit, 42)), :"*c"))
2766
-
2767
- assert_parse rb, pt
2768
- end
2769
-
2770
- def test_iter_args_10_2
2771
- rb = "f { |a, b = 42, *c, &d| }"
2772
- pt = s(:iter, s(:call, nil, :f),
2773
- s(:args, :a, s(:lasgn, :b, s(:lit, 42)), :"*c", :"&d"))
2774
-
2775
- assert_parse rb, pt
2776
- end
2777
-
2778
- def test_iter_args_11_1
2779
- rb = "f { |a, b = 42, *c, d| }"
2780
- pt = s(:iter, s(:call, nil, :f),
2781
- s(:args, :a, s(:lasgn, :b, s(:lit, 42)), :"*c", :d))
2782
-
2783
- assert_parse rb, pt
2784
- end
2785
-
2786
- def test_iter_args_11_2
2787
- rb = "f { |a, b = 42, *c, d, &e| }"
2788
- pt = s(:iter, s(:call, nil, :f),
2789
- s(:args, :a, s(:lasgn, :b, s(:lit, 42)), :"*c", :d, :"&e"))
2790
-
2791
- assert_parse rb, pt
2792
- end
2793
-
2794
- def test_kill_me_6
2795
- # | f_marg_list tCOMMA tSTAR f_norm_arg tCOMMA f_marg_list
2796
- rb = "f { |a, (b, *c, d)| }"
2797
- pt = s(:iter,
2798
- s(:call, nil, :f),
2799
- s(:args, :a, s(:masgn, :b, :"*c", :d)))
2800
-
2801
- assert_parse rb, pt
2802
- end
2803
-
2804
- def test_kill_me_7
2805
- # | f_marg_list tCOMMA tSTAR
2806
- rb = "f { |a, (b, *)| }"
2807
- pt = s(:iter,
2808
- s(:call, nil, :f),
2809
- s(:args, :a, s(:masgn, :b, :*)))
2810
-
2811
- assert_parse rb, pt
2812
- end
2813
-
2814
- def test_kill_me_8
2815
- # | f_marg_list tCOMMA tSTAR tCOMMA f_marg_list
2816
- rb = "f { |a, (b, *, c)| }"
2817
- pt = s(:iter,
2818
- s(:call, nil, :f),
2819
- s(:args, :a, s(:masgn, :b, :*, :c)))
2820
-
2821
- assert_parse rb, pt
2822
- end
2823
-
2824
- def test_kill_me_9
2825
- # | tSTAR f_norm_arg
2826
- rb = "f { |a, (*b)| }"
2827
- pt = s(:iter,
2828
- s(:call, nil, :f),
2829
- s(:args, :a, s(:masgn, :"*b")))
2830
-
2831
- assert_parse rb, pt
2832
- end
2833
-
2834
- def test_kill_me_10
2835
- # | tSTAR f_norm_arg tCOMMA f_marg_list
2836
- rb = "f { |a, (*b, c)| }"
2837
- pt = s(:iter,
2838
- s(:call, nil, :f),
2839
- s(:args, :a, s(:masgn, :"*b", :c)))
2840
-
2841
- assert_parse rb, pt
2842
- end
2843
-
2844
- def test_kill_me_11
2845
- # | tSTAR
2846
- rb = "f { |a, (*)| }"
2847
- pt = s(:iter,
2848
- s(:call, nil, :f),
2849
- s(:args, :a, s(:masgn, :*)))
2850
-
2851
- assert_parse rb, pt
2852
- end
2853
-
2854
- def test_kill_me_12
2855
- # | tSTAR tCOMMA f_marg_list
2856
- rb = "f { |a, (*, b)| }"
2857
- pt = s(:iter,
2858
- s(:call, nil, :f),
2859
- s(:args, :a, s(:masgn, :*, :b)))
2860
-
2861
- assert_parse rb, pt
2862
- end
2863
-
2864
- def test_index_0
2865
- rb = "a[] = b"
2866
- pt = s(:attrasgn, s(:call, nil, :a), :[]=, s(:call, nil, :b))
2867
-
2868
- assert_parse rb, pt
2869
- end
2870
-
2871
- def test_lambda_do_vs_brace
2872
- pt = s(:call, nil, :f, s(:iter, s(:call, nil, :lambda), s(:args)))
2873
-
2874
- rb = "f ->() {}"
2875
- assert_parse rb, pt
2876
-
2877
- rb = "f ->() do end"
2878
- assert_parse rb, pt
2879
-
2880
- pt = s(:call, nil, :f, s(:iter, s(:call, nil, :lambda), 0))
2881
-
2882
- rb = "f -> {}"
2883
- assert_parse rb, pt
2884
-
2885
- rb = "f -> do end"
2886
- assert_parse rb, pt
2887
- end
2888
-
2889
- def test_thingy
2890
- pt = s(:call, s(:call, nil, :f), :call, s(:lit, 42))
2891
-
2892
- rb = "f.(42)"
2893
- assert_parse rb, pt
2894
-
2895
- rb = "f::(42)"
2896
- assert_parse rb, pt
2897
- end
2898
-
2899
- def test_unary_plus_on_literal
2900
- rb = "+:a"
2901
- pt = s(:call, s(:lit, :a), :+@)
2902
-
2903
- assert_parse rb, pt
2904
- end
2905
- end
2906
-
2907
- module TestRubyParserShared21Plus
2908
- def test_f_kw
2909
- rb = "def x k:42; end"
2910
- pt = s(:defn, :x, s(:args, s(:kwarg, :k, s(:lit, 42))), s(:nil))
2911
-
2912
- assert_parse rb, pt
2913
- end
2914
-
2915
- def test_f_kw__required
2916
- rb = "def x k:; end"
2917
- pt = s(:defn, :x, s(:args, s(:kwarg, :k)), s(:nil))
2918
-
2919
- assert_parse rb, pt
2920
- end
2921
-
2922
- def test_block_kw
2923
- rb = "blah { |k:42| }"
2924
- pt = s(:iter, s(:call, nil, :blah), s(:args, s(:kwarg, :k, s(:lit, 42))))
2925
-
2926
- assert_parse rb, pt
2927
-
2928
- rb = "blah { |k:42| }"
2929
- assert_parse rb, pt
2930
- end
2931
-
2932
- def test_block_kw__required
2933
- rb = "blah do |k:| end"
2934
- pt = s(:iter, s(:call, nil, :blah), s(:args, s(:kwarg, :k)))
2935
-
2936
- assert_parse rb, pt
2937
-
2938
- rb = "blah do |k:| end"
2939
- assert_parse rb, pt
2940
- end
2941
-
2942
- def test_stabby_block_kw
2943
- rb = "-> (k:42) { }"
2944
- pt = s(:iter, s(:call, nil, :lambda), s(:args, s(:kwarg, :k, s(:lit, 42))))
2945
-
2946
- assert_parse rb, pt
2947
- end
2948
-
2949
- def test_stabby_block_kw__required
2950
- rb = "-> (k:) { }"
2951
- pt = s(:iter, s(:call, nil, :lambda), s(:args, s(:kwarg, :k)))
2952
-
2953
- assert_parse rb, pt
2954
- end
2955
-
2956
- def test_parse_line_heredoc_hardnewline
2957
- skip "not yet"
2958
-
2959
- rb = <<-'CODE'.gsub(/^ /, '')
2960
- <<-EOFOO
2961
- \n\n\n\n\n\n\n\n\n
2962
- EOFOO
2963
-
2964
- class Foo
2965
- end
2966
- CODE
2967
-
2968
- pt = s(:block,
2969
- s(:str, "\n\n\n\n\n\n\n\n\n\n").line(1),
2970
- s(:class, :Foo, nil).line(5)).line(1)
2971
-
2972
- assert_parse rb, pt
2973
- end
2974
- end
2975
-
2976
- module TestRubyParserShared20Plus
2977
- def test_non_interpolated_symbol_array_line_breaks
2978
-
2979
- rb = "%i(\na\nb\n)\n1"
2980
- pt = s(:block,
2981
- s(:array,
2982
- s(:lit, :a).line(2),
2983
- s(:lit, :b).line(3)).line(1),
2984
- s(:lit, 1).line(5))
2985
- assert_parse rb, pt
2986
- end
2987
-
2988
- def test_interpolated_symbol_array_line_breaks
2989
-
2990
- rb = "%I(\na\nb\n)\n1"
2991
- pt = s(:block,
2992
- s(:array,
2993
- s(:lit, :a).line(2),
2994
- s(:lit, :b).line(3)).line(1),
2995
- s(:lit, 1).line(5))
2996
- assert_parse rb, pt
2997
- end
2998
-
2999
- def test_defs_kwarg
3000
- rb = "def self.a b: 1\nend"
3001
- pt = s(:defs, s(:self), :a, s(:args, s(:kwarg, :b, s(:lit, 1))), s(:nil))
3002
-
3003
- assert_parse rb, pt
3004
- end
3005
-
3006
- def test_defn_kwarg_kwsplat
3007
- rb = "def a(b: 1, **c) end"
3008
- pt = s(:defn, :a, s(:args, s(:kwarg, :b, s(:lit, 1)), :"**c"), s(:nil))
3009
-
3010
- assert_parse rb, pt
3011
- end
3012
-
3013
- def test_defn_kwarg_kwsplat_anon
3014
- rb = "def a(b: 1, **) end"
3015
- pt = s(:defn, :a, s(:args, s(:kwarg, :b, s(:lit, 1)), :"**"), s(:nil))
3016
-
3017
- assert_parse rb, pt
3018
- end
3019
-
3020
- def test_defn_kwarg_env
3021
- rb = "def test(**testing) test_splat(**testing) end"
3022
- pt = s(:defn, :test, s(:args, :"**testing"),
3023
- s(:call, nil, :test_splat, s(:hash, s(:kwsplat, s(:lvar, :testing)))))
3024
-
3025
- assert_parse rb, pt
3026
- end
3027
-
3028
- def test_dstr_lex_state
3029
- rb = '"#{p:a}"'
3030
- pt = s(:dstr, "", s(:evstr, s(:call, nil, :p, s(:lit, :a))))
3031
-
3032
- assert_parse rb, pt
3033
- end
3034
-
3035
- def test_call_arg_kwsplat
3036
- rb = "a(b, **1)"
3037
- pt = s(:call, nil, :a, s(:call, nil, :b), s(:hash, s(:kwsplat, s(:lit, 1))))
3038
-
3039
- assert_parse rb, pt
3040
- end
3041
-
3042
- def test_call_arg_assoc_kwsplat
3043
- rb = "f(1, kw: 2, **3)"
3044
- pt = s(:call, nil, :f,
3045
- s(:lit, 1),
3046
- s(:hash, s(:lit, :kw), s(:lit, 2), s(:kwsplat, s(:lit, 3))))
3047
-
3048
- assert_parse rb, pt
3049
- end
3050
-
3051
- def test_call_kwsplat
3052
- rb = "a(**1)"
3053
- pt = s(:call, nil, :a, s(:hash, s(:kwsplat, s(:lit, 1))))
3054
-
3055
- assert_parse rb, pt
3056
- end
3057
-
3058
- def test_iter_kwarg
3059
- rb = "a { |b: 1| }"
3060
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:kwarg, :b, s(:lit, 1))))
3061
-
3062
- assert_parse rb, pt
3063
- end
3064
-
3065
- def test_iter_kwarg_kwsplat
3066
- rb = "a { |b: 1, **c| }"
3067
- pt = s(:iter, s(:call, nil, :a), s(:args, s(:kwarg, :b, s(:lit, 1)), :"**c"))
3068
-
3069
- assert_parse rb, pt
3070
- end
3071
-
3072
- def test_block_kwarg_lvar
3073
- rb = "bl { |kw: :val| kw }"
3074
- pt = s(:iter, s(:call, nil, :bl), s(:args, s(:kwarg, :kw, s(:lit, :val))),
3075
- s(:lvar, :kw))
3076
-
3077
- assert_parse rb, pt
3078
- end
3079
-
3080
- def test_block_kwarg_lvar_multiple
3081
- rb = "bl { |kw: :val, kw2: :val2 | kw }"
3082
- pt = s(:iter, s(:call, nil, :bl),
3083
- s(:args,
3084
- s(:kwarg, :kw, s(:lit, :val)),
3085
- s(:kwarg, :kw2, s(:lit, :val2))),
3086
- s(:lvar, :kw))
3087
-
3088
- assert_parse rb, pt
3089
- end
3090
-
3091
- def test_stabby_block_iter_call
3092
- rb = "x -> () do\na.b do\nend\nend"
3093
- pt = s(:call, nil, :x,
3094
- s(:iter,
3095
- s(:call, nil, :lambda),
3096
- s(:args),
3097
- s(:iter, s(:call, s(:call, nil, :a), :b), 0)))
3098
-
3099
- assert_parse rb, pt
3100
- end
3101
-
3102
- def test_stabby_block_iter_call_no_target_with_arg
3103
- rb = "x -> () do\na(1) do\nend\nend"
3104
- pt = s(:call, nil, :x,
3105
- s(:iter,
3106
- s(:call, nil, :lambda),
3107
- s(:args),
3108
- s(:iter,
3109
- s(:call, nil, :a,
3110
- s(:lit, 1)), 0)))
3111
-
3112
- assert_parse rb, pt
3113
- end
3114
-
3115
- def test_block_call_dot_op2_brace_block
3116
- rb = "a.b c() do d end.e do |f| g end"
3117
- pt = s(:iter,
3118
- s(:call,
3119
- s(:iter,
3120
- s(:call, s(:call, nil, :a), :b, s(:call, nil, :c)),
3121
- 0,
3122
- s(:call, nil, :d)),
3123
- :e),
3124
- s(:args, :f),
3125
- s(:call, nil, :g))
3126
-
3127
-
3128
- assert_parse rb, pt
3129
- end
3130
-
3131
- def test_block_call_dot_op2_cmd_args_do_block
3132
- rb = "a.b c() do d end.e f do |g| h end"
3133
- pt = s(:iter,
3134
- s(:call,
3135
- s(:iter,
3136
- s(:call, s(:call, nil, :a), :b, s(:call, nil, :c)),
3137
- 0,
3138
- s(:call, nil, :d)),
3139
- :e,
3140
- s(:call, nil, :f)),
3141
- s(:args, :g),
3142
- s(:call, nil, :h))
3143
-
3144
- assert_parse rb, pt
3145
- end
3146
-
3147
- def test_defn_kwarg_val
3148
- rb = "def f(a, b:1) end"
3149
- pt = s(:defn, :f, s(:args, :a, s(:kwarg, :b, s(:lit, 1))), s(:nil))
3150
-
3151
- assert_parse rb, pt
3152
- end
3153
-
3154
- def test_args_kw_block
3155
- rb = "def f(a: 1, &b); end"
3156
- pt = s(:defn, :f, s(:args, s(:kwarg, :a, s(:lit, 1)), :"&b"), s(:nil))
3157
-
3158
- assert_parse rb, pt
3159
- end
3160
-
3161
- def test_defn_kwarg_kwarg
3162
- rb = "def f(a, b: 1, c: 2) end"
3163
- pt = s(:defn, :f, s(:args, :a,
3164
- s(:kwarg, :b, s(:lit, 1)),
3165
- s(:kwarg, :c, s(:lit, 2))),
3166
- s(:nil))
3167
-
3168
- assert_parse rb, pt
3169
- end
3170
-
3171
- def test_defn_kwarg_lvar
3172
- rb = "def fun(kw: :val); kw; end"
3173
- pt = s(:defn, :fun, s(:args, s(:kwarg, :kw, s(:lit, :val))), s(:lvar, :kw))
3174
-
3175
- assert_parse rb, pt
3176
- end
3177
-
3178
- def test_defn_kwarg_no_parens
3179
- rb = "def f a: 1\nend"
3180
- pt = s(:defn, :f, s(:args, s(:kwarg, :a, s(:lit, 1))), s(:nil))
3181
-
3182
- assert_parse rb, pt
3183
- end
3184
-
3185
- def test_defn_powarg
3186
- rb = "def f(**opts) end"
3187
- pt = s(:defn, :f, s(:args, :"**opts"), s(:nil))
3188
-
3189
- assert_parse rb, pt
3190
- end
3191
-
3192
- def test_block_arg_kwsplat
3193
- rb = "a { |**b| }"
3194
- pt = s(:iter, s(:call, nil, :a), s(:args, :"**b"))
3195
-
3196
- assert_parse rb, pt
3197
- end
3198
-
3199
- def test_symbols
3200
- rb = "%i(a b c)"
3201
- pt = s(:array, s(:lit, :a), s(:lit, :b), s(:lit, :c))
3202
-
3203
- assert_parse rb, pt
3204
- end
3205
-
3206
- def test_symbols_interp
3207
- rb = '%i(a b#{1+1} c)'
3208
- pt = s(:array, s(:lit, :a), s(:lit, :'b#{1+1}'), s(:lit, :c))
3209
-
3210
- assert_parse rb, pt
3211
- end
3212
-
3213
- def test_symbols_empty_space
3214
- rb = "%i( )"
3215
- pt = s(:array)
3216
-
3217
- assert_parse rb, pt
3218
- end
3219
-
3220
- def test_symbols_empty
3221
- rb = "%i()"
3222
- pt = s(:array)
3223
-
3224
- assert_parse rb, pt
3225
- end
3226
-
3227
- def test_qsymbols
3228
- rb = "%I(a b c)"
3229
- pt = s(:array, s(:lit, :a), s(:lit, :b), s(:lit, :c))
3230
-
3231
- assert_parse rb, pt
3232
- end
3233
-
3234
- def test_qsymbols_interp
3235
- rb = '%I(a b#{1+1} c)'
3236
- pt = s(:array,
3237
- s(:lit, :a),
3238
- s(:dsym, "b", s(:evstr, s(:call, s(:lit, 1), :+, s(:lit, 1)))),
3239
- s(:lit, :c))
3240
-
3241
- assert_parse rb, pt
3242
- end
3243
-
3244
- def test_qsymbols_empty
3245
- rb = "%I()"
3246
- pt = s(:array)
3247
-
3248
- assert_parse rb, pt
3249
- end
3250
-
3251
- def test_qsymbols_empty_space
3252
- rb = "%I( )"
3253
- pt = s(:array)
3254
-
3255
- assert_parse rb, pt
3256
- end
3257
-
3258
- def test_iter_array_curly
3259
- rb = "f :a, [:b] { |c, d| }" # yes, this is bad code... that's their problem
3260
- pt = s(:iter,
3261
- s(:call, nil, :f, s(:lit, :a), s(:array, s(:lit, :b))),
3262
- s(:args, :c, :d))
3263
-
3264
- assert_parse rb, pt
3265
- end
3266
-
3267
- def test_bug_249
3268
- rb = "mount (Class.new do\ndef initialize\nend\n end).new, :at => 'endpoint'"
3269
- pt = s(:call, nil, :mount,
3270
- s(:call,
3271
- s(:iter,
3272
- s(:call, s(:const, :Class), :new),
3273
- 0,
3274
- s(:defn, :initialize, s(:args), s(:nil))),
3275
- :new),
3276
- s(:hash, s(:lit, :at), s(:str, "endpoint")))
3277
-
3278
- assert_parse rb, pt
3279
- end
3280
- end
3281
-
3282
- module TestRubyParserShared22Plus
3283
- def test_call_args_assoc_quoted
3284
- pt = s(:call, nil, :x, s(:hash, s(:lit, :k), s(:lit, 42)))
3285
-
3286
- rb = "x 'k':42"
3287
- assert_parse rb, pt
3288
-
3289
- rb = 'x "k":42'
3290
- assert_parse rb, pt
3291
-
3292
- rb = 'x "#{k}":42'
3293
- pt = s(:call, nil, :x, s(:hash, s(:dsym, "", s(:evstr, s(:call, nil, :k))), s(:lit, 42)))
3294
-
3295
- assert_parse rb, pt
3296
- end
3297
-
3298
- def test_bug191
3299
- pt = s(:if, s(:call, nil, :a), s(:str, ""), s(:call, nil, :b))
3300
-
3301
- rb = "a ? '': b"
3302
- assert_parse rb, pt
3303
-
3304
- rb = "a ? \"\": b"
3305
- assert_parse rb, pt
3306
- end
3307
-
3308
- def test_quoted_symbol_keys
3309
- rb = "{ 'a': :b }"
3310
- pt = s(:hash, s(:lit, :a), s(:lit, :b))
3311
-
3312
- assert_parse rb, pt
3313
- end
3314
-
3315
- def test_quoted_symbol_hash_arg
3316
- rb = "puts 'a': {}"
3317
- pt = s(:call, nil, :puts, s(:hash, s(:lit, :a), s(:hash)))
3318
-
3319
- assert_parse rb, pt
3320
- end
3321
- end
3322
-
3323
- module TestRubyParserShared23Plus
3324
- def test_safe_call
3325
- rb = "a&.b"
3326
- pt = s(:safe_call, s(:call, nil, :a), :b)
3327
-
3328
- assert_parse rb, pt
3329
- end
3330
-
3331
- def test_safe_call_newline
3332
- rb = "a&.b\n"
3333
- pt = s(:safe_call, s(:call, nil, :a), :b)
3334
-
3335
- assert_parse rb, pt
3336
- end
3337
-
3338
- def test_safe_call_rhs_newline
3339
- rb = "c = a&.b\n"
3340
- pt = s(:lasgn, :c, s(:safe_call, s(:call, nil, :a), :b))
3341
-
3342
- assert_parse rb, pt
3343
- end
3344
-
3345
- def test_safe_call_after_newline
3346
- rb = "a\n&.b"
3347
- pt = s(:safe_call, s(:call, nil, :a), :b)
3348
-
3349
- assert_parse rb, pt
3350
- end
3351
-
3352
- def test_safe_calls
3353
- rb = "a&.b&.c(1)"
3354
- pt = s(:safe_call, s(:safe_call, s(:call, nil, :a), :b), :c, s(:lit, 1))
3355
-
3356
- assert_parse rb, pt
3357
- end
3358
-
3359
- def test_safe_attrasgn
3360
- rb = "a&.b = 1"
3361
- pt = s(:safe_attrasgn, s(:call, nil, :a), :"b=", s(:lit, 1))
3362
-
3363
- assert_parse rb, pt
3364
- end
3365
-
3366
- def test_safe_attrasgn_constant
3367
- rb = "a&.B = 1"
3368
- pt = s(:safe_attrasgn, s(:call, nil, :a), :"B=", s(:lit, 1))
3369
-
3370
- assert_parse rb, pt
3371
- end
3372
-
3373
- def test_safe_call_dot_parens
3374
- rb = "a&.()"
3375
- pt = s(:safe_call, s(:call, nil, :a), :call)
3376
-
3377
- assert_parse rb, pt
3378
- end
3379
-
3380
- def test_safe_call_operator
3381
- rb = "a&.> 1"
3382
- pt = s(:safe_call, s(:call, nil, :a), :>, s(:lit, 1)).line(1)
3383
-
3384
- assert_parse rb, pt
3385
- end
3386
-
3387
- def test_safe_op_asgn
3388
- rb = "a&.b += x 1\n"
3389
- pt = s(:safe_op_asgn, s(:call, nil, :a), s(:call, nil, :x, s(:lit, 1)), :b, :+).line(1)
3390
-
3391
- assert_parse rb, pt
3392
- end
3393
-
3394
- def test_safe_op_asgn2
3395
- rb = "a&.b ||=\nx;"
3396
- pt = s(:safe_op_asgn2, s(:call, nil, :a), :b=, :"||", s(:call, nil, :x)).line(1)
3397
-
3398
- assert_parse rb, pt
3399
- end
3400
-
3401
- def test_ruby21_numbers
3402
- rb = "[1i, 2r, 3ri]"
3403
- pt = s(:array, s(:lit, Complex(0, 1)), s(:lit, Rational(2)), s(:lit, Complex(0, Rational(3))))
3404
-
3405
- assert_parse rb, pt
3406
- end
3407
-
3408
- def test_float_with_if_modifier
3409
- rb = "1.0if true"
3410
- pt = s(:if, s(:true), s(:lit, 1.0), nil)
3411
-
3412
- assert_parse rb, pt
3413
- end
3414
-
3415
- def test_integer_with_if_modifier
3416
- rb = "1_234if true"
3417
- pt = s(:if, s(:true), s(:lit, 1234), nil)
3418
-
3419
- assert_parse rb, pt
3420
- end
3421
-
3422
- def test_heredoc_squiggly
3423
- rb = "a = <<~\"EOF\"\n blah blah\n EOF\n\n"
3424
- pt = s(:lasgn, :a, s(:str, "blah blah\n"))
3425
-
3426
- assert_parse rb, pt
3427
- end
3428
-
3429
- def test_required_kwarg_no_value
3430
- rb = "def x a:, b:\nend"
3431
- pt = s(:defn, :x,
3432
- s(:args,
3433
- s(:kwarg, :a),
3434
- s(:kwarg, :b)),
3435
- s(:nil))
3436
-
3437
- assert_parse rb, pt
3438
- end
3439
-
3440
- def test_slashy_newlines_within_string
3441
- rb = %(puts "hello\\
3442
- my\\
3443
- dear\\
3444
- friend"
3445
-
3446
- a + b
3447
- )
3448
-
3449
- pt = s(:block,
3450
- s(:call, nil, :puts, s(:str, "hello my dear friend").line(1)).line(1),
3451
- s(:call, s(:call, nil, :a).line(6),
3452
- :+,
3453
- s(:call, nil, :b).line(6)).line(6)
3454
- ).line(1)
3455
-
3456
- assert_parse rb, pt
3457
- end
3458
- end
3459
-
3460
- module TestRubyParserShared24Plus
3461
- # ...version specific tests to go here...
3462
- end
3463
-
3464
- module TestRubyParserShared25Plus
3465
- # ...version specific tests to go here...
3466
- end
3467
-
3468
- class TestRubyParser < Minitest::Test
3469
- def test_cls_version
3470
- assert_equal 18, RubyParser::V18.version
3471
- assert_equal 23, RubyParser::V23.version
3472
- assert_equal 24, RubyParser::V24.version
3473
- assert_equal 24, Ruby24Parser.version
3474
- refute RubyParser::Parser.version
3475
- end
3476
-
3477
- def test_parse
3478
- processor = RubyParser.new
3479
-
3480
- # 1.8 only syntax
3481
- rb = "while false : 42 end"
3482
- pt = s(:while, s(:false), s(:lit, 42), true)
3483
-
3484
- assert_silent do
3485
- assert_equal pt, processor.parse(rb)
3486
- end
3487
-
3488
- # 1.9 only syntax
3489
- rb = "a.()"
3490
- pt = s(:call, s(:call, nil, :a), :call)
3491
-
3492
- assert_equal pt, processor.parse(rb)
3493
-
3494
- # bad syntax
3495
- e = assert_raises Racc::ParseError do
3496
- capture_io do
3497
- processor.parse "a.("
3498
- end
3499
- end
3500
-
3501
- msg = "(string):1 :: parse error on value \"(\" (tLPAREN2)"
3502
- assert_equal msg, e.message.strip
3503
- end
3504
- end
3505
-
3506
- class RubyParserTestCase < ParseTreeTestCase
3507
- attr_accessor :result, :processor
3508
-
3509
- make_my_diffs_pretty!
3510
-
3511
- def self.previous key
3512
- "Ruby"
3513
- end
3514
-
3515
- def self.generate_test klass, node, data, input_name, output_name
3516
- return if node.to_s =~ /bmethod|dmethod/
3517
- return if Array === data['Ruby']
3518
-
3519
- output_name = "ParseTree"
3520
-
3521
- super
3522
- end
3523
-
3524
- def assert_parse rb, pt
3525
- self.result = processor.parse rb
3526
- assert_equal pt, result
3527
- end
3528
-
3529
- def refute_parse rb
3530
- self.result = processor.parse rb
3531
- assert_nil result
3532
- end
3533
-
3534
- def assert_syntax_error rb, emsg
3535
- e = nil
3536
- assert_silent do
3537
- e = assert_raises RubyParser::SyntaxError do
3538
- processor.parse rb
3539
- end
3540
- end
3541
-
3542
- assert_equal emsg, e.message
3543
- end
3544
-
3545
- def assert_parse_error rb, emsg
3546
- e = nil
3547
- assert_silent do
3548
- e = assert_raises Racc::ParseError do
3549
- processor.parse rb
3550
- end
3551
- end
3552
-
3553
- assert_equal emsg, e.message
3554
- end
3555
-
3556
- def assert_parse_line rb, pt, line
3557
- old_env = ENV["VERBOSE"]
3558
- ENV["VERBOSE"] = "1"
3559
-
3560
- assert_parse rb, pt
3561
- assert_equal line, result.line, "call should have line number"
3562
- ensure
3563
- ENV["VERBOSE"] = old_env
3564
- end
3565
- end
3566
-
3567
- class TestRubyParserV18 < RubyParserTestCase
3568
- include TestRubyParserShared
3569
-
3570
- def setup
3571
- super
3572
-
3573
- self.processor = RubyParser::V18.new
3574
- end
3575
-
3576
- def test_assoc_list_18
3577
- rb = "{1, 2, 3, 4}"
3578
- pt = s(:hash, s(:lit, 1), s(:lit, 2), s(:lit, 3), s(:lit, 4))
3579
-
3580
- assert_parse rb, pt
3581
- end
3582
-
3583
- def test_case_then_colon_18
3584
- rb = "case x; when Fixnum: 42; end"
3585
- pt = s(:case,
3586
- s(:call, nil, :x),
3587
- s(:when, s(:array, s(:const, :Fixnum)), s(:lit, 42)),
3588
- nil)
3589
-
3590
- assert_parse rb, pt
3591
- end
3592
-
3593
- def test_do_colon_18
3594
- rb = "while false : 42 end"
3595
- pt = s(:while, s(:false), s(:lit, 42), true)
3596
-
3597
- assert_parse rb, pt
3598
- end
3599
-
3600
- def test_call_space_before_paren_args_18
3601
- rb = "a (:b, :c, :d => :e)"
3602
- pt = s(:call, nil, :a,
3603
- s(:lit, :b),
3604
- s(:lit, :c),
3605
- s(:hash, s(:lit, :d), s(:lit, :e)))
3606
-
3607
- assert_parse rb, pt
3608
- end
3609
-
3610
- # In 1.8, block args with an outer set of parens are superfluous.
3611
- # In 1.9, outer set of parens are NOT... they are an explicit extra masgn.
3612
-
3613
- def test_iter_args_2_18
3614
- rb = "f { |(a, b)| }"
3615
- pt = s(:iter, s(:call, nil, :f), s(:args, :a, :b))
3616
-
3617
- assert_parse rb, pt
3618
- end
3619
-
3620
- def test_bug_args__18
3621
- rb = "f { |(a, b)| }"
3622
- pt = s(:iter, s(:call, nil, :f),
3623
- s(:args, :a, :b))
3624
-
3625
- assert_parse rb, pt
3626
- end
3627
-
3628
- def test_bug_args_masgn_outer_parens__18
3629
- rb = "f { |((a, b), c)| }"
3630
- pt = s(:iter, # NOTE: same sexp as test_bug_args_masgn
3631
- s(:call, nil, :f),
3632
- s(:args, s(:masgn, :a, :b), :c))
3633
-
3634
- assert_parse rb, pt.dup
3635
- end
3636
-
3637
- def test_double_block_error_10
3638
- assert_syntax_error "a.b (&b) {}", BLOCK_DUP_MSG
3639
- end
3640
-
3641
- def test_double_block_error_11
3642
- assert_syntax_error "a (1, &b) { }", BLOCK_DUP_MSG
3643
- end
3644
-
3645
- def test_double_block_error_12
3646
- assert_syntax_error "a (1, &b) do end", BLOCK_DUP_MSG
3647
- end
3648
-
3649
- def test_double_block_error_13
3650
- assert_syntax_error "m.a (1, &b) { }", BLOCK_DUP_MSG
3651
- end
3652
-
3653
- def test_double_block_error_14
3654
- assert_syntax_error "m.a (1, &b) do end", BLOCK_DUP_MSG
3655
- end
3656
-
3657
- def test_double_block_error_15
3658
- assert_syntax_error "m::a (1, &b) { }", BLOCK_DUP_MSG
3659
- end
3660
-
3661
- def test_double_block_error_16
3662
- assert_syntax_error "m::a (1, &b) do end", BLOCK_DUP_MSG
3663
- end
3664
- end
3665
-
3666
- class TestRubyParserV19 < RubyParserTestCase
3667
- include TestRubyParserShared
3668
- include TestRubyParserShared19Plus
3669
-
3670
- def setup
3671
- super
3672
-
3673
- self.processor = RubyParser::V19.new
3674
- end
3675
- end
3676
-
3677
- class TestRubyParserV20 < RubyParserTestCase
3678
- include TestRubyParserShared
3679
- include TestRubyParserShared19Plus
3680
- include TestRubyParserShared20Plus
3681
-
3682
- def setup
3683
- super
3684
-
3685
- self.processor = RubyParser::V20.new
3686
- end
3687
-
3688
- def test_defn_unary_not
3689
- rb = "def !@; true; end" # I seriously HATE this
3690
- pt = s(:defn, :"!@", s(:args), s(:true))
3691
-
3692
- assert_parse rb, pt
3693
- end
3694
- end
3695
-
3696
- class TestRubyParserV21 < RubyParserTestCase
3697
- include TestRubyParserShared
3698
- include TestRubyParserShared19Plus
3699
- include TestRubyParserShared20Plus
3700
- include TestRubyParserShared21Plus
3701
-
3702
- def setup
3703
- super
3704
-
3705
- self.processor = RubyParser::V21.new
3706
- end
3707
- end
3708
-
3709
- class TestRubyParserV22 < RubyParserTestCase
3710
- include TestRubyParserShared
3711
- include TestRubyParserShared19Plus
3712
- include TestRubyParserShared20Plus
3713
- include TestRubyParserShared21Plus
3714
- include TestRubyParserShared22Plus
3715
-
3716
- def setup
3717
- super
3718
-
3719
- self.processor = RubyParser::V22.new
3720
- end
3721
- end
3722
-
3723
- class TestRubyParserV23 < RubyParserTestCase
3724
- include TestRubyParserShared
3725
- include TestRubyParserShared19Plus
3726
- include TestRubyParserShared20Plus
3727
- include TestRubyParserShared21Plus
3728
- include TestRubyParserShared22Plus
3729
- include TestRubyParserShared23Plus
3730
-
3731
- def setup
3732
- super
3733
-
3734
- self.processor = RubyParser::V23.new
3735
- end
3736
- end
3737
-
3738
- class TestRubyParserV24 < RubyParserTestCase
3739
- include TestRubyParserShared
3740
- include TestRubyParserShared19Plus
3741
- include TestRubyParserShared20Plus
3742
- include TestRubyParserShared21Plus
3743
- include TestRubyParserShared22Plus
3744
- include TestRubyParserShared23Plus
3745
- include TestRubyParserShared24Plus
3746
-
3747
- def setup
3748
- super
3749
-
3750
- self.processor = RubyParser::V24.new
3751
- end
3752
- end
3753
-
3754
- class TestRubyParserV25 < RubyParserTestCase
3755
- include TestRubyParserShared
3756
- include TestRubyParserShared19Plus
3757
- include TestRubyParserShared20Plus
3758
- include TestRubyParserShared21Plus
3759
- include TestRubyParserShared22Plus
3760
- include TestRubyParserShared23Plus
3761
- include TestRubyParserShared24Plus
3762
- include TestRubyParserShared25Plus
3763
-
3764
- def setup
3765
- super
3766
-
3767
- self.processor = RubyParser::V25.new
3768
- end
3769
- end
3770
-
3771
- RubyParser::VERSIONS.each do |klass|
3772
- v = klass.version
3773
- describe "block args arity #{v}" do
3774
- attr_accessor :parser
3775
-
3776
- before do
3777
- self.parser = RubyParser.const_get("V#{v}").new
3778
- end
3779
-
3780
- {
3781
- "-> { }" => s(:iter, s(:call, nil, :lambda), 0),
3782
- "lambda { }" => s(:iter, s(:call, nil, :lambda), 0),
3783
- "proc { }" => s(:iter, s(:call, nil, :proc), 0),
3784
- "Proc.new { }" => s(:iter, s(:call, s(:const, :Proc), :new), 0),
3785
-
3786
- "-> () { }" => s(:iter, s(:call, nil, :lambda), s(:args)),
3787
- "lambda { || }" => s(:iter, s(:call, nil, :lambda), s(:args)),
3788
- "proc { || }" => s(:iter, s(:call, nil, :proc), s(:args)),
3789
- "Proc.new { || }" => s(:iter, s(:call, s(:const, :Proc), :new), s(:args)),
3790
-
3791
- }.each do |input, expected|
3792
- next if v == 18 and input =~ /->/
3793
- next if v == 19 and input =~ /-> \(\)/
3794
-
3795
- it "parses '#{input}'" do
3796
- assert_equal expected, parser.parse(input)
3797
- end
3798
-
3799
- input = input.sub(/\{/, "do").sub(/\}/, "end")
3800
- it "parses '#{input}'" do
3801
- assert_equal expected, parser.parse(input)
3802
- end
3803
- end
3804
- end
3805
- end