@appthreat/atom-parsetools 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (838) hide show
  1. package/package.json +3 -3
  2. package/plugins/autoload.php +1 -1
  3. package/plugins/bin/bundler +1 -1
  4. package/plugins/bin/ruby_ast_gen +1 -1
  5. package/plugins/composer/autoload_classmap.php +22 -8
  6. package/plugins/composer/autoload_real.php +4 -4
  7. package/plugins/composer/autoload_static.php +26 -12
  8. package/plugins/composer/installed.json +12 -10
  9. package/plugins/composer/installed.php +9 -9
  10. package/plugins/nikic/php-parser/README.md +20 -12
  11. package/plugins/nikic/php-parser/bin/php-parse +11 -10
  12. package/plugins/nikic/php-parser/composer.json +6 -4
  13. package/plugins/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +19 -17
  14. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Class_.php +35 -30
  15. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +11 -4
  16. package/plugins/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +8 -7
  17. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +26 -27
  18. package/plugins/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +7 -7
  19. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Function_.php +7 -7
  20. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +11 -10
  21. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Method.php +16 -15
  22. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +5 -5
  23. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Param.php +38 -35
  24. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Property.php +82 -20
  25. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +6 -5
  26. package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +25 -28
  27. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +16 -11
  28. package/plugins/nikic/php-parser/lib/PhpParser/Builder/Use_.php +8 -8
  29. package/plugins/nikic/php-parser/lib/PhpParser/Builder.php +2 -3
  30. package/plugins/nikic/php-parser/lib/PhpParser/BuilderFactory.php +46 -70
  31. package/plugins/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +23 -20
  32. package/plugins/nikic/php-parser/lib/PhpParser/Comment/Doc.php +1 -2
  33. package/plugins/nikic/php-parser/lib/PhpParser/Comment.php +37 -67
  34. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +3 -3
  35. package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +15 -10
  36. package/plugins/nikic/php-parser/lib/PhpParser/Error.php +26 -33
  37. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +6 -9
  38. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +2 -3
  39. package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler.php +2 -3
  40. package/plugins/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +11 -7
  41. package/plugins/nikic/php-parser/lib/PhpParser/Internal/Differ.php +36 -22
  42. package/plugins/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +20 -13
  43. package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +237 -0
  44. package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +70 -74
  45. package/plugins/nikic/php-parser/lib/PhpParser/JsonDecoder.php +15 -10
  46. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +72 -97
  47. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AsymmetricVisibilityTokenEmulator.php +93 -0
  48. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +11 -18
  49. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +10 -15
  50. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +12 -11
  51. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +24 -26
  52. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +6 -10
  53. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +22 -29
  54. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/PropertyTokenEmulator.php +19 -0
  55. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +3 -3
  56. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +10 -15
  57. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +6 -5
  58. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +10 -5
  59. package/plugins/nikic/php-parser/lib/PhpParser/Lexer.php +69 -513
  60. package/plugins/nikic/php-parser/lib/PhpParser/Modifiers.php +85 -0
  61. package/plugins/nikic/php-parser/lib/PhpParser/NameContext.php +24 -25
  62. package/plugins/nikic/php-parser/lib/PhpParser/Node/Arg.php +13 -15
  63. package/plugins/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +43 -0
  64. package/plugins/nikic/php-parser/lib/PhpParser/Node/Attribute.php +9 -10
  65. package/plugins/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +5 -7
  66. package/plugins/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +36 -0
  67. package/plugins/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +1 -2
  68. package/plugins/nikic/php-parser/lib/PhpParser/Node/Const_.php +9 -10
  69. package/plugins/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +37 -0
  70. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +10 -11
  71. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +4 -34
  72. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +11 -11
  73. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +33 -28
  74. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +9 -10
  75. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +2 -3
  76. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +2 -3
  77. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +2 -3
  78. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +2 -3
  79. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +2 -3
  80. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +2 -3
  81. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +2 -3
  82. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +2 -3
  83. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +2 -3
  84. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +2 -3
  85. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +2 -3
  86. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +2 -3
  87. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +2 -3
  88. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +7 -8
  89. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +9 -10
  90. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +4 -5
  91. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +4 -5
  92. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +4 -5
  93. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +4 -5
  94. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +4 -5
  95. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +4 -5
  96. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +4 -5
  97. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +4 -5
  98. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +4 -5
  99. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +4 -5
  100. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +4 -5
  101. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +4 -5
  102. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +4 -5
  103. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +4 -5
  104. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +4 -5
  105. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +4 -5
  106. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +4 -5
  107. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +4 -5
  108. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +4 -5
  109. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +4 -5
  110. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +4 -5
  111. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +4 -5
  112. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +4 -5
  113. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +4 -5
  114. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +4 -5
  115. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +4 -5
  116. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +4 -5
  117. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +8 -11
  118. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +7 -8
  119. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +7 -8
  120. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +3 -7
  121. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +2 -3
  122. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +2 -3
  123. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +5 -6
  124. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +2 -3
  125. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +2 -3
  126. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +2 -3
  127. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +2 -3
  128. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +5 -6
  129. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +10 -10
  130. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +7 -8
  131. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +33 -26
  132. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +4 -27
  133. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +7 -8
  134. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +7 -8
  135. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +5 -6
  136. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +7 -8
  137. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +7 -8
  138. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +10 -11
  139. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +10 -11
  140. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +13 -14
  141. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +11 -11
  142. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +7 -8
  143. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +12 -8
  144. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +8 -7
  145. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +12 -12
  146. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +10 -11
  147. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +12 -12
  148. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +10 -10
  149. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +7 -8
  150. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +7 -8
  151. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +6 -7
  152. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +7 -8
  153. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +7 -8
  154. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +10 -10
  155. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +9 -9
  156. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +12 -13
  157. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +11 -11
  158. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +12 -13
  159. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +6 -7
  160. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +7 -8
  161. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +7 -8
  162. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +6 -7
  163. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +7 -8
  164. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +10 -11
  165. package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr.php +1 -2
  166. package/plugins/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +5 -8
  167. package/plugins/nikic/php-parser/lib/PhpParser/Node/Identifier.php +24 -14
  168. package/plugins/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +32 -0
  169. package/plugins/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +6 -9
  170. package/plugins/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +8 -10
  171. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +8 -9
  172. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +8 -9
  173. package/plugins/nikic/php-parser/lib/PhpParser/Node/Name.php +78 -54
  174. package/plugins/nikic/php-parser/lib/PhpParser/Node/NullableType.php +11 -10
  175. package/plugins/nikic/php-parser/lib/PhpParser/Node/Param.php +83 -24
  176. package/plugins/nikic/php-parser/lib/PhpParser/Node/PropertyHook.php +105 -0
  177. package/plugins/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +37 -0
  178. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +4 -70
  179. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +4 -24
  180. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +5 -22
  181. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +78 -0
  182. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +82 -0
  183. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +34 -0
  184. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +4 -73
  185. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +4 -5
  186. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +4 -5
  187. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +4 -5
  188. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +4 -5
  189. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +4 -5
  190. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +4 -5
  191. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +4 -5
  192. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php +15 -0
  193. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +4 -5
  194. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +4 -5
  195. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +30 -26
  196. package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar.php +1 -2
  197. package/plugins/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +39 -0
  198. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +29 -0
  199. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +8 -9
  200. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +10 -11
  201. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +11 -12
  202. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +24 -32
  203. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +17 -17
  204. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +47 -54
  205. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +46 -89
  206. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +17 -10
  207. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +8 -9
  208. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +5 -26
  209. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +12 -12
  210. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +9 -10
  211. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +7 -8
  212. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +9 -10
  213. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +7 -8
  214. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +11 -12
  215. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +17 -13
  216. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +7 -8
  217. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +7 -8
  218. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +19 -15
  219. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +20 -17
  220. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +28 -24
  221. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +7 -8
  222. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +7 -8
  223. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +16 -14
  224. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +7 -8
  225. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +18 -15
  226. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +7 -8
  227. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +13 -10
  228. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +7 -8
  229. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +11 -12
  230. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +4 -5
  231. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +68 -38
  232. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +5 -26
  233. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +8 -9
  234. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +4 -30
  235. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +8 -8
  236. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +9 -10
  237. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +8 -9
  238. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +12 -13
  239. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +9 -10
  240. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +3 -4
  241. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +10 -8
  242. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +11 -12
  243. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +7 -8
  244. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +5 -44
  245. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +16 -16
  246. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +9 -10
  247. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt.php +1 -2
  248. package/plugins/nikic/php-parser/lib/PhpParser/Node/UnionType.php +7 -8
  249. package/plugins/nikic/php-parser/lib/PhpParser/Node/UseItem.php +55 -0
  250. package/plugins/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +2 -3
  251. package/plugins/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +2 -2
  252. package/plugins/nikic/php-parser/lib/PhpParser/Node.php +28 -29
  253. package/plugins/nikic/php-parser/lib/PhpParser/NodeAbstract.php +23 -20
  254. package/plugins/nikic/php-parser/lib/PhpParser/NodeDumper.php +177 -84
  255. package/plugins/nikic/php-parser/lib/PhpParser/NodeFinder.php +28 -19
  256. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverser.php +156 -160
  257. package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +4 -7
  258. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +1 -2
  259. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +82 -0
  260. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +6 -7
  261. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +6 -7
  262. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +37 -28
  263. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +29 -8
  264. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +23 -13
  265. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor.php +59 -7
  266. package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +1 -2
  267. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2034 -2141
  268. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php8.php +2814 -0
  269. package/plugins/nikic/php-parser/lib/PhpParser/Parser.php +9 -3
  270. package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +503 -269
  271. package/plugins/nikic/php-parser/lib/PhpParser/ParserFactory.php +15 -49
  272. package/plugins/nikic/php-parser/lib/PhpParser/PhpVersion.php +171 -0
  273. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +428 -339
  274. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +51 -0
  275. package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +563 -445
  276. package/plugins/nikic/php-parser/lib/PhpParser/Token.php +18 -0
  277. package/plugins/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +68 -0
  278. package/plugins/rubyastgen/Gemfile +3 -2
  279. package/plugins/rubyastgen/Gemfile.lock +10 -5
  280. package/plugins/rubyastgen/bundle/bundler/setup.rb +4 -2
  281. package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/bundle +29 -0
  282. package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/bundler +29 -0
  283. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/Gemfile +2 -1
  284. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/README.md +7 -4
  285. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-8738b155eb4f/bin/console +11 -0
  286. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-8738b155eb4f/exe/ruby_ast_gen +60 -0
  287. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/lib/ruby_ast_gen/node_handling.rb +49 -31
  288. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/lib/ruby_ast_gen/version.rb +1 -1
  289. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/lib/ruby_ast_gen.rb +24 -10
  290. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/ruby_ast_gen.gemspec +4 -4
  291. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-8738b155eb4f/spec/ruby_ast_gen_spec.rb +299 -0
  292. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/update_version.rb +6 -5
  293. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.4.0/gem.build_complete +0 -0
  294. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.4.0/gem_make.out +44 -0
  295. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.4.0/mkmf.log +74 -0
  296. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.4.0/prism/prism.so +0 -0
  297. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem_make.out +6 -6
  298. package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/racc/cparse.so +0 -0
  299. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/CHANGELOG.md +5239 -0
  300. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/LICENSE.md +22 -0
  301. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/README.md +58 -0
  302. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/bundler.gemspec +46 -0
  303. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/exe/bundle +29 -0
  304. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/exe/bundler +4 -0
  305. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/.document +1 -0
  306. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/build_metadata.rb +45 -0
  307. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/capistrano.rb +22 -0
  308. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/checksum.rb +264 -0
  309. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/ci_detector.rb +75 -0
  310. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/add.rb +49 -0
  311. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/binstubs.rb +57 -0
  312. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/cache.rb +43 -0
  313. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/check.rb +40 -0
  314. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/clean.rb +25 -0
  315. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/common.rb +138 -0
  316. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/config.rb +204 -0
  317. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/console.rb +42 -0
  318. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/doctor.rb +161 -0
  319. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/exec.rb +89 -0
  320. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/fund.rb +36 -0
  321. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/gem.rb +467 -0
  322. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/info.rb +83 -0
  323. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/init.rb +51 -0
  324. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/inject.rb +60 -0
  325. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/install.rb +199 -0
  326. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/issue.rb +41 -0
  327. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/list.rb +66 -0
  328. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/lock.rb +94 -0
  329. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/open.rb +29 -0
  330. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/outdated.rb +297 -0
  331. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/platform.rb +48 -0
  332. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/plugin.rb +35 -0
  333. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/pristine.rb +60 -0
  334. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/remove.rb +17 -0
  335. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/show.rb +75 -0
  336. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/update.rb +123 -0
  337. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli/viz.rb +31 -0
  338. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/cli.rb +799 -0
  339. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/compact_index_client/cache.rb +96 -0
  340. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/compact_index_client/cache_file.rb +148 -0
  341. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/compact_index_client/parser.rb +84 -0
  342. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/compact_index_client/updater.rb +105 -0
  343. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/compact_index_client.rb +97 -0
  344. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/constants.rb +14 -0
  345. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/current_ruby.rb +82 -0
  346. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/definition.rb +1170 -0
  347. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/dependency.rb +151 -0
  348. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/deployment.rb +69 -0
  349. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/deprecate.rb +44 -0
  350. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/digest.rb +71 -0
  351. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/dsl.rb +638 -0
  352. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/endpoint_specification.rb +174 -0
  353. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/env.rb +148 -0
  354. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/environment_preserver.rb +68 -0
  355. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/errors.rb +281 -0
  356. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/feature_flag.rb +50 -0
  357. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/fetcher/base.rb +52 -0
  358. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/fetcher/compact_index.rb +120 -0
  359. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/fetcher/dependency.rb +78 -0
  360. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/fetcher/downloader.rb +91 -0
  361. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  362. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/fetcher/index.rb +25 -0
  363. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/fetcher.rb +331 -0
  364. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/force_platform.rb +16 -0
  365. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/friendly_errors.rb +126 -0
  366. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/gem_helper.rb +237 -0
  367. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/gem_helpers.rb +144 -0
  368. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/gem_tasks.rb +7 -0
  369. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/gem_version_promoter.rb +147 -0
  370. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/graph.rb +152 -0
  371. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/index.rb +205 -0
  372. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/injector.rb +285 -0
  373. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/inline.rb +98 -0
  374. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/installer/gem_installer.rb +85 -0
  375. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/installer/parallel_installer.rb +203 -0
  376. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/installer/standalone.rb +113 -0
  377. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/installer.rb +243 -0
  378. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/lazy_specification.rb +234 -0
  379. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/lockfile_generator.rb +104 -0
  380. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/lockfile_parser.rb +300 -0
  381. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/.document +1 -0
  382. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-add.1 +76 -0
  383. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-add.1.ronn +87 -0
  384. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-binstubs.1 +33 -0
  385. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-binstubs.1.ronn +44 -0
  386. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-cache.1 +68 -0
  387. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-cache.1.ronn +108 -0
  388. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-check.1 +24 -0
  389. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-check.1.ronn +31 -0
  390. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-clean.1 +17 -0
  391. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-clean.1.ronn +18 -0
  392. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-config.1 +317 -0
  393. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-config.1.ronn +408 -0
  394. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-console.1 +33 -0
  395. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-console.1.ronn +39 -0
  396. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-doctor.1 +30 -0
  397. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-doctor.1.ronn +33 -0
  398. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-env.1 +9 -0
  399. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-env.1.ronn +10 -0
  400. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-exec.1 +107 -0
  401. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-exec.1.ronn +154 -0
  402. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-fund.1 +22 -0
  403. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-fund.1.ronn +25 -0
  404. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-gem.1 +87 -0
  405. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-gem.1.ronn +149 -0
  406. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-help.1 +9 -0
  407. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-help.1.ronn +12 -0
  408. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-info.1 +17 -0
  409. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-info.1.ronn +21 -0
  410. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-init.1 +20 -0
  411. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-init.1.ronn +32 -0
  412. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-inject.1 +31 -0
  413. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-inject.1.ronn +32 -0
  414. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-install.1 +218 -0
  415. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-install.1.ronn +387 -0
  416. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-issue.1 +45 -0
  417. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-issue.1.ronn +37 -0
  418. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-licenses.1 +9 -0
  419. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-licenses.1.ronn +10 -0
  420. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-list.1 +35 -0
  421. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-list.1.ronn +36 -0
  422. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-lock.1 +75 -0
  423. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-lock.1.ronn +115 -0
  424. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-open.1 +32 -0
  425. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-open.1.ronn +28 -0
  426. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-outdated.1 +103 -0
  427. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-outdated.1.ronn +110 -0
  428. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-platform.1 +49 -0
  429. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-platform.1.ronn +49 -0
  430. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-plugin.1 +58 -0
  431. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-plugin.1.ronn +63 -0
  432. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-pristine.1 +23 -0
  433. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-pristine.1.ronn +34 -0
  434. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-remove.1 +21 -0
  435. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-remove.1.ronn +23 -0
  436. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-show.1 +19 -0
  437. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-show.1.ronn +25 -0
  438. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-update.1 +281 -0
  439. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-update.1.ronn +359 -0
  440. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-version.1 +22 -0
  441. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-version.1.ronn +24 -0
  442. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-viz.1 +30 -0
  443. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle-viz.1.ronn +36 -0
  444. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle.1 +102 -0
  445. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/bundle.1.ronn +116 -0
  446. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/gemfile.5 +472 -0
  447. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/gemfile.5.ronn +558 -0
  448. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/man/index.txt +33 -0
  449. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/match_metadata.rb +30 -0
  450. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/match_platform.rb +23 -0
  451. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/match_remote_metadata.rb +29 -0
  452. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/materialization.rb +59 -0
  453. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/mirror.rb +221 -0
  454. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/api/source.rb +322 -0
  455. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/api.rb +81 -0
  456. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/dsl.rb +53 -0
  457. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/events.rb +85 -0
  458. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/index.rb +197 -0
  459. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/installer/git.rb +34 -0
  460. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/installer/path.rb +26 -0
  461. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/installer/rubygems.rb +19 -0
  462. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/installer.rb +132 -0
  463. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin/source_list.rb +31 -0
  464. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/plugin.rb +378 -0
  465. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/process_lock.rb +20 -0
  466. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/remote_specification.rb +126 -0
  467. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver/base.rb +118 -0
  468. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver/candidate.rb +85 -0
  469. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver/incompatibility.rb +15 -0
  470. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver/package.rb +94 -0
  471. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver/root.rb +25 -0
  472. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver/spec_group.rb +74 -0
  473. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver/strategy.rb +40 -0
  474. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/resolver.rb +522 -0
  475. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/retry.rb +66 -0
  476. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/ruby_dsl.rb +62 -0
  477. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/ruby_version.rb +137 -0
  478. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/rubygems_ext.rb +485 -0
  479. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/rubygems_gem_installer.rb +172 -0
  480. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/rubygems_integration.rb +455 -0
  481. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/runtime.rb +320 -0
  482. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/safe_marshal.rb +31 -0
  483. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/self_manager.rb +206 -0
  484. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/settings/validator.rb +102 -0
  485. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/settings.rb +599 -0
  486. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/setup.rb +39 -0
  487. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/shared_helpers.rb +398 -0
  488. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/similarity_detector.rb +63 -0
  489. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/gemspec.rb +15 -0
  490. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/git/git_proxy.rb +472 -0
  491. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/git.rb +452 -0
  492. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/metadata.rb +63 -0
  493. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/path/installer.rb +53 -0
  494. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/path.rb +250 -0
  495. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/rubygems/remote.rb +76 -0
  496. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/rubygems.rb +522 -0
  497. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source/rubygems_aggregate.rb +68 -0
  498. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source.rb +118 -0
  499. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source_list.rb +273 -0
  500. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/source_map.rb +71 -0
  501. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/spec_set.rb +367 -0
  502. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/stub_specification.rb +146 -0
  503. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/.document +1 -0
  504. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/Executable +27 -0
  505. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/Executable.bundler +109 -0
  506. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/Executable.standalone +14 -0
  507. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/Gemfile +5 -0
  508. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  509. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +132 -0
  510. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  511. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/Gemfile.tt +24 -0
  512. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/LICENSE.txt.tt +21 -0
  513. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/README.md.tt +49 -0
  514. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/Rakefile.tt +67 -0
  515. package/plugins/rubyastgen/bundle/ruby/3.4.0/{bundler/gems/ruby_ast_gen-2a9186207494/bin/console → gems/bundler-2.6.7/lib/bundler/templates/newgem/bin/console.tt} +1 -1
  516. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1/bin/setup → bundler-2.6.7/lib/bundler/templates/newgem/bin/setup.tt} +0 -0
  517. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  518. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/exe/newgem.tt +3 -0
  519. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  520. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  521. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  522. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
  523. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
  524. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  525. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  526. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/gitignore.tt +23 -0
  527. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  528. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +9 -0
  529. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/lib/newgem.rb.tt +15 -0
  530. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/newgem.gemspec.tt +52 -0
  531. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/rspec.tt +3 -0
  532. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/rubocop.yml.tt +8 -0
  533. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  534. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +11 -0
  535. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +15 -0
  536. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  537. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  538. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +13 -0
  539. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  540. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  541. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/ui/rg_proxy.rb +19 -0
  542. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/ui/shell.rb +187 -0
  543. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/ui/silent.rb +96 -0
  544. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/ui.rb +9 -0
  545. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/uri_credentials_filter.rb +43 -0
  546. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/uri_normalizer.rb +23 -0
  547. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/.document +1 -0
  548. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/connection_pool/.document +1 -0
  549. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  550. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +224 -0
  551. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  552. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  553. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +186 -0
  554. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/fileutils/.document +1 -0
  555. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/fileutils/lib/fileutils.rb +2696 -0
  556. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/net-http-persistent/.document +1 -0
  557. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  558. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +41 -0
  559. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +65 -0
  560. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  561. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1111 -0
  562. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/.document +1 -0
  563. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  564. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  565. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +169 -0
  566. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  567. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  568. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  569. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  570. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  571. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  572. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
  573. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
  574. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  575. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  576. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  577. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +423 -0
  578. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +236 -0
  579. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  580. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  581. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/securerandom/.document +1 -0
  582. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/securerandom/COPYING +56 -0
  583. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/securerandom/lib/securerandom.rb +102 -0
  584. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/.document +1 -0
  585. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/LICENSE.md +20 -0
  586. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +105 -0
  587. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +61 -0
  588. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +108 -0
  589. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
  590. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +371 -0
  591. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +130 -0
  592. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/actions.rb +340 -0
  593. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/base.rb +825 -0
  594. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/command.rb +151 -0
  595. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  596. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/error.rb +106 -0
  597. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/group.rb +292 -0
  598. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/invocation.rb +178 -0
  599. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
  600. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
  601. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
  602. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  603. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +86 -0
  604. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +195 -0
  605. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/parser/option.rb +178 -0
  606. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/parser/options.rb +294 -0
  607. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -0
  608. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +72 -0
  609. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/runner.rb +335 -0
  610. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +388 -0
  611. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell/color.rb +112 -0
  612. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  613. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell/html.rb +81 -0
  614. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +118 -0
  615. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  616. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  617. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/shell.rb +81 -0
  618. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/util.rb +285 -0
  619. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor/version.rb +3 -0
  620. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/thor/lib/thor.rb +674 -0
  621. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/tsort/.document +1 -0
  622. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  623. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/tsort/lib/tsort.rb +455 -0
  624. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/.document +1 -0
  625. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/COPYING +56 -0
  626. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/common.rb +880 -0
  627. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/file.rb +100 -0
  628. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  629. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/generic.rb +1579 -0
  630. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/http.rb +125 -0
  631. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
  632. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  633. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  634. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  635. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  636. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  637. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
  638. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  639. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  640. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendor/uri/lib/uri.rb +104 -0
  641. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_fileutils.rb +4 -0
  642. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_net_http.rb +23 -0
  643. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_persistent.rb +11 -0
  644. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_pub_grub.rb +4 -0
  645. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_securerandom.rb +12 -0
  646. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_thor.rb +8 -0
  647. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_timeout.rb +12 -0
  648. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_tsort.rb +4 -0
  649. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vendored_uri.rb +21 -0
  650. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/version.rb +13 -0
  651. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/vlad.rb +17 -0
  652. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/worker.rb +117 -0
  653. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler/yaml_serializer.rb +98 -0
  654. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/bundler-2.6.7/lib/bundler.rb +701 -0
  655. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.3/COPYING +56 -0
  656. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.3/bin/setup +8 -0
  657. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → ostruct-0.6.3}/lib/ostruct.rb +5 -2
  658. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → ostruct-0.6.3}/ostruct.gemspec +2 -0
  659. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/BSDmakefile +58 -0
  660. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/CHANGELOG.md +684 -0
  661. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/CODE_OF_CONDUCT.md +76 -0
  662. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/CONTRIBUTING.md +58 -0
  663. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/LICENSE.md +7 -0
  664. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/Makefile +108 -0
  665. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/README.md +141 -0
  666. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/config.yml +4486 -0
  667. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/build_system.md +119 -0
  668. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/configuration.md +68 -0
  669. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/cruby_compilation.md +27 -0
  670. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/design.md +53 -0
  671. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/encoding.md +121 -0
  672. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/fuzzing.md +88 -0
  673. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/heredocs.md +36 -0
  674. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/javascript.md +118 -0
  675. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/local_variable_depth.md +229 -0
  676. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/mapping.md +117 -0
  677. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/parser_translation.md +39 -0
  678. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/parsing_rules.md +22 -0
  679. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/releasing.md +96 -0
  680. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/relocation.md +34 -0
  681. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/ripper_translation.md +72 -0
  682. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/ruby_api.md +44 -0
  683. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/ruby_parser_translation.md +19 -0
  684. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/serialization.md +233 -0
  685. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/docs/testing.md +55 -0
  686. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism/Makefile +273 -0
  687. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism/api_node.c +6939 -0
  688. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism/api_pack.c +276 -0
  689. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism/extconf.rb +127 -0
  690. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism/extension.c +1406 -0
  691. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism/extension.h +19 -0
  692. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/ast.h +7964 -0
  693. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/defines.h +260 -0
  694. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/diagnostic.h +451 -0
  695. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/encoding.h +283 -0
  696. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/node.h +129 -0
  697. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/options.h +442 -0
  698. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/pack.h +163 -0
  699. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/parser.h +933 -0
  700. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/prettyprint.h +34 -0
  701. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/regexp.h +43 -0
  702. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/static_literals.h +121 -0
  703. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_buffer.h +228 -0
  704. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_char.h +204 -0
  705. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_constant_pool.h +218 -0
  706. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_integer.h +126 -0
  707. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_list.h +97 -0
  708. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_memchr.h +29 -0
  709. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_newline_list.h +113 -0
  710. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_string.h +190 -0
  711. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_strncasecmp.h +32 -0
  712. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/util/pm_strpbrk.h +46 -0
  713. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism/version.h +29 -0
  714. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/include/prism.h +383 -0
  715. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/compiler.rb +496 -0
  716. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/desugar_compiler.rb +391 -0
  717. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/dispatcher.rb +2194 -0
  718. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/dot_visitor.rb +4758 -0
  719. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/dsl.rb +1000 -0
  720. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/ffi.rb +560 -0
  721. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/inspect_visitor.rb +2389 -0
  722. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/lex_compat.rb +927 -0
  723. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/mutation_compiler.rb +769 -0
  724. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/node.rb +18645 -0
  725. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/node_ext.rb +508 -0
  726. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/pack.rb +228 -0
  727. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/parse_result/comments.rb +187 -0
  728. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/parse_result/errors.rb +65 -0
  729. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/parse_result/newlines.rb +154 -0
  730. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/parse_result.rb +910 -0
  731. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/pattern.rb +268 -0
  732. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/polyfill/append_as_bytes.rb +15 -0
  733. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/polyfill/byteindex.rb +13 -0
  734. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/polyfill/unpack1.rb +14 -0
  735. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/prism.so +0 -0
  736. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/reflection.rb +413 -0
  737. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/relocation.rb +504 -0
  738. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/serialize.rb +2392 -0
  739. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/string_query.rb +30 -0
  740. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/parser/builder.rb +61 -0
  741. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/parser/compiler.rb +2212 -0
  742. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/parser/lexer.rb +812 -0
  743. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/parser.rb +355 -0
  744. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/parser33.rb +12 -0
  745. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/parser34.rb +12 -0
  746. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/parser35.rb +12 -0
  747. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/ripper/sexp.rb +125 -0
  748. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/ripper/shim.rb +5 -0
  749. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/ripper.rb +3458 -0
  750. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation/ruby_parser.rb +1646 -0
  751. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/translation.rb +14 -0
  752. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism/visitor.rb +508 -0
  753. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/lib/prism.rb +89 -0
  754. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/prism.gemspec +170 -0
  755. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/compiler.rbi +12 -0
  756. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/dsl.rbi +524 -0
  757. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/inspect_visitor.rbi +12 -0
  758. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/node.rbi +8722 -0
  759. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/node_ext.rbi +107 -0
  760. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/parse_result.rbi +404 -0
  761. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/reflection.rbi +58 -0
  762. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/string_query.rbi +12 -0
  763. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/translation/parser.rbi +11 -0
  764. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/translation/parser33.rbi +6 -0
  765. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/translation/parser34.rbi +6 -0
  766. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/translation/parser35.rbi +6 -0
  767. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/translation/ripper.rbi +15 -0
  768. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism/visitor.rbi +473 -0
  769. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/rbi/prism.rbi +66 -0
  770. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/compiler.rbs +9 -0
  771. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/dispatcher.rbs +16 -0
  772. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/dot_visitor.rbs +6 -0
  773. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/dsl.rbs +351 -0
  774. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/inspect_visitor.rbs +22 -0
  775. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/lex_compat.rbs +10 -0
  776. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/mutation_compiler.rbs +159 -0
  777. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/node.rbs +3614 -0
  778. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/node_ext.rbs +82 -0
  779. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/pack.rbs +43 -0
  780. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/parse_result.rbs +192 -0
  781. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/pattern.rbs +13 -0
  782. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/reflection.rbs +50 -0
  783. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/relocation.rbs +185 -0
  784. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/serialize.rbs +8 -0
  785. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/string_query.rbs +11 -0
  786. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism/visitor.rbs +169 -0
  787. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/sig/prism.rbs +254 -0
  788. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/diagnostic.c +842 -0
  789. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/encoding.c +5235 -0
  790. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/node.c +8674 -0
  791. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/options.c +328 -0
  792. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/pack.c +509 -0
  793. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/prettyprint.c +8939 -0
  794. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/prism.c +23184 -0
  795. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/regexp.c +790 -0
  796. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/serialize.c +2266 -0
  797. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/static_literals.c +617 -0
  798. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/token_type.c +701 -0
  799. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_buffer.c +357 -0
  800. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_char.c +318 -0
  801. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_constant_pool.c +342 -0
  802. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_integer.c +670 -0
  803. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_list.c +49 -0
  804. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_memchr.c +35 -0
  805. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_newline_list.c +125 -0
  806. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_string.c +383 -0
  807. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_strncasecmp.c +36 -0
  808. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/src/util/pm_strpbrk.c +206 -0
  809. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +3 -3
  810. package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  811. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/ast-2.4.3.gemspec +1 -1
  812. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/bundler-2.6.7.gemspec +25 -0
  813. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/{ostruct-0.6.1.gemspec → ostruct-0.6.3.gemspec} +5 -4
  814. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/parser-3.3.8.0.gemspec +1 -1
  815. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/prism-1.4.0.gemspec +24 -0
  816. package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +1 -1
  817. package/rbastgen.js +1 -1
  818. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +0 -47
  819. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +0 -76
  820. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +0 -23
  821. package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +0 -105
  822. package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +0 -30
  823. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +0 -55
  824. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php5.php +0 -2682
  825. package/plugins/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +0 -148
  826. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-2a9186207494/exe/ruby_ast_gen +0 -59
  827. package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-2a9186207494/spec/ruby_ast_gen_spec.rb +0 -175
  828. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/.rspec +0 -0
  829. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/LICENSE.txt +0 -0
  830. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/Rakefile +0 -0
  831. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/bin/setup +0 -0
  832. /package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/{ruby_ast_gen-2a9186207494 → ruby_ast_gen-8738b155eb4f}/spec/spec_helper.rb +0 -0
  833. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → bundler-2.6.7/lib/bundler/vendor/fileutils}/COPYING +0 -0
  834. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → ostruct-0.6.3}/BSDL +0 -0
  835. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → ostruct-0.6.3}/Gemfile +0 -0
  836. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → ostruct-0.6.3}/README.md +0 -0
  837. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → ostruct-0.6.3}/Rakefile +0 -0
  838. /package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/{ostruct-0.6.1 → ostruct-0.6.3}/bin/console +0 -0
@@ -0,0 +1,1111 @@
1
+ require_relative '../../../../../vendored_net_http'
2
+ require_relative '../../../../../vendored_uri'
3
+ require 'cgi' # for escaping
4
+ require_relative '../../../../connection_pool/lib/connection_pool'
5
+
6
+ autoload :OpenSSL, 'openssl'
7
+
8
+ ##
9
+ # Persistent connections for Gem::Net::HTTP
10
+ #
11
+ # Gem::Net::HTTP::Persistent maintains persistent connections across all the
12
+ # servers you wish to talk to. For each host:port you communicate with a
13
+ # single persistent connection is created.
14
+ #
15
+ # Connections will be shared across threads through a connection pool to
16
+ # increase reuse of connections.
17
+ #
18
+ # You can shut down any remaining HTTP connections when done by calling
19
+ # #shutdown.
20
+ #
21
+ # Example:
22
+ #
23
+ # require 'bundler/vendor/net-http-persistent/lib/net/http/persistent'
24
+ #
25
+ # uri = Gem::URI 'http://example.com/awesome/web/service'
26
+ #
27
+ # http = Gem::Net::HTTP::Persistent.new
28
+ #
29
+ # # perform a GET
30
+ # response = http.request uri
31
+ #
32
+ # # or
33
+ #
34
+ # get = Gem::Net::HTTP::Get.new uri.request_uri
35
+ # response = http.request get
36
+ #
37
+ # # create a POST
38
+ # post_uri = uri + 'create'
39
+ # post = Gem::Net::HTTP::Post.new post_uri.path
40
+ # post.set_form_data 'some' => 'cool data'
41
+ #
42
+ # # perform the POST, the Gem::URI is always required
43
+ # response http.request post_uri, post
44
+ #
45
+ # Note that for GET, HEAD and other requests that do not have a body you want
46
+ # to use Gem::URI#request_uri not Gem::URI#path. The request_uri contains the query
47
+ # params which are sent in the body for other requests.
48
+ #
49
+ # == TLS/SSL
50
+ #
51
+ # TLS connections are automatically created depending upon the scheme of the
52
+ # Gem::URI. TLS connections are automatically verified against the default
53
+ # certificate store for your computer. You can override this by changing
54
+ # verify_mode or by specifying an alternate cert_store.
55
+ #
56
+ # Here are the TLS settings, see the individual methods for documentation:
57
+ #
58
+ # #certificate :: This client's certificate
59
+ # #ca_file :: The certificate-authorities
60
+ # #ca_path :: Directory with certificate-authorities
61
+ # #cert_store :: An SSL certificate store
62
+ # #ciphers :: List of SSl ciphers allowed
63
+ # #private_key :: The client's SSL private key
64
+ # #reuse_ssl_sessions :: Reuse a previously opened SSL session for a new
65
+ # connection
66
+ # #ssl_timeout :: Session lifetime
67
+ # #ssl_version :: Which specific SSL version to use
68
+ # #verify_callback :: For server certificate verification
69
+ # #verify_depth :: Depth of certificate verification
70
+ # #verify_mode :: How connections should be verified
71
+ # #verify_hostname :: Use hostname verification for server certificate
72
+ # during the handshake
73
+ #
74
+ # == Proxies
75
+ #
76
+ # A proxy can be set through #proxy= or at initialization time by providing a
77
+ # second argument to ::new. The proxy may be the Gem::URI of the proxy server or
78
+ # <code>:ENV</code> which will consult environment variables.
79
+ #
80
+ # See #proxy= and #proxy_from_env for details.
81
+ #
82
+ # == Headers
83
+ #
84
+ # Headers may be specified for use in every request. #headers are appended to
85
+ # any headers on the request. #override_headers replace existing headers on
86
+ # the request.
87
+ #
88
+ # The difference between the two can be seen in setting the User-Agent. Using
89
+ # <code>http.headers['User-Agent'] = 'MyUserAgent'</code> will send "Ruby,
90
+ # MyUserAgent" while <code>http.override_headers['User-Agent'] =
91
+ # 'MyUserAgent'</code> will send "MyUserAgent".
92
+ #
93
+ # == Tuning
94
+ #
95
+ # === Segregation
96
+ #
97
+ # Each Gem::Net::HTTP::Persistent instance has its own pool of connections. There
98
+ # is no sharing with other instances (as was true in earlier versions).
99
+ #
100
+ # === Idle Timeout
101
+ #
102
+ # If a connection hasn't been used for this number of seconds it will
103
+ # automatically be reset upon the next use to avoid attempting to send to a
104
+ # closed connection. The default value is 5 seconds. nil means no timeout.
105
+ # Set through #idle_timeout.
106
+ #
107
+ # Reducing this value may help avoid the "too many connection resets" error
108
+ # when sending non-idempotent requests while increasing this value will cause
109
+ # fewer round-trips.
110
+ #
111
+ # === Read Timeout
112
+ #
113
+ # The amount of time allowed between reading two chunks from the socket. Set
114
+ # through #read_timeout
115
+ #
116
+ # === Max Requests
117
+ #
118
+ # The number of requests that should be made before opening a new connection.
119
+ # Typically many keep-alive capable servers tune this to 100 or less, so the
120
+ # 101st request will fail with ECONNRESET. If unset (default), this value has
121
+ # no effect, if set, connections will be reset on the request after
122
+ # max_requests.
123
+ #
124
+ # === Open Timeout
125
+ #
126
+ # The amount of time to wait for a connection to be opened. Set through
127
+ # #open_timeout.
128
+ #
129
+ # === Socket Options
130
+ #
131
+ # Socket options may be set on newly-created connections. See #socket_options
132
+ # for details.
133
+ #
134
+ # === Connection Termination
135
+ #
136
+ # If you are done using the Gem::Net::HTTP::Persistent instance you may shut down
137
+ # all the connections in the current thread with #shutdown. This is not
138
+ # recommended for normal use, it should only be used when it will be several
139
+ # minutes before you make another HTTP request.
140
+ #
141
+ # If you are using multiple threads, call #shutdown in each thread when the
142
+ # thread is done making requests. If you don't call shutdown, that's OK.
143
+ # Ruby will automatically garbage collect and shutdown your HTTP connections
144
+ # when the thread terminates.
145
+
146
+ class Gem::Net::HTTP::Persistent
147
+
148
+ ##
149
+ # The beginning of Time
150
+
151
+ EPOCH = Time.at 0 # :nodoc:
152
+
153
+ ##
154
+ # Is OpenSSL available? This test works with autoload
155
+
156
+ HAVE_OPENSSL = defined? OpenSSL::SSL # :nodoc:
157
+
158
+ ##
159
+ # The default connection pool size is 1/4 the allowed open files
160
+ # (<code>ulimit -n</code>) or 256 if your OS does not support file handle
161
+ # limits (typically windows).
162
+
163
+ if Process.const_defined? :RLIMIT_NOFILE
164
+ open_file_limits = Process.getrlimit(Process::RLIMIT_NOFILE)
165
+
166
+ # Under JRuby on Windows Process responds to `getrlimit` but returns something that does not match docs
167
+ if open_file_limits.respond_to?(:first)
168
+ DEFAULT_POOL_SIZE = open_file_limits.first / 4
169
+ else
170
+ DEFAULT_POOL_SIZE = 256
171
+ end
172
+ else
173
+ DEFAULT_POOL_SIZE = 256
174
+ end
175
+
176
+ ##
177
+ # The version of Gem::Net::HTTP::Persistent you are using
178
+
179
+ VERSION = '4.0.4'
180
+
181
+ ##
182
+ # Error class for errors raised by Gem::Net::HTTP::Persistent. Various
183
+ # SystemCallErrors are re-raised with a human-readable message under this
184
+ # class.
185
+
186
+ class Error < StandardError; end
187
+
188
+ ##
189
+ # Use this method to detect the idle timeout of the host at +uri+. The
190
+ # value returned can be used to configure #idle_timeout. +max+ controls the
191
+ # maximum idle timeout to detect.
192
+ #
193
+ # After
194
+ #
195
+ # Idle timeout detection is performed by creating a connection then
196
+ # performing a HEAD request in a loop until the connection terminates
197
+ # waiting one additional second per loop.
198
+ #
199
+ # NOTE: This may not work on ruby > 1.9.
200
+
201
+ def self.detect_idle_timeout uri, max = 10
202
+ uri = Gem::URI uri unless Gem::URI::Generic === uri
203
+ uri += '/'
204
+
205
+ req = Gem::Net::HTTP::Head.new uri.request_uri
206
+
207
+ http = new 'net-http-persistent detect_idle_timeout'
208
+
209
+ http.connection_for uri do |connection|
210
+ sleep_time = 0
211
+
212
+ http = connection.http
213
+
214
+ loop do
215
+ response = http.request req
216
+
217
+ $stderr.puts "HEAD #{uri} => #{response.code}" if $DEBUG
218
+
219
+ unless Gem::Net::HTTPOK === response then
220
+ raise Error, "bad response code #{response.code} detecting idle timeout"
221
+ end
222
+
223
+ break if sleep_time >= max
224
+
225
+ sleep_time += 1
226
+
227
+ $stderr.puts "sleeping #{sleep_time}" if $DEBUG
228
+ sleep sleep_time
229
+ end
230
+ end
231
+ rescue
232
+ # ignore StandardErrors, we've probably found the idle timeout.
233
+ ensure
234
+ return sleep_time unless $!
235
+ end
236
+
237
+ ##
238
+ # This client's OpenSSL::X509::Certificate
239
+
240
+ attr_reader :certificate
241
+
242
+ ##
243
+ # For Gem::Net::HTTP parity
244
+
245
+ alias cert certificate
246
+
247
+ ##
248
+ # An SSL certificate authority. Setting this will set verify_mode to
249
+ # VERIFY_PEER.
250
+
251
+ attr_reader :ca_file
252
+
253
+ ##
254
+ # A directory of SSL certificates to be used as certificate authorities.
255
+ # Setting this will set verify_mode to VERIFY_PEER.
256
+
257
+ attr_reader :ca_path
258
+
259
+ ##
260
+ # An SSL certificate store. Setting this will override the default
261
+ # certificate store. See verify_mode for more information.
262
+
263
+ attr_reader :cert_store
264
+
265
+ ##
266
+ # The ciphers allowed for SSL connections
267
+
268
+ attr_reader :ciphers
269
+
270
+ ##
271
+ # Sends debug_output to this IO via Gem::Net::HTTP#set_debug_output.
272
+ #
273
+ # Never use this method in production code, it causes a serious security
274
+ # hole.
275
+
276
+ attr_accessor :debug_output
277
+
278
+ ##
279
+ # Current connection generation
280
+
281
+ attr_reader :generation # :nodoc:
282
+
283
+ ##
284
+ # Headers that are added to every request using Gem::Net::HTTP#add_field
285
+
286
+ attr_reader :headers
287
+
288
+ ##
289
+ # Maps host:port to an HTTP version. This allows us to enable version
290
+ # specific features.
291
+
292
+ attr_reader :http_versions
293
+
294
+ ##
295
+ # Maximum time an unused connection can remain idle before being
296
+ # automatically closed.
297
+
298
+ attr_accessor :idle_timeout
299
+
300
+ ##
301
+ # Maximum number of requests on a connection before it is considered expired
302
+ # and automatically closed.
303
+
304
+ attr_accessor :max_requests
305
+
306
+ ##
307
+ # Number of retries to perform if a request fails.
308
+ #
309
+ # See also #max_retries=, Gem::Net::HTTP#max_retries=.
310
+
311
+ attr_reader :max_retries
312
+
313
+ ##
314
+ # The value sent in the Keep-Alive header. Defaults to 30. Not needed for
315
+ # HTTP/1.1 servers.
316
+ #
317
+ # This may not work correctly for HTTP/1.0 servers
318
+ #
319
+ # This method may be removed in a future version as RFC 2616 does not
320
+ # require this header.
321
+
322
+ attr_accessor :keep_alive
323
+
324
+ ##
325
+ # The name for this collection of persistent connections.
326
+
327
+ attr_reader :name
328
+
329
+ ##
330
+ # Seconds to wait until a connection is opened. See Gem::Net::HTTP#open_timeout
331
+
332
+ attr_accessor :open_timeout
333
+
334
+ ##
335
+ # Headers that are added to every request using Gem::Net::HTTP#[]=
336
+
337
+ attr_reader :override_headers
338
+
339
+ ##
340
+ # This client's SSL private key
341
+
342
+ attr_reader :private_key
343
+
344
+ ##
345
+ # For Gem::Net::HTTP parity
346
+
347
+ alias key private_key
348
+
349
+ ##
350
+ # The URL through which requests will be proxied
351
+
352
+ attr_reader :proxy_uri
353
+
354
+ ##
355
+ # List of host suffixes which will not be proxied
356
+
357
+ attr_reader :no_proxy
358
+
359
+ ##
360
+ # Test-only accessor for the connection pool
361
+
362
+ attr_reader :pool # :nodoc:
363
+
364
+ ##
365
+ # Seconds to wait until reading one block. See Gem::Net::HTTP#read_timeout
366
+
367
+ attr_accessor :read_timeout
368
+
369
+ ##
370
+ # Seconds to wait until writing one block. See Gem::Net::HTTP#write_timeout
371
+
372
+ attr_accessor :write_timeout
373
+
374
+ ##
375
+ # By default SSL sessions are reused to avoid extra SSL handshakes. Set
376
+ # this to false if you have problems communicating with an HTTPS server
377
+ # like:
378
+ #
379
+ # SSL_connect [...] read finished A: unexpected message (OpenSSL::SSL::SSLError)
380
+
381
+ attr_accessor :reuse_ssl_sessions
382
+
383
+ ##
384
+ # An array of options for Socket#setsockopt.
385
+ #
386
+ # By default the TCP_NODELAY option is set on sockets.
387
+ #
388
+ # To set additional options append them to this array:
389
+ #
390
+ # http.socket_options << [Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, 1]
391
+
392
+ attr_reader :socket_options
393
+
394
+ ##
395
+ # Current SSL connection generation
396
+
397
+ attr_reader :ssl_generation # :nodoc:
398
+
399
+ ##
400
+ # SSL session lifetime
401
+
402
+ attr_reader :ssl_timeout
403
+
404
+ ##
405
+ # SSL version to use.
406
+ #
407
+ # By default, the version will be negotiated automatically between client
408
+ # and server. Ruby 1.9 and newer only. Deprecated since Ruby 2.5.
409
+
410
+ attr_reader :ssl_version
411
+
412
+ ##
413
+ # Minimum SSL version to use, e.g. :TLS1_1
414
+ #
415
+ # By default, the version will be negotiated automatically between client
416
+ # and server. Ruby 2.5 and newer only.
417
+
418
+ attr_reader :min_version
419
+
420
+ ##
421
+ # Maximum SSL version to use, e.g. :TLS1_2
422
+ #
423
+ # By default, the version will be negotiated automatically between client
424
+ # and server. Ruby 2.5 and newer only.
425
+
426
+ attr_reader :max_version
427
+
428
+ ##
429
+ # Where this instance's last-use times live in the thread local variables
430
+
431
+ attr_reader :timeout_key # :nodoc:
432
+
433
+ ##
434
+ # SSL verification callback. Used when ca_file or ca_path is set.
435
+
436
+ attr_reader :verify_callback
437
+
438
+ ##
439
+ # Sets the depth of SSL certificate verification
440
+
441
+ attr_reader :verify_depth
442
+
443
+ ##
444
+ # HTTPS verify mode. Defaults to OpenSSL::SSL::VERIFY_PEER which verifies
445
+ # the server certificate.
446
+ #
447
+ # If no ca_file, ca_path or cert_store is set the default system certificate
448
+ # store is used.
449
+ #
450
+ # You can use +verify_mode+ to override any default values.
451
+
452
+ attr_reader :verify_mode
453
+
454
+ ##
455
+ # HTTPS verify_hostname.
456
+ #
457
+ # If a client sets this to true and enables SNI with SSLSocket#hostname=,
458
+ # the hostname verification on the server certificate is performed
459
+ # automatically during the handshake using
460
+ # OpenSSL::SSL.verify_certificate_identity().
461
+ #
462
+ # You can set +verify_hostname+ as true to use hostname verification
463
+ # during the handshake.
464
+ #
465
+ # NOTE: This works with Ruby > 3.0.
466
+
467
+ attr_reader :verify_hostname
468
+
469
+ ##
470
+ # Creates a new Gem::Net::HTTP::Persistent.
471
+ #
472
+ # Set a +name+ for fun. Your library name should be good enough, but this
473
+ # otherwise has no purpose.
474
+ #
475
+ # +proxy+ may be set to a Gem::URI::HTTP or :ENV to pick up proxy options from
476
+ # the environment. See proxy_from_env for details.
477
+ #
478
+ # In order to use a Gem::URI for the proxy you may need to do some extra work
479
+ # beyond Gem::URI parsing if the proxy requires a password:
480
+ #
481
+ # proxy = Gem::URI 'http://proxy.example'
482
+ # proxy.user = 'AzureDiamond'
483
+ # proxy.password = 'hunter2'
484
+ #
485
+ # Set +pool_size+ to limit the maximum number of connections allowed.
486
+ # Defaults to 1/4 the number of allowed file handles or 256 if your OS does
487
+ # not support a limit on allowed file handles. You can have no more than
488
+ # this many threads with active HTTP transactions.
489
+
490
+ def initialize name: nil, proxy: nil, pool_size: DEFAULT_POOL_SIZE
491
+ @name = name
492
+
493
+ @debug_output = nil
494
+ @proxy_uri = nil
495
+ @no_proxy = []
496
+ @headers = {}
497
+ @override_headers = {}
498
+ @http_versions = {}
499
+ @keep_alive = 30
500
+ @open_timeout = nil
501
+ @read_timeout = nil
502
+ @write_timeout = nil
503
+ @idle_timeout = 5
504
+ @max_requests = nil
505
+ @max_retries = 1
506
+ @socket_options = []
507
+ @ssl_generation = 0 # incremented when SSL session variables change
508
+
509
+ @socket_options << [Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1] if
510
+ Socket.const_defined? :TCP_NODELAY
511
+
512
+ @pool = Gem::Net::HTTP::Persistent::Pool.new size: pool_size do |http_args|
513
+ Gem::Net::HTTP::Persistent::Connection.new Gem::Net::HTTP, http_args, @ssl_generation
514
+ end
515
+
516
+ @certificate = nil
517
+ @ca_file = nil
518
+ @ca_path = nil
519
+ @ciphers = nil
520
+ @private_key = nil
521
+ @ssl_timeout = nil
522
+ @ssl_version = nil
523
+ @min_version = nil
524
+ @max_version = nil
525
+ @verify_callback = nil
526
+ @verify_depth = nil
527
+ @verify_mode = nil
528
+ @verify_hostname = nil
529
+ @cert_store = nil
530
+
531
+ @generation = 0 # incremented when proxy Gem::URI changes
532
+
533
+ if HAVE_OPENSSL then
534
+ @verify_mode = OpenSSL::SSL::VERIFY_PEER
535
+ @reuse_ssl_sessions = OpenSSL::SSL.const_defined? :Session
536
+ end
537
+
538
+ self.proxy = proxy if proxy
539
+ end
540
+
541
+ ##
542
+ # Sets this client's OpenSSL::X509::Certificate
543
+
544
+ def certificate= certificate
545
+ @certificate = certificate
546
+
547
+ reconnect_ssl
548
+ end
549
+
550
+ # For Gem::Net::HTTP parity
551
+ alias cert= certificate=
552
+
553
+ ##
554
+ # Sets the SSL certificate authority file.
555
+
556
+ def ca_file= file
557
+ @ca_file = file
558
+
559
+ reconnect_ssl
560
+ end
561
+
562
+ ##
563
+ # Sets the SSL certificate authority path.
564
+
565
+ def ca_path= path
566
+ @ca_path = path
567
+
568
+ reconnect_ssl
569
+ end
570
+
571
+ ##
572
+ # Overrides the default SSL certificate store used for verifying
573
+ # connections.
574
+
575
+ def cert_store= store
576
+ @cert_store = store
577
+
578
+ reconnect_ssl
579
+ end
580
+
581
+ ##
582
+ # The ciphers allowed for SSL connections
583
+
584
+ def ciphers= ciphers
585
+ @ciphers = ciphers
586
+
587
+ reconnect_ssl
588
+ end
589
+
590
+ ##
591
+ # Creates a new connection for +uri+
592
+
593
+ def connection_for uri
594
+ use_ssl = uri.scheme.downcase == 'https'
595
+
596
+ net_http_args = [uri.hostname, uri.port]
597
+
598
+ # I'm unsure if uri.host or uri.hostname should be checked against
599
+ # the proxy bypass list.
600
+ if @proxy_uri and not proxy_bypass? uri.host, uri.port then
601
+ net_http_args.concat @proxy_args
602
+ else
603
+ net_http_args.concat [nil, nil, nil, nil]
604
+ end
605
+
606
+ connection = @pool.checkout net_http_args
607
+
608
+ http = connection.http
609
+
610
+ connection.ressl @ssl_generation if
611
+ connection.ssl_generation != @ssl_generation
612
+
613
+ if not http.started? then
614
+ ssl http if use_ssl
615
+ start http
616
+ elsif expired? connection then
617
+ reset connection
618
+ end
619
+
620
+ http.keep_alive_timeout = @idle_timeout if @idle_timeout
621
+ http.max_retries = @max_retries if http.respond_to?(:max_retries=)
622
+ http.read_timeout = @read_timeout if @read_timeout
623
+ http.write_timeout = @write_timeout if
624
+ @write_timeout && http.respond_to?(:write_timeout=)
625
+
626
+ return yield connection
627
+ rescue Errno::ECONNREFUSED
628
+ if http.proxy?
629
+ address = http.proxy_address
630
+ port = http.proxy_port
631
+ else
632
+ address = http.address
633
+ port = http.port
634
+ end
635
+
636
+ raise Error, "connection refused: #{address}:#{port}"
637
+ rescue Errno::EHOSTDOWN
638
+ if http.proxy?
639
+ address = http.proxy_address
640
+ port = http.proxy_port
641
+ else
642
+ address = http.address
643
+ port = http.port
644
+ end
645
+
646
+ raise Error, "host down: #{address}:#{port}"
647
+ ensure
648
+ @pool.checkin net_http_args
649
+ end
650
+
651
+ ##
652
+ # CGI::escape wrapper
653
+
654
+ def escape str
655
+ CGI.escape str if str
656
+ end
657
+
658
+ ##
659
+ # CGI::unescape wrapper
660
+
661
+ def unescape str
662
+ CGI.unescape str if str
663
+ end
664
+
665
+
666
+ ##
667
+ # Returns true if the connection should be reset due to an idle timeout, or
668
+ # maximum request count, false otherwise.
669
+
670
+ def expired? connection
671
+ return true if @max_requests && connection.requests >= @max_requests
672
+ return false unless @idle_timeout
673
+ return true if @idle_timeout.zero?
674
+
675
+ Time.now - connection.last_use > @idle_timeout
676
+ end
677
+
678
+ ##
679
+ # Starts the Gem::Net::HTTP +connection+
680
+
681
+ def start http
682
+ http.set_debug_output @debug_output if @debug_output
683
+ http.open_timeout = @open_timeout if @open_timeout
684
+
685
+ http.start
686
+
687
+ socket = http.instance_variable_get :@socket
688
+
689
+ if socket then # for fakeweb
690
+ @socket_options.each do |option|
691
+ socket.io.setsockopt(*option)
692
+ end
693
+ end
694
+ end
695
+
696
+ ##
697
+ # Finishes the Gem::Net::HTTP +connection+
698
+
699
+ def finish connection
700
+ connection.finish
701
+
702
+ connection.http.instance_variable_set :@last_communicated, nil
703
+ connection.http.instance_variable_set :@ssl_session, nil unless
704
+ @reuse_ssl_sessions
705
+ end
706
+
707
+ ##
708
+ # Returns the HTTP protocol version for +uri+
709
+
710
+ def http_version uri
711
+ @http_versions["#{uri.hostname}:#{uri.port}"]
712
+ end
713
+
714
+ ##
715
+ # Adds "http://" to the String +uri+ if it is missing.
716
+
717
+ def normalize_uri uri
718
+ (uri =~ /^https?:/) ? uri : "http://#{uri}"
719
+ end
720
+
721
+ ##
722
+ # Set the maximum number of retries for a request.
723
+ #
724
+ # Defaults to one retry.
725
+ #
726
+ # Set this to 0 to disable retries.
727
+
728
+ def max_retries= retries
729
+ retries = retries.to_int
730
+
731
+ raise ArgumentError, "max_retries must be positive" if retries < 0
732
+
733
+ @max_retries = retries
734
+
735
+ reconnect
736
+ end
737
+
738
+ ##
739
+ # Sets this client's SSL private key
740
+
741
+ def private_key= key
742
+ @private_key = key
743
+
744
+ reconnect_ssl
745
+ end
746
+
747
+ # For Gem::Net::HTTP parity
748
+ alias key= private_key=
749
+
750
+ ##
751
+ # Sets the proxy server. The +proxy+ may be the Gem::URI of the proxy server,
752
+ # the symbol +:ENV+ which will read the proxy from the environment or nil to
753
+ # disable use of a proxy. See #proxy_from_env for details on setting the
754
+ # proxy from the environment.
755
+ #
756
+ # If the proxy Gem::URI is set after requests have been made, the next request
757
+ # will shut-down and re-open all connections.
758
+ #
759
+ # The +no_proxy+ query parameter can be used to specify hosts which shouldn't
760
+ # be reached via proxy; if set it should be a comma separated list of
761
+ # hostname suffixes, optionally with +:port+ appended, for example
762
+ # <tt>example.com,some.host:8080</tt>.
763
+
764
+ def proxy= proxy
765
+ @proxy_uri = case proxy
766
+ when :ENV then proxy_from_env
767
+ when Gem::URI::HTTP then proxy
768
+ when nil then # ignore
769
+ else raise ArgumentError, 'proxy must be :ENV or a Gem::URI::HTTP'
770
+ end
771
+
772
+ @no_proxy.clear
773
+
774
+ if @proxy_uri then
775
+ @proxy_args = [
776
+ @proxy_uri.hostname,
777
+ @proxy_uri.port,
778
+ unescape(@proxy_uri.user),
779
+ unescape(@proxy_uri.password),
780
+ ]
781
+
782
+ @proxy_connection_id = [nil, *@proxy_args].join ':'
783
+
784
+ if @proxy_uri.query then
785
+ @no_proxy = CGI.parse(@proxy_uri.query)['no_proxy'].join(',').downcase.split(',').map { |x| x.strip }.reject { |x| x.empty? }
786
+ end
787
+ end
788
+
789
+ reconnect
790
+ reconnect_ssl
791
+ end
792
+
793
+ ##
794
+ # Creates a Gem::URI for an HTTP proxy server from ENV variables.
795
+ #
796
+ # If +HTTP_PROXY+ is set a proxy will be returned.
797
+ #
798
+ # If +HTTP_PROXY_USER+ or +HTTP_PROXY_PASS+ are set the Gem::URI is given the
799
+ # indicated user and password unless HTTP_PROXY contains either of these in
800
+ # the Gem::URI.
801
+ #
802
+ # The +NO_PROXY+ ENV variable can be used to specify hosts which shouldn't
803
+ # be reached via proxy; if set it should be a comma separated list of
804
+ # hostname suffixes, optionally with +:port+ appended, for example
805
+ # <tt>example.com,some.host:8080</tt>. When set to <tt>*</tt> no proxy will
806
+ # be returned.
807
+ #
808
+ # For Windows users, lowercase ENV variables are preferred over uppercase ENV
809
+ # variables.
810
+
811
+ def proxy_from_env
812
+ env_proxy = ENV['http_proxy'] || ENV['HTTP_PROXY']
813
+
814
+ return nil if env_proxy.nil? or env_proxy.empty?
815
+
816
+ uri = Gem::URI normalize_uri env_proxy
817
+
818
+ env_no_proxy = ENV['no_proxy'] || ENV['NO_PROXY']
819
+
820
+ # '*' is special case for always bypass
821
+ return nil if env_no_proxy == '*'
822
+
823
+ if env_no_proxy then
824
+ uri.query = "no_proxy=#{escape(env_no_proxy)}"
825
+ end
826
+
827
+ unless uri.user or uri.password then
828
+ uri.user = escape ENV['http_proxy_user'] || ENV['HTTP_PROXY_USER']
829
+ uri.password = escape ENV['http_proxy_pass'] || ENV['HTTP_PROXY_PASS']
830
+ end
831
+
832
+ uri
833
+ end
834
+
835
+ ##
836
+ # Returns true when proxy should by bypassed for host.
837
+
838
+ def proxy_bypass? host, port
839
+ host = host.downcase
840
+ host_port = [host, port].join ':'
841
+
842
+ @no_proxy.each do |name|
843
+ return true if host[-name.length, name.length] == name or
844
+ host_port[-name.length, name.length] == name
845
+ end
846
+
847
+ false
848
+ end
849
+
850
+ ##
851
+ # Forces reconnection of all HTTP connections, including TLS/SSL
852
+ # connections.
853
+
854
+ def reconnect
855
+ @generation += 1
856
+ end
857
+
858
+ ##
859
+ # Forces reconnection of only TLS/SSL connections.
860
+
861
+ def reconnect_ssl
862
+ @ssl_generation += 1
863
+ end
864
+
865
+ ##
866
+ # Finishes then restarts the Gem::Net::HTTP +connection+
867
+
868
+ def reset connection
869
+ http = connection.http
870
+
871
+ finish connection
872
+
873
+ start http
874
+ rescue Errno::ECONNREFUSED
875
+ e = Error.new "connection refused: #{http.address}:#{http.port}"
876
+ e.set_backtrace $@
877
+ raise e
878
+ rescue Errno::EHOSTDOWN
879
+ e = Error.new "host down: #{http.address}:#{http.port}"
880
+ e.set_backtrace $@
881
+ raise e
882
+ end
883
+
884
+ ##
885
+ # Makes a request on +uri+. If +req+ is nil a Gem::Net::HTTP::Get is performed
886
+ # against +uri+.
887
+ #
888
+ # If a block is passed #request behaves like Gem::Net::HTTP#request (the body of
889
+ # the response will not have been read).
890
+ #
891
+ # +req+ must be a Gem::Net::HTTPGenericRequest subclass (see Gem::Net::HTTP for a list).
892
+
893
+ def request uri, req = nil, &block
894
+ uri = Gem::URI uri
895
+ req = request_setup req || uri
896
+ response = nil
897
+
898
+ connection_for uri do |connection|
899
+ http = connection.http
900
+
901
+ begin
902
+ connection.requests += 1
903
+
904
+ response = http.request req, &block
905
+
906
+ if req.connection_close? or
907
+ (response.http_version <= '1.0' and
908
+ not response.connection_keep_alive?) or
909
+ response.connection_close? then
910
+ finish connection
911
+ end
912
+ rescue Exception # make sure to close the connection when it was interrupted
913
+ finish connection
914
+
915
+ raise
916
+ ensure
917
+ connection.last_use = Time.now
918
+ end
919
+ end
920
+
921
+ @http_versions["#{uri.hostname}:#{uri.port}"] ||= response.http_version
922
+
923
+ response
924
+ end
925
+
926
+ ##
927
+ # Creates a GET request if +req_or_uri+ is a Gem::URI and adds headers to the
928
+ # request.
929
+ #
930
+ # Returns the request.
931
+
932
+ def request_setup req_or_uri # :nodoc:
933
+ req = if req_or_uri.respond_to? 'request_uri' then
934
+ Gem::Net::HTTP::Get.new req_or_uri.request_uri
935
+ else
936
+ req_or_uri
937
+ end
938
+
939
+ @headers.each do |pair|
940
+ req.add_field(*pair)
941
+ end
942
+
943
+ @override_headers.each do |name, value|
944
+ req[name] = value
945
+ end
946
+
947
+ unless req['Connection'] then
948
+ req.add_field 'Connection', 'keep-alive'
949
+ req.add_field 'Keep-Alive', @keep_alive
950
+ end
951
+
952
+ req
953
+ end
954
+
955
+ ##
956
+ # Shuts down all connections
957
+ #
958
+ # *NOTE*: Calling shutdown for can be dangerous!
959
+ #
960
+ # If any thread is still using a connection it may cause an error! Call
961
+ # #shutdown when you are completely done making requests!
962
+
963
+ def shutdown
964
+ @pool.shutdown { |http| http.finish }
965
+ end
966
+
967
+ ##
968
+ # Enables SSL on +connection+
969
+
970
+ def ssl connection
971
+ connection.use_ssl = true
972
+
973
+ connection.ciphers = @ciphers if @ciphers
974
+ connection.ssl_timeout = @ssl_timeout if @ssl_timeout
975
+ connection.ssl_version = @ssl_version if @ssl_version
976
+ connection.min_version = @min_version if @min_version
977
+ connection.max_version = @max_version if @max_version
978
+
979
+ connection.verify_depth = @verify_depth
980
+ connection.verify_mode = @verify_mode
981
+ connection.verify_hostname = @verify_hostname if
982
+ @verify_hostname != nil && connection.respond_to?(:verify_hostname=)
983
+
984
+ if OpenSSL::SSL::VERIFY_PEER == OpenSSL::SSL::VERIFY_NONE and
985
+ not Object.const_defined?(:I_KNOW_THAT_OPENSSL_VERIFY_PEER_EQUALS_VERIFY_NONE_IS_WRONG) then
986
+ warn <<-WARNING
987
+ !!!SECURITY WARNING!!!
988
+
989
+ The SSL HTTP connection to:
990
+
991
+ #{connection.address}:#{connection.port}
992
+
993
+ !!!MAY NOT BE VERIFIED!!!
994
+
995
+ On your platform your OpenSSL implementation is broken.
996
+
997
+ There is no difference between the values of VERIFY_NONE and VERIFY_PEER.
998
+
999
+ This means that attempting to verify the security of SSL connections may not
1000
+ work. This exposes you to man-in-the-middle exploits, snooping on the
1001
+ contents of your connection and other dangers to the security of your data.
1002
+
1003
+ To disable this warning define the following constant at top-level in your
1004
+ application:
1005
+
1006
+ I_KNOW_THAT_OPENSSL_VERIFY_PEER_EQUALS_VERIFY_NONE_IS_WRONG = nil
1007
+
1008
+ WARNING
1009
+ end
1010
+
1011
+ connection.ca_file = @ca_file if @ca_file
1012
+ connection.ca_path = @ca_path if @ca_path
1013
+
1014
+ if @ca_file or @ca_path then
1015
+ connection.verify_mode = OpenSSL::SSL::VERIFY_PEER
1016
+ connection.verify_callback = @verify_callback if @verify_callback
1017
+ end
1018
+
1019
+ if @certificate and @private_key then
1020
+ connection.cert = @certificate
1021
+ connection.key = @private_key
1022
+ end
1023
+
1024
+ connection.cert_store = if @cert_store then
1025
+ @cert_store
1026
+ else
1027
+ store = OpenSSL::X509::Store.new
1028
+ store.set_default_paths
1029
+ store
1030
+ end
1031
+ end
1032
+
1033
+ ##
1034
+ # SSL session lifetime
1035
+
1036
+ def ssl_timeout= ssl_timeout
1037
+ @ssl_timeout = ssl_timeout
1038
+
1039
+ reconnect_ssl
1040
+ end
1041
+
1042
+ ##
1043
+ # SSL version to use
1044
+
1045
+ def ssl_version= ssl_version
1046
+ @ssl_version = ssl_version
1047
+
1048
+ reconnect_ssl
1049
+ end
1050
+
1051
+ ##
1052
+ # Minimum SSL version to use
1053
+
1054
+ def min_version= min_version
1055
+ @min_version = min_version
1056
+
1057
+ reconnect_ssl
1058
+ end
1059
+
1060
+ ##
1061
+ # maximum SSL version to use
1062
+
1063
+ def max_version= max_version
1064
+ @max_version = max_version
1065
+
1066
+ reconnect_ssl
1067
+ end
1068
+
1069
+ ##
1070
+ # Sets the depth of SSL certificate verification
1071
+
1072
+ def verify_depth= verify_depth
1073
+ @verify_depth = verify_depth
1074
+
1075
+ reconnect_ssl
1076
+ end
1077
+
1078
+ ##
1079
+ # Sets the HTTPS verify mode. Defaults to OpenSSL::SSL::VERIFY_PEER.
1080
+ #
1081
+ # Setting this to VERIFY_NONE is a VERY BAD IDEA and should NEVER be used.
1082
+ # Securely transfer the correct certificate and update the default
1083
+ # certificate store or set the ca file instead.
1084
+
1085
+ def verify_mode= verify_mode
1086
+ @verify_mode = verify_mode
1087
+
1088
+ reconnect_ssl
1089
+ end
1090
+
1091
+ ##
1092
+ # Sets the HTTPS verify_hostname.
1093
+
1094
+ def verify_hostname= verify_hostname
1095
+ @verify_hostname = verify_hostname
1096
+
1097
+ reconnect_ssl
1098
+ end
1099
+
1100
+ ##
1101
+ # SSL verification callback.
1102
+
1103
+ def verify_callback= callback
1104
+ @verify_callback = callback
1105
+
1106
+ reconnect_ssl
1107
+ end
1108
+ end
1109
+
1110
+ require_relative 'persistent/connection'
1111
+ require_relative 'persistent/pool'