brakeman 3.7.2 → 5.4.1

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