mountapi 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1394) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +112 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +42 -0
  5. data/README.md +404 -0
  6. data/Rakefile +9 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/lib/mountapi/adapters/user_info_adapter.rb +23 -0
  10. data/lib/mountapi/config.rb +25 -0
  11. data/lib/mountapi/doc_rack_app.rb +29 -0
  12. data/lib/mountapi/error/forbidden.rb +26 -0
  13. data/lib/mountapi/error/handler_missing.rb +23 -0
  14. data/lib/mountapi/error/invalid_parameter.rb +26 -0
  15. data/lib/mountapi/error/invalid_response.rb +25 -0
  16. data/lib/mountapi/error/missing_response_status.rb +9 -0
  17. data/lib/mountapi/error/route_not_found.rb +24 -0
  18. data/lib/mountapi/error.rb +6 -0
  19. data/lib/mountapi/handler/behaviour.rb +99 -0
  20. data/lib/mountapi/handler/registry.rb +19 -0
  21. data/lib/mountapi/open_api/document.rb +26 -0
  22. data/lib/mountapi/open_api/operation.rb +62 -0
  23. data/lib/mountapi/open_api/path.rb +33 -0
  24. data/lib/mountapi/open_api.rb +12 -0
  25. data/lib/mountapi/rack_app.rb +74 -0
  26. data/lib/mountapi/railtie.rb +9 -0
  27. data/lib/mountapi/request/param_parser.rb +39 -0
  28. data/lib/mountapi/request/parameters.rb +17 -0
  29. data/lib/mountapi/request.rb +45 -0
  30. data/lib/mountapi/response/bad_request.rb +20 -0
  31. data/lib/mountapi/response/base.rb +56 -0
  32. data/lib/mountapi/response/forbidden.rb +21 -0
  33. data/lib/mountapi/response/internal_error.rb +20 -0
  34. data/lib/mountapi/response/not_found.rb +20 -0
  35. data/lib/mountapi/response/ok.rb +16 -0
  36. data/lib/mountapi/response.rb +13 -0
  37. data/lib/mountapi/route/handler.rb +29 -0
  38. data/lib/mountapi/route/method.rb +21 -0
  39. data/lib/mountapi/route/parameter.rb +42 -0
  40. data/lib/mountapi/route/parameters.rb +89 -0
  41. data/lib/mountapi/route/path.rb +66 -0
  42. data/lib/mountapi/route/response/json-api.json +383 -0
  43. data/lib/mountapi/route/response.rb +32 -0
  44. data/lib/mountapi/route/responses.rb +25 -0
  45. data/lib/mountapi/route.rb +81 -0
  46. data/lib/mountapi/router.rb +73 -0
  47. data/lib/mountapi/schema/array.rb +29 -0
  48. data/lib/mountapi/schema/base.rb +65 -0
  49. data/lib/mountapi/schema/boolean.rb +20 -0
  50. data/lib/mountapi/schema/integer.rb +17 -0
  51. data/lib/mountapi/schema/number.rb +17 -0
  52. data/lib/mountapi/schema/object.rb +37 -0
  53. data/lib/mountapi/schema/string.rb +16 -0
  54. data/lib/mountapi/schema/validator.rb +10 -0
  55. data/lib/mountapi/schema.rb +31 -0
  56. data/lib/mountapi/templates/list.html.erb +74 -0
  57. data/lib/mountapi/templates/redoc.html.erb +24 -0
  58. data/lib/mountapi/version.rb +3 -0
  59. data/lib/mountapi.rb +65 -0
  60. data/lib/tasks/routes.rake +17 -0
  61. data/mountapi-0.11.0.gem +0 -0
  62. data/mountapi.gemspec +48 -0
  63. data/pkg/mountapi-0.11.0.gem +0 -0
  64. data/vendor/bundle/ruby/2.7.0/bin/byebug +27 -0
  65. data/vendor/bundle/ruby/2.7.0/bin/commonmarker +27 -0
  66. data/vendor/bundle/ruby/2.7.0/bin/rack-app +27 -0
  67. data/vendor/bundle/ruby/2.7.0/bin/rackup +27 -0
  68. data/vendor/bundle/ruby/2.7.0/bin/rake +27 -0
  69. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/CHANGELOG.md +75 -0
  70. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/CONTRIBUTING.md +7 -0
  71. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/CONTRIBUTORS.md +35 -0
  72. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/Gemfile +19 -0
  73. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/LICENSE.md +19 -0
  74. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/README.md +496 -0
  75. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/Rakefile +68 -0
  76. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/VERSION.yml +3 -0
  77. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/json-schema.gemspec +40 -0
  78. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attribute.rb +57 -0
  79. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/additionalitems.rb +28 -0
  80. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/additionalproperties.rb +58 -0
  81. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/allof.rb +39 -0
  82. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/anyof.rb +47 -0
  83. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/dependencies.rb +38 -0
  84. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/dependencies_v4.rb +11 -0
  85. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/disallow.rb +12 -0
  86. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/divisibleby.rb +22 -0
  87. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/enum.rb +24 -0
  88. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/extends.rb +48 -0
  89. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/format.rb +14 -0
  90. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/custom.rb +21 -0
  91. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/date.rb +25 -0
  92. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/date_time.rb +34 -0
  93. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/date_time_v4.rb +15 -0
  94. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/ip.rb +41 -0
  95. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/time.rb +22 -0
  96. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/uri.rb +18 -0
  97. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/items.rb +27 -0
  98. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limit.rb +52 -0
  99. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/items.rb +15 -0
  100. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/length.rb +15 -0
  101. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/max_items.rb +15 -0
  102. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/max_length.rb +15 -0
  103. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/max_properties.rb +15 -0
  104. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/maximum.rb +15 -0
  105. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/maximum_inclusive.rb +11 -0
  106. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/min_items.rb +15 -0
  107. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/min_length.rb +15 -0
  108. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/min_properties.rb +15 -0
  109. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/minimum.rb +15 -0
  110. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/minimum_inclusive.rb +11 -0
  111. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/numeric.rb +16 -0
  112. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/properties.rb +15 -0
  113. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/maxdecimal.rb +18 -0
  114. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/multipleof.rb +11 -0
  115. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/not.rb +30 -0
  116. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/oneof.rb +56 -0
  117. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/pattern.rb +18 -0
  118. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/patternproperties.rb +22 -0
  119. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/properties.rb +66 -0
  120. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/properties_optional.rb +26 -0
  121. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/properties_v4.rb +13 -0
  122. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/ref.rb +61 -0
  123. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/required.rb +28 -0
  124. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/type.rb +73 -0
  125. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/type_v4.rb +29 -0
  126. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/uniqueitems.rb +20 -0
  127. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/custom_format_error.rb +6 -0
  128. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/json_load_error.rb +6 -0
  129. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/json_parse_error.rb +6 -0
  130. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/schema_error.rb +6 -0
  131. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/schema_parse_error.rb +8 -0
  132. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/uri_error.rb +6 -0
  133. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/validation_error.rb +46 -0
  134. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/schema/reader.rb +140 -0
  135. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/schema/validator.rb +40 -0
  136. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/schema.rb +62 -0
  137. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/util/array_set.rb +20 -0
  138. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/util/uri.rb +110 -0
  139. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/util/uuid.rb +284 -0
  140. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validator.rb +609 -0
  141. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft1.rb +45 -0
  142. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft2.rb +46 -0
  143. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft3.rb +50 -0
  144. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft4.rb +56 -0
  145. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft6.rb +56 -0
  146. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft1.rb +13 -0
  147. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft2.rb +13 -0
  148. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft3.rb +13 -0
  149. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft4.rb +13 -0
  150. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft6.rb +13 -0
  151. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema.rb +18 -0
  152. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-01.json +155 -0
  153. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-02.json +166 -0
  154. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-03.json +174 -0
  155. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-04.json +150 -0
  156. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-06.json +150 -0
  157. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/all_of_ref_schema_test.rb +35 -0
  158. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/any_of_ref_schema_test.rb +35 -0
  159. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/bad_schema_ref_test.rb +49 -0
  160. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/caching_test.rb +57 -0
  161. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/common_test_suite_test.rb +56 -0
  162. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/custom_format_test.rb +122 -0
  163. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/all_of_ref_data.json +3 -0
  164. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/any_of_ref_data.json +7 -0
  165. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/bad_data_1.json +3 -0
  166. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/good_data_1.json +3 -0
  167. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/one_of_ref_links_data.json +5 -0
  168. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft1_test.rb +140 -0
  169. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft2_test.rb +112 -0
  170. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft3_test.rb +449 -0
  171. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft4_test.rb +687 -0
  172. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/extended_schema_test.rb +62 -0
  173. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/extends_nested_test.rb +41 -0
  174. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/files_test.rb +53 -0
  175. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/fragment_resolution_test.rb +83 -0
  176. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/fragment_validation_with_ref_test.rb +67 -0
  177. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/full_validation_test.rb +203 -0
  178. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/initialize_data_test.rb +154 -0
  179. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/list_option_test.rb +21 -0
  180. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/load_ref_schema_test.rb +45 -0
  181. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/merge_missing_values_test.rb +45 -0
  182. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/min_items_test.rb +16 -0
  183. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/one_of_test.rb +85 -0
  184. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/relative_definition_test.rb +19 -0
  185. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/ruby_schema_test.rb +65 -0
  186. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schema_reader_test.rb +78 -0
  187. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schema_validation_test.rb +185 -0
  188. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/address_microformat.json +18 -0
  189. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/all_of_ref_base_schema.json +6 -0
  190. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/all_of_ref_schema.json +7 -0
  191. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_jane_schema.json +4 -0
  192. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_jimmy_schema.json +4 -0
  193. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_john_schema.json +4 -0
  194. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_schema.json +15 -0
  195. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/definition_schema.json +15 -0
  196. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/definition_schema_with_special_characters.json +14 -0
  197. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/extends_and_additionalProperties_false_schema.json +29 -0
  198. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/extends_and_patternProperties_schema.json +28 -0
  199. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_1.json +9 -0
  200. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_2.json +9 -0
  201. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_extends1.json +8 -0
  202. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_extends2.json +11 -0
  203. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/inner_schema.json +17 -0
  204. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/one_of_ref_links_schema.json +16 -0
  205. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/ref john with spaces schema.json +11 -0
  206. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/relative_definition_schema.json +8 -0
  207. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/self_link_schema.json +17 -0
  208. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/up_link_schema.json +17 -0
  209. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/stringify_test.rb +48 -0
  210. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/array_validation.rb +112 -0
  211. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/enum_validation.rb +133 -0
  212. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/number_validation.rb +82 -0
  213. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/object_validation.rb +68 -0
  214. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/strict_validation.rb +88 -0
  215. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/string_validation.rb +154 -0
  216. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/test_helper.rb +70 -0
  217. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/test_suite_ignored_tests.yml +109 -0
  218. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/type_validation.rb +81 -0
  219. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/type_attribute_test.rb +20 -0
  220. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/uri_parsing_test.rb +67 -0
  221. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/uri_util_test.rb +206 -0
  222. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/validator_schema_reader_test.rb +55 -0
  223. data/vendor/bundle/ruby/2.7.0/cache/addressable-2.8.0.gem +0 -0
  224. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/HEAD +1 -0
  225. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/config +8 -0
  226. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/description +1 -0
  227. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/applypatch-msg.sample +15 -0
  228. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/commit-msg.sample +24 -0
  229. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/fsmonitor-watchman.sample +173 -0
  230. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/post-update.sample +8 -0
  231. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-applypatch.sample +14 -0
  232. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-commit.sample +49 -0
  233. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-merge-commit.sample +13 -0
  234. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-push.sample +53 -0
  235. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-rebase.sample +169 -0
  236. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-receive.sample +24 -0
  237. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/prepare-commit-msg.sample +42 -0
  238. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/push-to-checkout.sample +78 -0
  239. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/update.sample +128 -0
  240. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/info/exclude +6 -0
  241. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/objects/pack/pack-eaf964bf8d486c1c08bd1ea2d0d48e8248d7b4d6.idx +0 -0
  242. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/objects/pack/pack-eaf964bf8d486c1c08bd1ea2d0d48e8248d7b4d6.pack +0 -0
  243. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/packed-refs +98 -0
  244. data/vendor/bundle/ruby/2.7.0/cache/byebug-10.0.2.gem +0 -0
  245. data/vendor/bundle/ruby/2.7.0/cache/commonmarker-0.23.2.gem +0 -0
  246. data/vendor/bundle/ruby/2.7.0/cache/minitest-5.11.3.gem +0 -0
  247. data/vendor/bundle/ruby/2.7.0/cache/openapi3_parser-0.9.1.gem +0 -0
  248. data/vendor/bundle/ruby/2.7.0/cache/psych-3.3.2.gem +0 -0
  249. data/vendor/bundle/ruby/2.7.0/cache/public_suffix-4.0.6.gem +0 -0
  250. data/vendor/bundle/ruby/2.7.0/cache/rack-2.0.5.gem +0 -0
  251. data/vendor/bundle/ruby/2.7.0/cache/rack-app-7.7.0.gem +0 -0
  252. data/vendor/bundle/ruby/2.7.0/cache/rack-test-1.1.0.gem +0 -0
  253. data/vendor/bundle/ruby/2.7.0/cache/rake-13.0.1.gem +0 -0
  254. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/byebug-10.0.2/byebug/byebug.bundle +0 -0
  255. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/byebug-10.0.2/gem.build_complete +0 -0
  256. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/byebug-10.0.2/gem_make.out +51 -0
  257. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/commonmarker-0.23.2/commonmarker/commonmarker.bundle +0 -0
  258. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/commonmarker-0.23.2/gem.build_complete +0 -0
  259. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/commonmarker-0.23.2/gem_make.out +58 -0
  260. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/gem.build_complete +0 -0
  261. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/gem_make.out +21 -0
  262. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/mkmf.log +70 -0
  263. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/psych.bundle +0 -0
  264. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/CHANGELOG.md +246 -0
  265. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/Gemfile +28 -0
  266. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/LICENSE.txt +202 -0
  267. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/README.md +121 -0
  268. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/Rakefile +34 -0
  269. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/addressable.gemspec +37 -0
  270. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/data/unicode.data +0 -0
  271. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/idna/native.rb +61 -0
  272. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/idna/pure.rb +678 -0
  273. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/idna.rb +27 -0
  274. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/template.rb +1031 -0
  275. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/uri.rb +2556 -0
  276. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/version.rb +32 -0
  277. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable.rb +4 -0
  278. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/idna_spec.rb +302 -0
  279. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/net_http_compat_spec.rb +30 -0
  280. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/security_spec.rb +59 -0
  281. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/template_spec.rb +1460 -0
  282. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/uri_spec.rb +6665 -0
  283. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/spec_helper.rb +33 -0
  284. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/clobber.rake +4 -0
  285. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/gem.rake +92 -0
  286. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/git.rake +47 -0
  287. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/metrics.rake +24 -0
  288. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/profile.rake +72 -0
  289. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/rspec.rake +23 -0
  290. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/yard.rake +29 -0
  291. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/CHANGELOG.md +856 -0
  292. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/CONTRIBUTING.md +86 -0
  293. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/GUIDE.md +1805 -0
  294. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/LICENSE +23 -0
  295. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/README.md +195 -0
  296. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/exe/byebug +6 -0
  297. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/Makefile +267 -0
  298. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/breakpoint.c +517 -0
  299. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/breakpoint.o +0 -0
  300. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.bundle +0 -0
  301. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.c +905 -0
  302. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.h +143 -0
  303. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.o +0 -0
  304. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/context.c +673 -0
  305. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/context.o +0 -0
  306. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/extconf.rb +12 -0
  307. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/locker.c +96 -0
  308. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/locker.o +0 -0
  309. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/threads.c +230 -0
  310. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/threads.o +0 -0
  311. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/attacher.rb +48 -0
  312. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/breakpoint.rb +111 -0
  313. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/byebug.bundle +0 -0
  314. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/command.rb +111 -0
  315. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/command_list.rb +34 -0
  316. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/break.rb +116 -0
  317. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/catch.rb +82 -0
  318. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/condition.rb +57 -0
  319. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/continue.rb +50 -0
  320. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/debug.rb +38 -0
  321. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/delete.rb +57 -0
  322. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/disable/breakpoints.rb +42 -0
  323. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/disable/display.rb +43 -0
  324. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/disable.rb +33 -0
  325. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/display.rb +66 -0
  326. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/down.rb +45 -0
  327. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/edit.rb +68 -0
  328. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/enable/breakpoints.rb +42 -0
  329. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/enable/display.rb +43 -0
  330. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/enable.rb +33 -0
  331. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/finish.rb +57 -0
  332. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/frame.rb +57 -0
  333. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/help.rb +64 -0
  334. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/history.rb +39 -0
  335. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/breakpoints.rb +67 -0
  336. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/display.rb +51 -0
  337. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/file.rb +82 -0
  338. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/line.rb +35 -0
  339. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/program.rb +49 -0
  340. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info.rb +37 -0
  341. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/interrupt.rb +34 -0
  342. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/irb.rb +52 -0
  343. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/kill.rb +47 -0
  344. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/list.rb +159 -0
  345. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/method.rb +53 -0
  346. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/next.rb +40 -0
  347. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/pry.rb +43 -0
  348. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/quit.rb +42 -0
  349. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/restart.rb +64 -0
  350. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/save.rb +72 -0
  351. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/set.rb +79 -0
  352. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/show.rb +45 -0
  353. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/source.rb +42 -0
  354. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/step.rb +40 -0
  355. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/current.rb +37 -0
  356. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/list.rb +43 -0
  357. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/resume.rb +47 -0
  358. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/stop.rb +43 -0
  359. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/switch.rb +46 -0
  360. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread.rb +34 -0
  361. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/tracevar.rb +57 -0
  362. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/undisplay.rb +52 -0
  363. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/untracevar.rb +36 -0
  364. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/up.rb +45 -0
  365. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/all.rb +41 -0
  366. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/args.rb +39 -0
  367. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/const.rb +51 -0
  368. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/global.rb +37 -0
  369. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/instance.rb +39 -0
  370. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/local.rb +39 -0
  371. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var.rb +37 -0
  372. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/where.rb +53 -0
  373. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands.rb +39 -0
  374. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/context.rb +157 -0
  375. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/core.rb +114 -0
  376. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/errors.rb +29 -0
  377. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/frame.rb +185 -0
  378. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/bin.rb +47 -0
  379. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/eval.rb +126 -0
  380. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/file.rb +63 -0
  381. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/frame.rb +75 -0
  382. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/parse.rb +77 -0
  383. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/path.rb +40 -0
  384. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/reflection.rb +19 -0
  385. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/string.rb +36 -0
  386. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/thread.rb +67 -0
  387. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/toggle.rb +64 -0
  388. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/var.rb +54 -0
  389. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/history.rb +130 -0
  390. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interface.rb +146 -0
  391. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/local_interface.rb +44 -0
  392. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/remote_interface.rb +50 -0
  393. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/script_interface.rb +32 -0
  394. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/test_interface.rb +67 -0
  395. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/option_setter.rb +95 -0
  396. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/base.rb +69 -0
  397. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/plain.rb +44 -0
  398. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/texts/base.yml +115 -0
  399. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/texts/plain.yml +33 -0
  400. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/command_processor.rb +173 -0
  401. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/control_processor.rb +24 -0
  402. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/post_mortem_processor.rb +18 -0
  403. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/script_processor.rb +49 -0
  404. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/remote/client.rb +55 -0
  405. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/remote/server.rb +47 -0
  406. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/remote.rb +85 -0
  407. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/runner.rb +198 -0
  408. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/setting.rb +79 -0
  409. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autoirb.rb +29 -0
  410. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autolist.rb +29 -0
  411. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autopry.rb +29 -0
  412. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autosave.rb +17 -0
  413. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/basename.rb +16 -0
  414. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/callstyle.rb +20 -0
  415. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/fullpath.rb +16 -0
  416. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/histfile.rb +20 -0
  417. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/histsize.rb +20 -0
  418. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/linetrace.rb +22 -0
  419. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/listsize.rb +21 -0
  420. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/post_mortem.rb +27 -0
  421. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/savefile.rb +20 -0
  422. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/stack_on_error.rb +15 -0
  423. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/width.rb +20 -0
  424. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/source_file_formatter.rb +71 -0
  425. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/subcommands.rb +54 -0
  426. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/version.rb +8 -0
  427. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug.rb +3 -0
  428. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/LICENSE.txt +22 -0
  429. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/README.md +288 -0
  430. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/Rakefile +108 -0
  431. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/bin/commonmarker +123 -0
  432. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/commonmarker.gemspec +37 -0
  433. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/Makefile +267 -0
  434. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/arena.c +103 -0
  435. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/arena.o +0 -0
  436. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/autolink.c +425 -0
  437. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/autolink.h +8 -0
  438. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/autolink.o +0 -0
  439. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/blocks.c +1596 -0
  440. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/blocks.o +0 -0
  441. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/buffer.c +278 -0
  442. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/buffer.h +116 -0
  443. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/buffer.o +0 -0
  444. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/case_fold_switch.inc +4327 -0
  445. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/chunk.h +135 -0
  446. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm-core-extensions.h +54 -0
  447. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm-extension_api.h +736 -0
  448. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm-extensions_export.h +42 -0
  449. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm.h +817 -0
  450. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm_export.h +42 -0
  451. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm_version.h +7 -0
  452. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark.c +55 -0
  453. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark.o +0 -0
  454. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark_ctype.c +44 -0
  455. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark_ctype.h +33 -0
  456. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark_ctype.o +0 -0
  457. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmark.c +529 -0
  458. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmark.o +0 -0
  459. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.bundle +0 -0
  460. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.c +1321 -0
  461. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.h +16 -0
  462. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.o +0 -0
  463. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/config.h +76 -0
  464. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/core-extensions.c +27 -0
  465. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/core-extensions.o +0 -0
  466. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/entities.inc +2138 -0
  467. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/ext_scanners.c +879 -0
  468. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/ext_scanners.h +24 -0
  469. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/ext_scanners.o +0 -0
  470. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/extconf.rb +7 -0
  471. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/footnotes.c +63 -0
  472. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/footnotes.h +27 -0
  473. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/footnotes.o +0 -0
  474. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini.h +57 -0
  475. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_href_e.c +100 -0
  476. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_href_e.o +0 -0
  477. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_e.c +66 -0
  478. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_e.o +0 -0
  479. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_u.c +149 -0
  480. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_u.o +0 -0
  481. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/html.c +486 -0
  482. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/html.h +27 -0
  483. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/html.o +0 -0
  484. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/inlines.c +1691 -0
  485. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/inlines.h +29 -0
  486. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/inlines.o +0 -0
  487. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/iterator.c +159 -0
  488. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/iterator.h +26 -0
  489. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/iterator.o +0 -0
  490. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/latex.c +466 -0
  491. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/latex.o +0 -0
  492. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/linked_list.c +37 -0
  493. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/linked_list.o +0 -0
  494. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/man.c +278 -0
  495. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/man.o +0 -0
  496. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/map.c +122 -0
  497. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/map.h +41 -0
  498. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/map.o +0 -0
  499. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/node.c +979 -0
  500. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/node.h +125 -0
  501. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/node.o +0 -0
  502. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/parser.h +58 -0
  503. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plaintext.c +235 -0
  504. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plaintext.o +0 -0
  505. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plugin.c +36 -0
  506. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plugin.h +34 -0
  507. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plugin.o +0 -0
  508. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/references.c +42 -0
  509. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/references.h +26 -0
  510. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/references.o +0 -0
  511. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/registry.c +63 -0
  512. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/registry.h +24 -0
  513. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/registry.o +0 -0
  514. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/render.c +205 -0
  515. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/render.h +62 -0
  516. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/render.o +0 -0
  517. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.c +10520 -0
  518. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.h +62 -0
  519. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.o +0 -0
  520. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.re +341 -0
  521. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/strikethrough.c +167 -0
  522. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/strikethrough.h +9 -0
  523. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/strikethrough.o +0 -0
  524. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/syntax_extension.c +149 -0
  525. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/syntax_extension.h +34 -0
  526. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/syntax_extension.o +0 -0
  527. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/table.c +822 -0
  528. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/table.h +12 -0
  529. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/table.o +0 -0
  530. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tagfilter.c +60 -0
  531. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tagfilter.h +8 -0
  532. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tagfilter.o +0 -0
  533. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tasklist.c +156 -0
  534. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tasklist.h +8 -0
  535. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tasklist.o +0 -0
  536. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/utf8.c +317 -0
  537. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/utf8.h +35 -0
  538. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/utf8.o +0 -0
  539. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/xml.c +181 -0
  540. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/xml.o +0 -0
  541. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/commonmarker.bundle +0 -0
  542. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/config.rb +52 -0
  543. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/errors.rb +12 -0
  544. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/node/inspect.rb +57 -0
  545. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/node.rb +83 -0
  546. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/renderer/html_renderer.rb +252 -0
  547. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/renderer.rb +135 -0
  548. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/version.rb +5 -0
  549. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker.rb +45 -0
  550. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/benchmark.rb +32 -0
  551. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/curly.md +1 -0
  552. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/dingus.md +10 -0
  553. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/strong.md +1 -0
  554. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/table.md +10 -0
  555. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_attributes.rb +24 -0
  556. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_basics.rb +35 -0
  557. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_commands.rb +72 -0
  558. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_commonmark.rb +36 -0
  559. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_doc.rb +130 -0
  560. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_encoding.rb +23 -0
  561. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_extensions.rb +116 -0
  562. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_footnotes.rb +60 -0
  563. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_gc.rb +47 -0
  564. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_helper.rb +71 -0
  565. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_linebreaks.rb +15 -0
  566. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_maliciousness.rb +262 -0
  567. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_node.rb +89 -0
  568. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_options.rb +37 -0
  569. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_pathological_inputs.rb +94 -0
  570. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_plaintext.rb +46 -0
  571. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_renderer.rb +47 -0
  572. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_smartpunct.rb +27 -0
  573. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_spec.rb +30 -0
  574. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_tasklists.rb +43 -0
  575. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_xml.rb +107 -0
  576. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/History.rdoc +1310 -0
  577. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/Manifest.txt +26 -0
  578. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/README.rdoc +746 -0
  579. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/Rakefile +86 -0
  580. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/design_rationale.rb +52 -0
  581. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/hoe/minitest.rb +32 -0
  582. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/assertions.rb +693 -0
  583. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/autorun.rb +13 -0
  584. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/benchmark.rb +455 -0
  585. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/expectations.rb +284 -0
  586. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/hell.rb +11 -0
  587. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/mock.rb +240 -0
  588. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/parallel.rb +70 -0
  589. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/pride.rb +4 -0
  590. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/pride_plugin.rb +142 -0
  591. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/spec.rb +331 -0
  592. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/test.rb +220 -0
  593. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/unit.rb +45 -0
  594. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest.rb +987 -0
  595. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/metametameta.rb +102 -0
  596. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_benchmark.rb +137 -0
  597. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_mock.rb +874 -0
  598. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_reporter.rb +299 -0
  599. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_spec.rb +987 -0
  600. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_test.rb +2142 -0
  601. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/CHANGELOG.md +95 -0
  602. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/Gemfile +5 -0
  603. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/LICENCE +19 -0
  604. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/README.md +139 -0
  605. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/Rakefile +10 -0
  606. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/TODO.md +41 -0
  607. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/array_sentence.rb +13 -0
  608. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/cautious_dig.rb +39 -0
  609. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/document/reference_registry.rb +72 -0
  610. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/document.rb +217 -0
  611. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/error.rb +50 -0
  612. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/markdown.rb +15 -0
  613. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/array.rb +61 -0
  614. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/callback.rb +10 -0
  615. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/components.rb +55 -0
  616. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/contact.rb +25 -0
  617. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/context.rb +159 -0
  618. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/discriminator.rb +20 -0
  619. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/encoding.rb +35 -0
  620. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/example.rb +35 -0
  621. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/external_documentation.rb +25 -0
  622. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/header.rb +13 -0
  623. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/info.rb +45 -0
  624. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/license.rb +20 -0
  625. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/link.rb +45 -0
  626. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/map.rb +89 -0
  627. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/media_type.rb +30 -0
  628. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/oauth_flow.rb +30 -0
  629. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/oauth_flows.rb +30 -0
  630. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/object.rb +105 -0
  631. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/openapi.rb +51 -0
  632. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/operation.rb +83 -0
  633. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/parameter.rb +23 -0
  634. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/parameter_like.rb +70 -0
  635. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/path_item.rb +83 -0
  636. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/paths.rb +10 -0
  637. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/placeholder.rb +54 -0
  638. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/request_body.rb +30 -0
  639. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/response.rb +35 -0
  640. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/responses.rb +15 -0
  641. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/schema.rb +248 -0
  642. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/security_requirement.rb +10 -0
  643. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/security_scheme.rb +55 -0
  644. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/server.rb +30 -0
  645. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/server_variable.rb +30 -0
  646. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/tag.rb +30 -0
  647. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/xml.rb +35 -0
  648. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/array.rb +202 -0
  649. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/callback.rb +21 -0
  650. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/components.rb +74 -0
  651. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/contact.rb +28 -0
  652. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/context.rb +118 -0
  653. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/discriminator.rb +31 -0
  654. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/encoding.rb +32 -0
  655. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/example.rb +28 -0
  656. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/external_documentation.rb +25 -0
  657. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/field.rb +125 -0
  658. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/fields/reference.rb +101 -0
  659. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/header.rb +34 -0
  660. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/info.rb +29 -0
  661. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/license.rb +23 -0
  662. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/link.rb +37 -0
  663. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/map.rb +221 -0
  664. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/media_type.rb +71 -0
  665. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/oauth_flow.rb +21 -0
  666. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/oauth_flows.rb +26 -0
  667. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object.rb +115 -0
  668. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/dsl.rb +56 -0
  669. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/field_config.rb +87 -0
  670. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/node_builder.rb +84 -0
  671. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/validator.rb +169 -0
  672. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/openapi.rb +62 -0
  673. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/operation.rb +86 -0
  674. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/optional_reference.rb +29 -0
  675. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/parameter.rb +61 -0
  676. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/parameter_like.rb +36 -0
  677. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/path_item.rb +103 -0
  678. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/paths.rb +71 -0
  679. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/reference.rb +60 -0
  680. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/request_body.rb +48 -0
  681. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/response.rb +53 -0
  682. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/responses.rb +47 -0
  683. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/schema.rb +129 -0
  684. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/security_requirement.rb +19 -0
  685. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/security_scheme.rb +30 -0
  686. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/server.rb +27 -0
  687. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/server_variable.rb +33 -0
  688. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/tag.rb +21 -0
  689. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/type_checker.rb +106 -0
  690. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/xml.rb +26 -0
  691. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory.rb +7 -0
  692. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/location.rb +54 -0
  693. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/pointer.rb +103 -0
  694. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/reference.rb +67 -0
  695. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/resolved_reference.rb +63 -0
  696. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source.rb +137 -0
  697. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/file.rb +101 -0
  698. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/raw.rb +91 -0
  699. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/resolve_next.rb +60 -0
  700. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/string_parser.rb +44 -0
  701. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/url.rb +122 -0
  702. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input.rb +69 -0
  703. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/error.rb +58 -0
  704. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/error_collection.rb +78 -0
  705. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/input_validator.rb +18 -0
  706. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/validatable.rb +41 -0
  707. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/absolute_uri.rb +14 -0
  708. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/component_keys.rb +17 -0
  709. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/duplicate_parameters.rb +35 -0
  710. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/email.rb +23 -0
  711. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/media_type.rb +20 -0
  712. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/mutually_exclusive_fields.rb +120 -0
  713. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/reference.rb +42 -0
  714. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/required_fields.rb +36 -0
  715. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/unexpected_fields.rb +46 -0
  716. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/url.rb +13 -0
  717. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/version.rb +5 -0
  718. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser.rb +38 -0
  719. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/openapi3_parser.gemspec +42 -0
  720. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/Gemfile +9 -0
  721. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/LICENSE +21 -0
  722. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/Mavenfile +7 -0
  723. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/README.md +72 -0
  724. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/Rakefile +41 -0
  725. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/bin/console +7 -0
  726. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/bin/setup +6 -0
  727. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/Makefile +274 -0
  728. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/depend +5 -0
  729. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/extconf.rb +43 -0
  730. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.bundle +0 -0
  731. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.c +37 -0
  732. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.h +17 -0
  733. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.o +0 -0
  734. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_emitter.c +555 -0
  735. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_emitter.h +8 -0
  736. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_emitter.o +0 -0
  737. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_parser.c +579 -0
  738. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_parser.h +6 -0
  739. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_parser.o +0 -0
  740. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_to_ruby.c +39 -0
  741. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_to_ruby.h +8 -0
  742. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_to_ruby.o +0 -0
  743. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_yaml_tree.c +12 -0
  744. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_yaml_tree.h +8 -0
  745. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_yaml_tree.o +0 -0
  746. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/LICENSE +19 -0
  747. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/api.c +1393 -0
  748. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/config.h +80 -0
  749. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/dumper.c +394 -0
  750. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/emitter.c +2358 -0
  751. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/loader.c +544 -0
  752. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/parser.c +1375 -0
  753. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/reader.c +469 -0
  754. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/scanner.c +3598 -0
  755. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/writer.c +141 -0
  756. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/yaml.h +1985 -0
  757. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/yaml_private.h +688 -0
  758. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/class_loader.rb +104 -0
  759. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/coder.rb +95 -0
  760. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/core_ext.rb +19 -0
  761. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/exception.rb +14 -0
  762. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/handler.rb +255 -0
  763. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/handlers/document_stream.rb +23 -0
  764. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/handlers/recorder.rb +40 -0
  765. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/ruby_events.rb +20 -0
  766. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/stream.rb +17 -0
  767. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/tree_builder.rb +13 -0
  768. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/yaml_events.rb +30 -0
  769. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/alias.rb +21 -0
  770. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/document.rb +63 -0
  771. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/mapping.rb +59 -0
  772. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/node.rb +75 -0
  773. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/scalar.rb +70 -0
  774. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/sequence.rb +84 -0
  775. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/stream.rb +40 -0
  776. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes.rb +78 -0
  777. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/omap.rb +5 -0
  778. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/parser.rb +52 -0
  779. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/scalar_scanner.rb +136 -0
  780. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/set.rb +5 -0
  781. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/stream.rb +38 -0
  782. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/streaming.rb +28 -0
  783. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/syntax_error.rb +22 -0
  784. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/tree_builder.rb +137 -0
  785. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/versions.rb +10 -0
  786. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/depth_first.rb +27 -0
  787. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/emitter.rb +52 -0
  788. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/json_tree.rb +25 -0
  789. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/to_ruby.rb +434 -0
  790. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/visitor.rb +34 -0
  791. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/yaml_tree.rb +539 -0
  792. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors.rb +7 -0
  793. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/y.rb +10 -0
  794. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych.bundle +0 -0
  795. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych.rb +665 -0
  796. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/psych.gemspec +67 -0
  797. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/2.0-Upgrade.md +52 -0
  798. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/CHANGELOG.md +406 -0
  799. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/Gemfile +15 -0
  800. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/LICENSE.txt +22 -0
  801. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/README.md +207 -0
  802. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/Rakefile +51 -0
  803. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/SECURITY.md +104 -0
  804. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/bin/console +15 -0
  805. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/codecov.yml +12 -0
  806. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/data/list.txt +13380 -0
  807. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/domain.rb +235 -0
  808. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/errors.rb +41 -0
  809. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/list.rb +247 -0
  810. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/rule.rb +350 -0
  811. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/version.rb +13 -0
  812. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix.rb +179 -0
  813. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/public_suffix.gemspec +29 -0
  814. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/acceptance_test.rb +131 -0
  815. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_find.rb +66 -0
  816. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_find_all.rb +102 -0
  817. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_names.rb +91 -0
  818. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_select.rb +26 -0
  819. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_select_incremental.rb +25 -0
  820. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_valid.rb +101 -0
  821. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/domain_profiler.rb +12 -0
  822. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/find_profiler.rb +12 -0
  823. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/find_profiler_jp.rb +12 -0
  824. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/initialization_profiler.rb +11 -0
  825. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/list_profsize.rb +11 -0
  826. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/object_binsize.rb +57 -0
  827. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/psl_test.rb +52 -0
  828. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/test_helper.rb +18 -0
  829. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/tests.txt +98 -0
  830. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/domain_test.rb +106 -0
  831. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/errors_test.rb +25 -0
  832. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/list_test.rb +241 -0
  833. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/public_suffix_test.rb +188 -0
  834. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/rule_test.rb +222 -0
  835. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/COPYING +18 -0
  836. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/HISTORY.md +505 -0
  837. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/README.rdoc +302 -0
  838. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/Rakefile +116 -0
  839. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/SPEC +263 -0
  840. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/bin/rackup +4 -0
  841. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rack.png +0 -0
  842. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rack.svg +150 -0
  843. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rack_logo.svg +164 -0
  844. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rdoc.css +412 -0
  845. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/example/lobster.ru +4 -0
  846. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/example/protectedlobster.rb +14 -0
  847. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/example/protectedlobster.ru +8 -0
  848. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/abstract/handler.rb +37 -0
  849. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/abstract/request.rb +47 -0
  850. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/basic.rb +58 -0
  851. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/md5.rb +129 -0
  852. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/nonce.rb +51 -0
  853. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/params.rb +52 -0
  854. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/request.rb +41 -0
  855. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/body_proxy.rb +44 -0
  856. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/builder.rb +164 -0
  857. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/cascade.rb +52 -0
  858. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/chunked.rb +69 -0
  859. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/common_logger.rb +72 -0
  860. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/conditional_get.rb +79 -0
  861. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/config.rb +20 -0
  862. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/content_length.rb +37 -0
  863. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/content_type.rb +29 -0
  864. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/deflater.rb +119 -0
  865. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/directory.rb +179 -0
  866. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/etag.rb +74 -0
  867. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/events.rb +154 -0
  868. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/file.rb +176 -0
  869. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/cgi.rb +60 -0
  870. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/fastcgi.rb +100 -0
  871. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/lsws.rb +61 -0
  872. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/scgi.rb +70 -0
  873. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/thin.rb +36 -0
  874. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/webrick.rb +120 -0
  875. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler.rb +99 -0
  876. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/head.rb +25 -0
  877. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/lint.rb +760 -0
  878. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/lobster.rb +70 -0
  879. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/lock.rb +31 -0
  880. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/logger.rb +18 -0
  881. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/media_type.rb +38 -0
  882. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/method_override.rb +50 -0
  883. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/mime.rb +677 -0
  884. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/mock.rb +196 -0
  885. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart/generator.rb +93 -0
  886. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart/parser.rb +369 -0
  887. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart/uploaded_file.rb +33 -0
  888. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart.rb +63 -0
  889. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/null_logger.rb +37 -0
  890. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/query_parser.rb +192 -0
  891. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/recursive.rb +62 -0
  892. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/reloader.rb +110 -0
  893. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/request.rb +487 -0
  894. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/response.rb +235 -0
  895. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/rewindable_input.rb +93 -0
  896. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/runtime.rb +32 -0
  897. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/sendfile.rb +158 -0
  898. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/server.rb +395 -0
  899. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/abstract/id.rb +445 -0
  900. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/cookie.rb +195 -0
  901. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/memcache.rb +93 -0
  902. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/pool.rb +76 -0
  903. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/show_exceptions.rb +386 -0
  904. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/show_status.rb +113 -0
  905. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/static.rb +175 -0
  906. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/tempfile_reaper.rb +22 -0
  907. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/urlmap.rb +91 -0
  908. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/utils.rb +620 -0
  909. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack.rb +147 -0
  910. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/rack.gemspec +34 -0
  911. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/an_underscore_app.rb +5 -0
  912. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/anything.rb +5 -0
  913. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/comment.ru +4 -0
  914. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/end.ru +5 -0
  915. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/line.ru +1 -0
  916. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/options.ru +2 -0
  917. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/folder/test.js +1 -0
  918. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/fonts/font.eot +1 -0
  919. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/images/image.png +1 -0
  920. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/index.html +1 -0
  921. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/javascripts/app.js +1 -0
  922. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/stylesheets/app.css +1 -0
  923. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/lighttpd.conf +26 -0
  924. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/rackup_stub.rb +6 -0
  925. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/sample_rackup.ru +5 -0
  926. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test +9 -0
  927. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test+directory/test+file +1 -0
  928. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test.fcgi +9 -0
  929. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test.gz +0 -0
  930. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test.ru +5 -0
  931. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/gemloader.rb +10 -0
  932. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/helper.rb +34 -0
  933. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/bad_robots +259 -0
  934. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/binary +0 -0
  935. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/content_type_and_no_filename +6 -0
  936. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/empty +10 -0
  937. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/fail_16384_nofile +814 -0
  938. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/file1.txt +1 -0
  939. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_and_modification_param +7 -0
  940. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_and_no_name +6 -0
  941. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_encoded_words +7 -0
  942. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_escaped_quotes +6 -0
  943. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_escaped_quotes_and_modification_param +7 -0
  944. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_null_byte +7 -0
  945. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_percent_escaped_quotes +6 -0
  946. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_single_quote +7 -0
  947. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages +6 -0
  948. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages2 +6 -0
  949. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages3 +6 -0
  950. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_quotes +6 -0
  951. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/ie +6 -0
  952. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/invalid_character +6 -0
  953. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/mixed_files +21 -0
  954. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/nested +10 -0
  955. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/none +9 -0
  956. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/quoted +15 -0
  957. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/rack-logo.png +0 -0
  958. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/semicolon +6 -0
  959. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/text +15 -0
  960. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/three_files_three_fields +31 -0
  961. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/unity3d_wwwform +11 -0
  962. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/webkit +32 -0
  963. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/rackup/config.ru +31 -0
  964. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/registering_handler/rack/handler/registering_myself.rb +8 -0
  965. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_auth_basic.rb +89 -0
  966. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_auth_digest.rb +260 -0
  967. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_body_proxy.rb +85 -0
  968. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_builder.rb +233 -0
  969. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_cascade.rb +63 -0
  970. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_cgi.rb +84 -0
  971. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_chunked.rb +103 -0
  972. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_common_logger.rb +95 -0
  973. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_conditional_get.rb +103 -0
  974. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_config.rb +23 -0
  975. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_content_length.rb +86 -0
  976. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_content_type.rb +46 -0
  977. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_deflater.rb +375 -0
  978. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_directory.rb +148 -0
  979. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_etag.rb +108 -0
  980. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_events.rb +133 -0
  981. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_fastcgi.rb +85 -0
  982. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_file.rb +264 -0
  983. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_handler.rb +57 -0
  984. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_head.rb +46 -0
  985. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_lint.rb +515 -0
  986. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_lobster.rb +59 -0
  987. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_lock.rb +204 -0
  988. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_logger.rb +24 -0
  989. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_media_type.rb +42 -0
  990. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_method_override.rb +110 -0
  991. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_mime.rb +51 -0
  992. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_mock.rb +359 -0
  993. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_multipart.rb +722 -0
  994. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_null_logger.rb +21 -0
  995. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_recursive.rb +75 -0
  996. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_request.rb +1393 -0
  997. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_response.rb +510 -0
  998. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_rewindable_input.rb +128 -0
  999. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_runtime.rb +50 -0
  1000. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_sendfile.rb +125 -0
  1001. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_server.rb +193 -0
  1002. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_abstract_id.rb +31 -0
  1003. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_abstract_session_hash.rb +45 -0
  1004. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_cookie.rb +442 -0
  1005. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_memcache.rb +320 -0
  1006. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_pool.rb +210 -0
  1007. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_show_exceptions.rb +80 -0
  1008. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_show_status.rb +104 -0
  1009. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_static.rb +184 -0
  1010. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_tempfile_reaper.rb +64 -0
  1011. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_thin.rb +96 -0
  1012. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_urlmap.rb +237 -0
  1013. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_utils.rb +742 -0
  1014. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_version.rb +11 -0
  1015. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_webrick.rb +206 -0
  1016. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/static/another/index.html +1 -0
  1017. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/static/foo.html +1 -0
  1018. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/static/index.html +1 -0
  1019. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/testrequest.rb +78 -0
  1020. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/unregistered_handler/rack/handler/unregistered.rb +7 -0
  1021. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
  1022. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/CODE_OF_CONDUCT.md +13 -0
  1023. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/CONTRIBUTING.md +26 -0
  1024. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/Gemfile +6 -0
  1025. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/LICENSE +201 -0
  1026. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/README.md +390 -0
  1027. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/Rakefile +6 -0
  1028. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/VERSION +1 -0
  1029. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/Vagrantfile +13 -0
  1030. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/_config.yml +1 -0
  1031. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/assets/rack-app-logo.png +0 -0
  1032. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/bin/rack-app +10 -0
  1033. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/dev/console +6 -0
  1034. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/dev/rack-app +4 -0
  1035. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/block.rb +2 -0
  1036. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/bundled_extensions/logger.rb +12 -0
  1037. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/bundled_extensions/payload.rb +3 -0
  1038. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/bundled_extensions.rb +4 -0
  1039. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/command/configurator.rb +45 -0
  1040. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/command.rb +41 -0
  1041. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands/irb.rb +14 -0
  1042. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands/list_commands.rb +58 -0
  1043. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands/show_routes.rb +110 -0
  1044. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands.rb +5 -0
  1045. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/fetcher/server.rb +44 -0
  1046. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/fetcher.rb +32 -0
  1047. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/runner.rb +72 -0
  1048. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli.rb +42 -0
  1049. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/constants/http_status_codes.rb +65 -0
  1050. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/constants.rb +71 -0
  1051. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/builder.rb +62 -0
  1052. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/catcher.rb +40 -0
  1053. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/config.rb +98 -0
  1054. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/executor.rb +29 -0
  1055. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint.rb +43 -0
  1056. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/error_handler.rb +37 -0
  1057. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/extension.rb +37 -0
  1058. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/file_server.rb +64 -0
  1059. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/core.rb +24 -0
  1060. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/http_status.rb +10 -0
  1061. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/params.rb +17 -0
  1062. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/path_to.rb +27 -0
  1063. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/payload.rb +23 -0
  1064. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/redirect_to.rb +19 -0
  1065. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/serve_file.rb +11 -0
  1066. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/streaming.rb +16 -0
  1067. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods.rb +21 -0
  1068. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/logger.rb +24 -0
  1069. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/configuration.rb +37 -0
  1070. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/header_setter.rb +18 -0
  1071. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks/after.rb +7 -0
  1072. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks/base.rb +21 -0
  1073. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks/before.rb +5 -0
  1074. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks.rb +5 -0
  1075. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/definition/options.rb +45 -0
  1076. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/definition.rb +21 -0
  1077. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/parser.rb +40 -0
  1078. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/setter.rb +13 -0
  1079. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/validator.rb +100 -0
  1080. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params.rb +6 -0
  1081. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/path_info_cutter.rb +15 -0
  1082. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/payload/parser_setter.rb +18 -0
  1083. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/payload.rb +3 -0
  1084. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/set_path_params.rb +37 -0
  1085. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares.rb +9 -0
  1086. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/params.rb +64 -0
  1087. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/builder.rb +12 -0
  1088. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/parser/builder/formats.rb +109 -0
  1089. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/parser/builder.rb +47 -0
  1090. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/parser.rb +32 -0
  1091. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload.rb +4 -0
  1092. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/request_configurator.rb +28 -0
  1093. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/request_stream.rb +20 -0
  1094. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/error.rb +4 -0
  1095. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/branch.rb +37 -0
  1096. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/env.rb +67 -0
  1097. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/leaf/mounted/application.rb +20 -0
  1098. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/leaf/mounted.rb +16 -0
  1099. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/leaf.rb +51 -0
  1100. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/vein.rb +44 -0
  1101. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree.rb +51 -0
  1102. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router.rb +94 -0
  1103. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/serializer/formats_builder.rb +39 -0
  1104. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/serializer.rb +56 -0
  1105. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/extensions.rb +18 -0
  1106. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/formats.rb +15 -0
  1107. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/hooks.rb +15 -0
  1108. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/http_methods.rb +55 -0
  1109. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/inheritance.rb +30 -0
  1110. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/middleware.rb +26 -0
  1111. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/mounting.rb +61 -0
  1112. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/params_validator.rb +11 -0
  1113. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/payload.rb +9 -0
  1114. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/rack_interface.rb +9 -0
  1115. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/route_handling.rb +46 -0
  1116. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/settings.rb +28 -0
  1117. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods.rb +29 -0
  1118. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/streamer/scheduler/null.rb +13 -0
  1119. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/streamer/scheduler.rb +14 -0
  1120. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/streamer.rb +57 -0
  1121. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/test/singleton_methods.rb +22 -0
  1122. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/test/utils.rb +49 -0
  1123. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/test.rb +70 -0
  1124. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/deep_dup.rb +122 -0
  1125. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/boolean.rb +30 -0
  1126. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/custom.rb +16 -0
  1127. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/float.rb +15 -0
  1128. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/integer.rb +9 -0
  1129. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/numeric.rb +26 -0
  1130. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/string.rb +9 -0
  1131. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser.rb +43 -0
  1132. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils.rb +159 -0
  1133. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/version.rb +2 -0
  1134. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app.rb +35 -0
  1135. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack-app.rb +1 -0
  1136. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/old_ruby.sh +1 -0
  1137. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/rack-app.gemspec +27 -0
  1138. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spec_files.txt +1 -0
  1139. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/array_vs_proc.rb +20 -0
  1140. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/enum.rb +11 -0
  1141. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/long_endpoint.rb +29 -0
  1142. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/method_vs_hash.rb +78 -0
  1143. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/method_vs_instance_exec.rb +33 -0
  1144. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/return_vs_throw.rb +45 -0
  1145. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/slice_vs_sub.rb +30 -0
  1146. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/validator_with_minitest.rb +94 -0
  1147. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/xml.rb +24 -0
  1148. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/src/Net__HTTP Cheat Sheet.pdf +0 -0
  1149. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/History.md +256 -0
  1150. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/MIT-LICENSE.txt +19 -0
  1151. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/README.md +150 -0
  1152. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/mock_session.rb +63 -0
  1153. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/cookie_jar.rb +194 -0
  1154. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/methods.rb +83 -0
  1155. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/mock_digest_request.rb +25 -0
  1156. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/uploaded_file.rb +85 -0
  1157. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/utils.rb +144 -0
  1158. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/version.rb +5 -0
  1159. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test.rb +334 -0
  1160. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
  1161. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Gemfile +10 -0
  1162. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/History.rdoc +2368 -0
  1163. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/MIT-LICENSE +21 -0
  1164. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/README.rdoc +155 -0
  1165. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Rakefile +41 -0
  1166. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/bundle +105 -0
  1167. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/console +7 -0
  1168. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rake +29 -0
  1169. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rdoc +29 -0
  1170. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rubocop +29 -0
  1171. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/setup +6 -0
  1172. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
  1173. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
  1174. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
  1175. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/a.c +6 -0
  1176. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/b.c +6 -0
  1177. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/main.c +11 -0
  1178. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
  1179. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/jamis.rb +592 -0
  1180. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
  1181. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rake.1 +156 -0
  1182. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
  1183. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rational.rdoc +151 -0
  1184. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/exe/rake +27 -0
  1185. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/application.rb +824 -0
  1186. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
  1187. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
  1188. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
  1189. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
  1190. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
  1191. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
  1192. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
  1193. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
  1194. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
  1195. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
  1196. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
  1197. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
  1198. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
  1199. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
  1200. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
  1201. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
  1202. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
  1203. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
  1204. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
  1205. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
  1206. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
  1207. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
  1208. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
  1209. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
  1210. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
  1211. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
  1212. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
  1213. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
  1214. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1215. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
  1216. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task.rb +434 -0
  1217. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
  1218. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
  1219. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
  1220. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
  1221. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
  1222. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
  1223. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
  1224. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
  1225. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/version.rb +10 -0
  1226. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
  1227. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake.rb +71 -0
  1228. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/rake.gemspec +43 -0
  1229. data/vendor/bundle/ruby/2.7.0/specifications/addressable-2.8.0.gemspec +36 -0
  1230. data/vendor/bundle/ruby/2.7.0/specifications/byebug-10.0.2.gemspec +37 -0
  1231. data/vendor/bundle/ruby/2.7.0/specifications/commonmarker-0.23.2.gemspec +0 -0
  1232. data/vendor/bundle/ruby/2.7.0/specifications/minitest-5.11.3.gemspec +36 -0
  1233. data/vendor/bundle/ruby/2.7.0/specifications/openapi3_parser-0.9.1.gemspec +52 -0
  1234. data/vendor/bundle/ruby/2.7.0/specifications/psych-3.3.2.gemspec +26 -0
  1235. data/vendor/bundle/ruby/2.7.0/specifications/public_suffix-4.0.6.gemspec +24 -0
  1236. data/vendor/bundle/ruby/2.7.0/specifications/rack-2.0.5.gemspec +38 -0
  1237. data/vendor/bundle/ruby/2.7.0/specifications/rack-app-7.7.0.gemspec +36 -0
  1238. data/vendor/bundle/ruby/2.7.0/specifications/rack-test-1.1.0.gemspec +45 -0
  1239. data/vendor/bundle/ruby/2.7.0/specifications/rake-13.0.1.gemspec +26 -0
  1240. data/vendor/json-schema/CHANGELOG.md +75 -0
  1241. data/vendor/json-schema/CONTRIBUTING.md +7 -0
  1242. data/vendor/json-schema/CONTRIBUTORS.md +35 -0
  1243. data/vendor/json-schema/Gemfile +19 -0
  1244. data/vendor/json-schema/LICENSE.md +19 -0
  1245. data/vendor/json-schema/README.md +496 -0
  1246. data/vendor/json-schema/Rakefile +68 -0
  1247. data/vendor/json-schema/VERSION.yml +3 -0
  1248. data/vendor/json-schema/json-schema.gemspec +27 -0
  1249. data/vendor/json-schema/lib/json-schema/attribute.rb +57 -0
  1250. data/vendor/json-schema/lib/json-schema/attributes/additionalitems.rb +28 -0
  1251. data/vendor/json-schema/lib/json-schema/attributes/additionalproperties.rb +58 -0
  1252. data/vendor/json-schema/lib/json-schema/attributes/allof.rb +39 -0
  1253. data/vendor/json-schema/lib/json-schema/attributes/anyof.rb +47 -0
  1254. data/vendor/json-schema/lib/json-schema/attributes/dependencies.rb +38 -0
  1255. data/vendor/json-schema/lib/json-schema/attributes/dependencies_v4.rb +11 -0
  1256. data/vendor/json-schema/lib/json-schema/attributes/disallow.rb +12 -0
  1257. data/vendor/json-schema/lib/json-schema/attributes/divisibleby.rb +22 -0
  1258. data/vendor/json-schema/lib/json-schema/attributes/enum.rb +24 -0
  1259. data/vendor/json-schema/lib/json-schema/attributes/extends.rb +48 -0
  1260. data/vendor/json-schema/lib/json-schema/attributes/format.rb +14 -0
  1261. data/vendor/json-schema/lib/json-schema/attributes/formats/custom.rb +21 -0
  1262. data/vendor/json-schema/lib/json-schema/attributes/formats/date.rb +25 -0
  1263. data/vendor/json-schema/lib/json-schema/attributes/formats/date_time.rb +34 -0
  1264. data/vendor/json-schema/lib/json-schema/attributes/formats/date_time_v4.rb +15 -0
  1265. data/vendor/json-schema/lib/json-schema/attributes/formats/ip.rb +41 -0
  1266. data/vendor/json-schema/lib/json-schema/attributes/formats/time.rb +22 -0
  1267. data/vendor/json-schema/lib/json-schema/attributes/formats/uri.rb +18 -0
  1268. data/vendor/json-schema/lib/json-schema/attributes/items.rb +27 -0
  1269. data/vendor/json-schema/lib/json-schema/attributes/limit.rb +52 -0
  1270. data/vendor/json-schema/lib/json-schema/attributes/limits/items.rb +15 -0
  1271. data/vendor/json-schema/lib/json-schema/attributes/limits/length.rb +15 -0
  1272. data/vendor/json-schema/lib/json-schema/attributes/limits/max_items.rb +15 -0
  1273. data/vendor/json-schema/lib/json-schema/attributes/limits/max_length.rb +15 -0
  1274. data/vendor/json-schema/lib/json-schema/attributes/limits/max_properties.rb +15 -0
  1275. data/vendor/json-schema/lib/json-schema/attributes/limits/maximum.rb +15 -0
  1276. data/vendor/json-schema/lib/json-schema/attributes/limits/maximum_inclusive.rb +11 -0
  1277. data/vendor/json-schema/lib/json-schema/attributes/limits/min_items.rb +15 -0
  1278. data/vendor/json-schema/lib/json-schema/attributes/limits/min_length.rb +15 -0
  1279. data/vendor/json-schema/lib/json-schema/attributes/limits/min_properties.rb +15 -0
  1280. data/vendor/json-schema/lib/json-schema/attributes/limits/minimum.rb +15 -0
  1281. data/vendor/json-schema/lib/json-schema/attributes/limits/minimum_inclusive.rb +11 -0
  1282. data/vendor/json-schema/lib/json-schema/attributes/limits/numeric.rb +16 -0
  1283. data/vendor/json-schema/lib/json-schema/attributes/limits/properties.rb +15 -0
  1284. data/vendor/json-schema/lib/json-schema/attributes/maxdecimal.rb +18 -0
  1285. data/vendor/json-schema/lib/json-schema/attributes/multipleof.rb +11 -0
  1286. data/vendor/json-schema/lib/json-schema/attributes/not.rb +30 -0
  1287. data/vendor/json-schema/lib/json-schema/attributes/oneof.rb +56 -0
  1288. data/vendor/json-schema/lib/json-schema/attributes/pattern.rb +18 -0
  1289. data/vendor/json-schema/lib/json-schema/attributes/patternproperties.rb +22 -0
  1290. data/vendor/json-schema/lib/json-schema/attributes/properties.rb +66 -0
  1291. data/vendor/json-schema/lib/json-schema/attributes/properties_optional.rb +26 -0
  1292. data/vendor/json-schema/lib/json-schema/attributes/properties_v4.rb +13 -0
  1293. data/vendor/json-schema/lib/json-schema/attributes/ref.rb +61 -0
  1294. data/vendor/json-schema/lib/json-schema/attributes/required.rb +28 -0
  1295. data/vendor/json-schema/lib/json-schema/attributes/type.rb +73 -0
  1296. data/vendor/json-schema/lib/json-schema/attributes/type_v4.rb +29 -0
  1297. data/vendor/json-schema/lib/json-schema/attributes/uniqueitems.rb +20 -0
  1298. data/vendor/json-schema/lib/json-schema/errors/custom_format_error.rb +6 -0
  1299. data/vendor/json-schema/lib/json-schema/errors/json_load_error.rb +6 -0
  1300. data/vendor/json-schema/lib/json-schema/errors/json_parse_error.rb +6 -0
  1301. data/vendor/json-schema/lib/json-schema/errors/schema_error.rb +6 -0
  1302. data/vendor/json-schema/lib/json-schema/errors/schema_parse_error.rb +8 -0
  1303. data/vendor/json-schema/lib/json-schema/errors/uri_error.rb +6 -0
  1304. data/vendor/json-schema/lib/json-schema/errors/validation_error.rb +46 -0
  1305. data/vendor/json-schema/lib/json-schema/schema/reader.rb +140 -0
  1306. data/vendor/json-schema/lib/json-schema/schema/validator.rb +40 -0
  1307. data/vendor/json-schema/lib/json-schema/schema.rb +62 -0
  1308. data/vendor/json-schema/lib/json-schema/util/array_set.rb +20 -0
  1309. data/vendor/json-schema/lib/json-schema/util/uri.rb +110 -0
  1310. data/vendor/json-schema/lib/json-schema/util/uuid.rb +284 -0
  1311. data/vendor/json-schema/lib/json-schema/validator.rb +609 -0
  1312. data/vendor/json-schema/lib/json-schema/validators/draft1.rb +45 -0
  1313. data/vendor/json-schema/lib/json-schema/validators/draft2.rb +46 -0
  1314. data/vendor/json-schema/lib/json-schema/validators/draft3.rb +50 -0
  1315. data/vendor/json-schema/lib/json-schema/validators/draft4.rb +56 -0
  1316. data/vendor/json-schema/lib/json-schema/validators/draft6.rb +56 -0
  1317. data/vendor/json-schema/lib/json-schema/validators/hyper-draft1.rb +13 -0
  1318. data/vendor/json-schema/lib/json-schema/validators/hyper-draft2.rb +13 -0
  1319. data/vendor/json-schema/lib/json-schema/validators/hyper-draft3.rb +13 -0
  1320. data/vendor/json-schema/lib/json-schema/validators/hyper-draft4.rb +13 -0
  1321. data/vendor/json-schema/lib/json-schema/validators/hyper-draft6.rb +13 -0
  1322. data/vendor/json-schema/lib/json-schema.rb +18 -0
  1323. data/vendor/json-schema/resources/draft-01.json +155 -0
  1324. data/vendor/json-schema/resources/draft-02.json +166 -0
  1325. data/vendor/json-schema/resources/draft-03.json +174 -0
  1326. data/vendor/json-schema/resources/draft-04.json +150 -0
  1327. data/vendor/json-schema/resources/draft-06.json +150 -0
  1328. data/vendor/json-schema/test/all_of_ref_schema_test.rb +35 -0
  1329. data/vendor/json-schema/test/any_of_ref_schema_test.rb +35 -0
  1330. data/vendor/json-schema/test/bad_schema_ref_test.rb +49 -0
  1331. data/vendor/json-schema/test/caching_test.rb +57 -0
  1332. data/vendor/json-schema/test/common_test_suite_test.rb +56 -0
  1333. data/vendor/json-schema/test/custom_format_test.rb +122 -0
  1334. data/vendor/json-schema/test/data/all_of_ref_data.json +3 -0
  1335. data/vendor/json-schema/test/data/any_of_ref_data.json +7 -0
  1336. data/vendor/json-schema/test/data/bad_data_1.json +3 -0
  1337. data/vendor/json-schema/test/data/good_data_1.json +3 -0
  1338. data/vendor/json-schema/test/data/one_of_ref_links_data.json +5 -0
  1339. data/vendor/json-schema/test/draft1_test.rb +140 -0
  1340. data/vendor/json-schema/test/draft2_test.rb +112 -0
  1341. data/vendor/json-schema/test/draft3_test.rb +449 -0
  1342. data/vendor/json-schema/test/draft4_test.rb +687 -0
  1343. data/vendor/json-schema/test/extended_schema_test.rb +62 -0
  1344. data/vendor/json-schema/test/extends_nested_test.rb +41 -0
  1345. data/vendor/json-schema/test/files_test.rb +53 -0
  1346. data/vendor/json-schema/test/fragment_resolution_test.rb +83 -0
  1347. data/vendor/json-schema/test/fragment_validation_with_ref_test.rb +67 -0
  1348. data/vendor/json-schema/test/full_validation_test.rb +203 -0
  1349. data/vendor/json-schema/test/initialize_data_test.rb +154 -0
  1350. data/vendor/json-schema/test/list_option_test.rb +21 -0
  1351. data/vendor/json-schema/test/load_ref_schema_test.rb +45 -0
  1352. data/vendor/json-schema/test/merge_missing_values_test.rb +45 -0
  1353. data/vendor/json-schema/test/min_items_test.rb +16 -0
  1354. data/vendor/json-schema/test/one_of_test.rb +85 -0
  1355. data/vendor/json-schema/test/relative_definition_test.rb +19 -0
  1356. data/vendor/json-schema/test/ruby_schema_test.rb +65 -0
  1357. data/vendor/json-schema/test/schema_reader_test.rb +78 -0
  1358. data/vendor/json-schema/test/schema_validation_test.rb +185 -0
  1359. data/vendor/json-schema/test/schemas/address_microformat.json +18 -0
  1360. data/vendor/json-schema/test/schemas/all_of_ref_base_schema.json +6 -0
  1361. data/vendor/json-schema/test/schemas/all_of_ref_schema.json +7 -0
  1362. data/vendor/json-schema/test/schemas/any_of_ref_jane_schema.json +4 -0
  1363. data/vendor/json-schema/test/schemas/any_of_ref_jimmy_schema.json +4 -0
  1364. data/vendor/json-schema/test/schemas/any_of_ref_john_schema.json +4 -0
  1365. data/vendor/json-schema/test/schemas/any_of_ref_schema.json +15 -0
  1366. data/vendor/json-schema/test/schemas/definition_schema.json +15 -0
  1367. data/vendor/json-schema/test/schemas/definition_schema_with_special_characters.json +14 -0
  1368. data/vendor/json-schema/test/schemas/extends_and_additionalProperties_false_schema.json +29 -0
  1369. data/vendor/json-schema/test/schemas/extends_and_patternProperties_schema.json +28 -0
  1370. data/vendor/json-schema/test/schemas/good_schema_1.json +9 -0
  1371. data/vendor/json-schema/test/schemas/good_schema_2.json +9 -0
  1372. data/vendor/json-schema/test/schemas/good_schema_extends1.json +8 -0
  1373. data/vendor/json-schema/test/schemas/good_schema_extends2.json +11 -0
  1374. data/vendor/json-schema/test/schemas/inner_schema.json +17 -0
  1375. data/vendor/json-schema/test/schemas/one_of_ref_links_schema.json +16 -0
  1376. data/vendor/json-schema/test/schemas/ref john with spaces schema.json +11 -0
  1377. data/vendor/json-schema/test/schemas/relative_definition_schema.json +8 -0
  1378. data/vendor/json-schema/test/schemas/self_link_schema.json +17 -0
  1379. data/vendor/json-schema/test/schemas/up_link_schema.json +17 -0
  1380. data/vendor/json-schema/test/stringify_test.rb +48 -0
  1381. data/vendor/json-schema/test/support/array_validation.rb +112 -0
  1382. data/vendor/json-schema/test/support/enum_validation.rb +133 -0
  1383. data/vendor/json-schema/test/support/number_validation.rb +82 -0
  1384. data/vendor/json-schema/test/support/object_validation.rb +68 -0
  1385. data/vendor/json-schema/test/support/strict_validation.rb +88 -0
  1386. data/vendor/json-schema/test/support/string_validation.rb +154 -0
  1387. data/vendor/json-schema/test/support/test_helper.rb +70 -0
  1388. data/vendor/json-schema/test/support/test_suite_ignored_tests.yml +109 -0
  1389. data/vendor/json-schema/test/support/type_validation.rb +81 -0
  1390. data/vendor/json-schema/test/type_attribute_test.rb +20 -0
  1391. data/vendor/json-schema/test/uri_parsing_test.rb +67 -0
  1392. data/vendor/json-schema/test/uri_util_test.rb +206 -0
  1393. data/vendor/json-schema/test/validator_schema_reader_test.rb +55 -0
  1394. metadata +1562 -0
@@ -0,0 +1,1805 @@
1
+ # GUIDE
2
+
3
+ ## Introduction
4
+
5
+ ### First Steps
6
+
7
+ A handful of commands are enough to get started using `byebug`. The following
8
+ session illustrates these commands. Take the following sample file:
9
+
10
+ ```ruby
11
+ #
12
+ # The n'th triangle number: triangle(n) = n*(n+1)/2 = 1 + 2 + ... + n
13
+ #
14
+ def triangle(n)
15
+ tri = 0
16
+
17
+ 0.upto(n) { |i| tri += i }
18
+
19
+ tri
20
+ end
21
+
22
+ t = triangle(3)
23
+ puts t
24
+
25
+ ```
26
+
27
+ Let's debug it.
28
+
29
+ ```bash
30
+ $ byebug /path/to/triangle.rb
31
+
32
+ [1, 10] in /path/to/triangle.rb
33
+ 1: #
34
+ 2: # The n'th triangle number: triangle(n) = n*(n+1)/2 = 1 + 2 + ... + n
35
+ 3: #
36
+ => 4: def triangle(n)
37
+ 5: tri = 0
38
+ 6:
39
+ 7: 0.upto(n) { |i| tri += i }
40
+ 8:
41
+ 9: tri
42
+ 10: end
43
+ (byebug)
44
+ ```
45
+
46
+ We are currently stopped before the first executable line of the program: line 4
47
+ of `triangle.rb`. If you are used to less dynamic languages and have used
48
+ debuggers for more statically compiled languages like C, C++, or Java, it may
49
+ seem odd to be stopped before a function definition but in Ruby line 4 is
50
+ executed.
51
+
52
+ Byebug's prompt is `(byebug)`. If the program has died and you are in
53
+ post-mortem debugging, `(byebug:post-mortem)` is used instead. If the program
54
+ has terminated normally and the `--no-quit` option has been specified in the
55
+ command line, the prompt will be `(byebug:ctrl)` instead. The commands available
56
+ change depending on the program's state.
57
+
58
+ Byebug automatically lists 10 lines of code centered around the current line
59
+ every time it is stopped. The current line is marked with `=>`. If the range
60
+ would overflow the beggining or the end of the file, byebug will move it
61
+ accordingly so that only actual real lines of code are displayed.
62
+
63
+ Now let us step through the program.
64
+
65
+ ```bash
66
+ (byebug) step
67
+
68
+ [5, 14] in /path/to/triangle.rb
69
+ 5: tri = 0
70
+ 6:
71
+ 7: 0.upto(n) { |i| tri += i }
72
+ 9: end
73
+ 10:
74
+ 11: tri
75
+ 12: end
76
+ 13:
77
+ => 14: triangle(3)
78
+ (byebug) <RET> # hit enter
79
+
80
+ [1, 10] in /path/to/triangle.rb
81
+ 1: #
82
+ 2: # The n'th triangle number: triangle(n) = n*(n+1)/2 = 1 + 2 + ... + n
83
+ 3: #
84
+ 4: def triangle(n)
85
+ => 5: tri = 0
86
+ 6:
87
+ 7: 0.upto(n) { |i| tri += i }
88
+ 8:
89
+ 9: tri
90
+ 10: end
91
+ (byebug) eval tri
92
+ nil
93
+ (byebug) step
94
+
95
+ [2, 11] in /path/to/triangle.rb
96
+ 2: # The n'th triangle number: triangle(n) = n*(n+1)/2 = 1 + 2 + ... + n
97
+ 3: #
98
+ 4: def triangle(n)
99
+ 5: tri = 0
100
+ 6:
101
+ => 7: 0.upto(n) { |i| tri += i }
102
+ 8:
103
+ 9: tri
104
+ 10: end
105
+ 11:
106
+ (byebug) eval tri
107
+ 0
108
+ ```
109
+
110
+ The first `step` command runs the script one executable unit. The second command
111
+ we entered was just hitting the return key: `byebug` remembers the last command
112
+ you entered was `step` and runs it again.
113
+
114
+ One way to print the values of variables is `eval` (there are other ways). When we
115
+ look at the value of `tri` the first time, we see it is `nil`. Again we are
116
+ stopped _before_ the assignment on line 5, and this variable hadn't been set
117
+ previously. However after issuing another `step` command we see that the value
118
+ is 0 as expected. If every time we stop we want to see the value of `tri` to see
119
+ how things are going, there is a better way by setting a display expression:
120
+
121
+ ```bash
122
+ (byebug) display tri
123
+ 1: tri = 0
124
+ ```
125
+
126
+ Now let us run the program until right before we return from the function. We'll
127
+ want to see which lines get run, so we turn on _line tracing_. If we don't want
128
+ whole paths to be displayed when tracing, we can turn on _basename_.
129
+
130
+ ```bash
131
+ (byebug) set linetrace
132
+ linetrace is on
133
+ (byebug) set basename
134
+ basename is on
135
+ (byebug) finish 0
136
+ Tracing: triangle.rb:7 0.upto(n) { |i| tri += i }
137
+ 1: tri = 0
138
+ Tracing: triangle.rb:7 0.upto(n) { |i| tri += i }
139
+ 1: tri = 0
140
+ Tracing: triangle.rb:7 0.upto(n) { |i| tri += i }
141
+ 1: tri = 1
142
+ Tracing: triangle.rb:7 0.upto(n) { |i| tri += i }
143
+ 1: tri = 3
144
+ Tracing: triangle.rb:9 tri
145
+ 1: tri = 6
146
+ 1: tri = 6
147
+
148
+ [4, 13] in /home/davidr/Proyectos/byebug/triangle.rb
149
+ 4: def triangle(n)
150
+ 5: tri = 0
151
+ 6:
152
+ 7: 0.upto(n) { |i| tri += i }
153
+ 8:
154
+ 9: tri
155
+ => 10: end
156
+ 11:
157
+ 12: t = triangle(3)
158
+ 13: puts t
159
+ (byebug) quit
160
+ Really quit? (y/n)
161
+ y
162
+ ```
163
+
164
+ So far, so good. As you can see from the above, to get out of `byebug`, one
165
+ can issue a `quit` command (or the abbreviation `q`). If you want to quit
166
+ without being prompted, suffix the command with an exclamation mark, e.g., `q!`.
167
+
168
+ ### Second Sample Session: Delving Deeper
169
+
170
+ In this section we'll introduce breakpoints, the call stack and restarting.
171
+ Below we will debug a simple Ruby program to solve the classic Towers of Hanoi
172
+ puzzle. It is augmented by the bane of programming: some command-parameter
173
+ processing with error checking.
174
+
175
+ ```ruby
176
+ #
177
+ # Solves the classic Towers of Hanoi puzzle.
178
+ #
179
+ def hanoi(n, a, b, c)
180
+ hanoi(n - 1, a, c, b) if n - 1 > 0
181
+
182
+ puts "Move disk #{a} to #{b}"
183
+
184
+ hanoi(n - 1, c, b, a) if n - 1 > 0
185
+ end
186
+
187
+ n_args = $ARGV.length
188
+
189
+ raise("*** Need number of disks or no parameter") if n_args > 1
190
+
191
+ n = 3
192
+
193
+ if n_args > 0
194
+ begin
195
+ n = $ARGV[0].to_i
196
+ rescue ValueError
197
+ raise("*** Expecting an integer, got: #{$ARGV[0]}")
198
+ end
199
+ end
200
+
201
+ raise("*** Number of disks should be between 1 and 100") if n < 1 || n > 100
202
+
203
+ hanoi(n, :a, :b, :c)
204
+ ```
205
+
206
+ Recall in the first section it was stated that before the `def` is run, the
207
+ method it names is undefined. Let's check that out. First let's see what
208
+ private methods we can call before running `def hanoi`.
209
+
210
+ ```bash
211
+ $ byebug path/to/hanoi.rb
212
+
213
+ 1: #
214
+ 2: # Solves the classic Towers of Hanoi puzzle.
215
+ 3: #
216
+ 4: def hanoi(n, a, b, c)
217
+ 5: hanoi(n - 1, a, c, b) if n - 1 > 0
218
+ 6:
219
+ 7: puts "Move disk #{a} to #{b}"
220
+ 8:
221
+ 9: hanoi(n - 1, c, b, a) if n - 1 > 0
222
+ 10: end
223
+ (byebug) private_methods
224
+ public
225
+ private
226
+ include
227
+ using
228
+ define_method
229
+ default_src_encoding
230
+ DelegateClass
231
+ Digest
232
+ timeout
233
+ initialize_copy
234
+ initialize_dup
235
+ initialize_clone
236
+ sprintf
237
+ format
238
+ Integer
239
+ Float
240
+ String
241
+ Array
242
+ Hash
243
+ warn
244
+ raise
245
+ fail
246
+ global_variables
247
+ __method__
248
+ __callee__
249
+ __dir__
250
+ eval
251
+ local_variables
252
+ iterator?
253
+ block_given?
254
+ catch
255
+ throw
256
+ loop
257
+ respond_to_missing?
258
+ trace_var
259
+ untrace_var
260
+ at_exit
261
+ syscall
262
+ open
263
+ printf
264
+ print
265
+ putc
266
+ puts
267
+ gets
268
+ readline
269
+ select
270
+ readlines
271
+ `
272
+ p
273
+ test
274
+ srand
275
+ rand
276
+ trap
277
+ load
278
+ require
279
+ require_relative
280
+ autoload
281
+ autoload?
282
+ proc
283
+ lambda
284
+ binding
285
+ caller
286
+ caller_locations
287
+ exec
288
+ fork
289
+ exit!
290
+ system
291
+ spawn
292
+ sleep
293
+ exit
294
+ abort
295
+ Rational
296
+ Complex
297
+ set_trace_func
298
+ gem_original_require
299
+ Pathname
300
+ pp
301
+ y
302
+ URI
303
+ rubygems_require
304
+ initialize
305
+ singleton_method_added
306
+ singleton_method_removed
307
+ singleton_method_undefined
308
+ method_missing
309
+ (byebug) private_methods.member?(:hanoi)
310
+ false
311
+ ```
312
+
313
+ `private_methods` is not a byebug command but a Ruby feature. By default, when
314
+ `byebug` doesn't understand a command, it will evaluate it as if it was a Ruby
315
+ command. You can use any Ruby to inspect your program's state at the place it
316
+ is stopped.
317
+
318
+ Now let's see what happens after stepping:
319
+
320
+ ```bash
321
+ (byebug) step
322
+
323
+ [5, 14] in /path/to/hanoi.rb
324
+ 5: hanoi(n - 1, a, c, b) if n - 1 > 0
325
+ 6:
326
+ 7: puts "Move disk #{a} to #{b}"
327
+ 8:
328
+ 9: hanoi(n - 1, c, b, a) if n - 1 > 0
329
+ 10: end
330
+ 11:
331
+ => 12: n_args = $ARGV.length
332
+ 13:
333
+ 14: raise("*** Need number of disks or no parameter") if n_args > 1
334
+ (byebug) private_methods.member?(:hanoi)
335
+ true
336
+ (byebug)
337
+ ```
338
+
339
+ Okay, lets go on and talk about program arguments.
340
+
341
+ ```bash
342
+ (byebug) $ARGV
343
+ []
344
+ ```
345
+
346
+ Oops. We forgot to specify any parameters to this program. Let's try again. We
347
+ can use the `restart` command here.
348
+
349
+ ```bash
350
+ (byebug) restart 3
351
+ Re exec'ing:
352
+ /path/to/exe/byebug /path/to/hanoi.rb 3
353
+
354
+ [1, 10] in /path/to/hanoi.rb
355
+ 1: #
356
+ 2: # Solves the classic Towers of Hanoi puzzle.
357
+ 3: #
358
+ => 4: def hanoi(n, a, b, c)
359
+ 5: hanoi(n - 1, a, c, b) if n - 1 > 0
360
+ 6:
361
+ 7: puts "Move disk #{a} to #{b}"
362
+ 8:
363
+ 9: hanoi(n - 1, c, b, a) if n - 1 > 0
364
+ 10: end
365
+ (byebug) break 5
366
+ Created breakpoint 1 at /path/to/hanoi.rb:5
367
+ (byebug) continue
368
+ Stopped by breakpoint 1 at /path/to/hanoi.rb:5
369
+
370
+ [1, 10] in /path/to/hanoi.rb
371
+ 1: #
372
+ 2: # Solves the classic Towers of Hanoi puzzle.
373
+ 3: #
374
+ 4: def hanoi(n, a, b, c)
375
+ => 5: hanoi(n - 1, a, c, b) if n - 1 > 0
376
+ 6:
377
+ 7: puts "Move disk #{a} to #{b}"
378
+ 8:
379
+ 9: hanoi(n - 1, c, b, a) if n - 1 > 0
380
+ 10: end
381
+ (byebug) display n
382
+ 1: n = 3
383
+ (byebug) display a
384
+ 2: a = :a
385
+ (byebug) display b
386
+ 3: b = :b
387
+ (byebug) undisplay 3
388
+ (byebug) continue
389
+ Stopped by breakpoint 1 at /path/to/hanoi.rb:5
390
+ 1: n = 2
391
+ 2: a = :a
392
+ [1, 10] in /path/to/hanoi.rb
393
+ 1: #
394
+ 2: # Solves the classic Towers of Hanoi puzzle.
395
+ 3: #
396
+ 4: def hanoi(n, a, b, c)
397
+ => 5: hanoi(n - 1, a, c, b) if n - 1 > 0
398
+ 6:
399
+ 7: puts "Move disk #{a} to #{b}"
400
+ 8:
401
+ 9: hanoi(n - 1, c, b, a) if n - 1 > 0
402
+ 10: end
403
+
404
+ (byebug) c
405
+ Stopped by breakpoint 1 at /path/to/hanoi.rb:5
406
+ 1: n = 1
407
+ 2: a = :a
408
+
409
+ [1, 10] in /path/to/hanoi.rb
410
+ 1: #
411
+ 2: # Solves the classic Towers of Hanoi puzzle.
412
+ 3: #
413
+ 4: def hanoi(n, a, b, c)
414
+ => 5: hanoi(n - 1, a, c, b) if n - 1 > 0
415
+ 6:
416
+ 7: puts "Move disk #{a} to #{b}"
417
+ 8:
418
+ 9: hanoi(n - 1, c, b, a) if n - 1 > 0
419
+ 10: end
420
+ (byebug) set nofullpath
421
+ fullpath is off
422
+ (byebug) where
423
+ --> #0 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol) at .../shortpath/to/hanoi.rb:5
424
+ #1 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol) at .../shortpath/to/hanoi.rb:5
425
+ #2 <top (required)> at .../Proyectos/byebug/hanoi.rb:28
426
+ (byebug)
427
+ ```
428
+
429
+ In the above we added new commands: `break` (see [breakpoints]()), which
430
+ indicates to stop just before that line of code is run, and `continue`, which
431
+ resumes execution. To remove a display expression `undisplay` is used. If we
432
+ give a display number, just that display expression is removed.
433
+
434
+ We also used a new command `where`(see [backtrace]()) to show the callstack. In
435
+ the above situation, starting from the bottom line we see we called the `hanoi`
436
+ method from line 28 of the file `hanoi.rb` and the `hanoi` method called itself
437
+ two more times at line 5.
438
+
439
+ In the callstack we show a _current frame_ mark, the frame number, the method
440
+ being called, the names of the parameters, the types those parameters
441
+ _currently_ have and the file-line position. Remember it's possible that when
442
+ the program was called the parameters had different types, since the types of
443
+ variables can change dynamically. You can alter the style of what to show in the
444
+ trace (see [callstyle]()).
445
+
446
+ Now let's move around the callstack.
447
+
448
+ ```bash
449
+ (byebug) undisplay
450
+ Clear all expressions? (y/n) y
451
+ (byebug) n_args
452
+ NameError Exception: undefined local variable or method `n_args' for main:Object
453
+ (byebug) frame 2
454
+
455
+ [19, 28] in /path/to/hanoi.rb
456
+ 19: begin
457
+ 20: n = $ARGV[0].to_i
458
+ 21: rescue ValueError
459
+ 22: raise("*** Expecting an integer, got: #{$ARGV[0]}")
460
+ 23: end
461
+ 24: end
462
+ 25:
463
+ 26: raise("*** Number of disks should be between 1 and 100") if n < 1 || n > 100
464
+ 27:
465
+ => 28: hanoi(n, :a, :b, :c)
466
+ (byebug) n_args
467
+ 1
468
+ (byebug) eval n
469
+ 3
470
+ (byebug) down 2
471
+
472
+ [1, 10] in /path/to/hanoi.rb
473
+ 1: #
474
+ 2: # Solves the classic Towers of Hanoi puzzle.
475
+ 3: #
476
+ 4: def hanoi(n, a, b, c)
477
+ => 5: hanoi(n - 1, a, c, b) if n - 1 > 0
478
+ 6:
479
+ 7: puts "Move disk #{a} to #{b}"
480
+ 8:
481
+ 9: hanoi(n - 1, c, b, a) if n - 1 > 0
482
+ 10: end
483
+ (byebug) eval n
484
+ 2
485
+ ```
486
+
487
+ Notice in the above to get the value of variable `n` we had to use a print
488
+ command like `eval n`. If we entered just `n`, that would be taken to mean byebug
489
+ command `next`. In the current scope, variable `n_args` is not defined. However
490
+ I can change to the top-most frame by using the `frame 2` command. Notice that
491
+ inside frame #2, the value of `n_args` can be shown. Also note that the value of
492
+ variable `n` is different.
493
+
494
+ ### Attaching to a running program with `byebug`
495
+
496
+ In the previous sessions we've been calling byebug right at the outset, but
497
+ there is another mode of operation you might use. If there's a lot of code that
498
+ needs to be run before the part you want to inspect, it might not be efficient
499
+ or convenient to run byebug from the outset.
500
+
501
+ In this section we'll show how to enter the code in the middle of your program,
502
+ while delving more into byebug's operation. We will also use unit testing. Using
503
+ unit tests will greatly reduce the amount of debugging needed, while at the same
504
+ time, will increase the quality of your program.
505
+
506
+ What we'll do is take the `triangle` code from the first session and write a
507
+ unit test for that. In a sense we did write a tiny test for the program which
508
+ was basically the last line where we printed the value of `triangle(3)`. This
509
+ test however wasn't automated: the expectation is that someone would look at the
510
+ output and verify that what was printed is what was expected.
511
+
512
+ Before we can turn that into something that can be `required`, we probably want
513
+ to remove that output. However I like to keep in that line so that when I
514
+ look at the file, I have an example of how to run it. Therefore we will
515
+ conditionally run this line if that file is invoked directly, but skip it if it
516
+ is not. _NOTE: `byebug` resets `$0` to try to make things like this work._
517
+
518
+ ```ruby
519
+ if __FILE__ == $PROGRAM_NAME
520
+ t = triangle(3)
521
+ puts t
522
+ end
523
+ ```
524
+
525
+ Okay, we're now ready to write our unit test and we'll use the `minitest`
526
+ framework for that. Here's the test code, it should be placed in the same
527
+ directory as `triangle.rb`.
528
+
529
+ ```ruby
530
+ require "minitest/autorun"
531
+ require_relative "triangle.rb"
532
+
533
+ class TestTriangle < Minitest::Test
534
+ def test_basic
535
+ solutions = []
536
+
537
+ 0.upto(5) { |i| solutions << triangle(i) }
538
+
539
+ assert_equal([0, 1, 3, 6, 10, 15], solutions, "First 5 triangle numbers")
540
+ end
541
+ end
542
+ ```
543
+
544
+ Let's say we want to stop before the first statement in our test method, we'll
545
+ add the following:
546
+
547
+ ```ruby
548
+ ...
549
+ def test_basic
550
+ byebug
551
+ solutions = []
552
+ ...
553
+ ```
554
+
555
+ Now we run the program, requiring `byebug`
556
+
557
+ ```bash
558
+ $ ruby -rbyebug test_triangle.rb
559
+ Run options: --seed 31679
560
+
561
+ # Running:
562
+
563
+ [2, 11] in test_triangle.rb
564
+ 2: require_relative "triangle.rb"
565
+ 3:
566
+ 4: class TestTriangle < Minitest::Test
567
+ 5: def test_basic
568
+ 6: byebug
569
+ => 7: solutions = []
570
+ 8:
571
+ 9: 0.upto(5) { |i| solutions << triangle(i) }
572
+ 10:
573
+ 11: assert_equal([0, 1, 3, 6, 10, 15], solutions, "First 5 triangle numbers")
574
+ (byebug)
575
+ ```
576
+
577
+ and we see that we are stopped at line 7 just before the initialization of the
578
+ list `solutions`.
579
+
580
+ Now let's see where we are...
581
+
582
+ ```bash
583
+ (byebug) set nofullpath
584
+ Displaying frame's full file names is off.
585
+ (byebug) bt
586
+ --> #0 TestTriangle.test_basic at .../Proyectos/byebug/test_triangle.rb:7
587
+ #1 block (3 levels) in Minitest::Test.run at .../lib/minitest/test.rb:108
588
+ #2 Minitest::Test.capture_exceptions at .../lib/minitest/test.rb:206
589
+ #3 block (2 levels) in Minitest::Test.run at .../lib/minitest/test.rb:105
590
+ #4 Minitest::Test.time_it at .../lib/minitest/test.rb:258
591
+ #5 block in Minitest::Test.run at .../lib/minitest/test.rb:104
592
+ #6 #<Class:Minitest::Runnable>.on_signal(name#String, action#Proc) at .../minitest-5.5.0/lib/minitest.rb:321
593
+ #7 Minitest::Test.with_info_handler(&block#Proc) at .../lib/minitest/test.rb:278
594
+ #8 Minitest::Test.run at .../lib/minitest/test.rb:103
595
+ #9 #<Class:Minitest>.run_one_method(klass#Class, method_name#String) at .../minitest-5.5.0/lib/minitest.rb:768
596
+ #10 #<Class:Minitest::Runnable>.run_one_method(klass#Class, method_name#String, reporter#Minitest::CompositeReporter) at .../minitest-5.5.0/lib/minitest.rb:295
597
+ #11 block (2 levels) in #<Class:Minitest::Runnable>.run(reporter#Minitest::CompositeReporter, options#Hash) at .../minitest-5.5.0/lib/minitest.rb:289
598
+ ͱ-- #12 Array.each at .../minitest-5.5.0/lib/minitest.rb:288
599
+ #13 block in #<Class:Minitest::Runnable>.run(reporter#Minitest::CompositeReporter, options#Hash) at .../minitest-5.5.0/lib/minitest.rb:288
600
+ #14 #<Class:Minitest::Runnable>.on_signal(name#String, action#Proc) at .../minitest-5.5.0/lib/minitest.rb:321
601
+ #15 #<Class:Minitest::Runnable>.with_info_handler(reporter#Minitest::CompositeReporter, &block#Proc) at .../minitest-5.5.0/lib/minitest.rb:308
602
+ #16 #<Class:Minitest::Runnable>.run(reporter#Minitest::CompositeReporter, options#Hash) at .../minitest-5.5.0/lib/minitest.rb:287
603
+ #17 block in #<Class:Minitest>.__run(reporter#Minitest::CompositeReporter, options#Hash) at .../minitest-5.5.0/lib/minitest.rb:150
604
+ ͱ-- #18 Array.map at .../minitest-5.5.0/lib/minitest.rb:150
605
+ #19 #<Class:Minitest>.__run(reporter#Minitest::CompositeReporter, options#Hash) at .../minitest-5.5.0/lib/minitest.rb:150
606
+ #20 #<Class:Minitest>.run(args#Array) at .../minitest-5.5.0/lib/minitest.rb:127
607
+ #21 block in #<Class:Minitest>.autorun at .../minitest-5.5.0/lib/minitest.rb:56
608
+ (byebug)
609
+ ```
610
+
611
+ We get the same result as if we had run byebug from the outset.
612
+
613
+ ### Debugging Oddities: How debugging Ruby may be different from other languages
614
+
615
+ If you are used to debugging in other languages like C, C++, Perl, Java or even
616
+ Bash (see [bashdb](http://bashdb.sf.net)), there may be a number of things that
617
+ seem or feel a little bit different and may confuse you. A number of these
618
+ things aren't oddities of the debugger per se but differences in how Ruby works
619
+ compared to those other languages. Because Ruby works a little differently from
620
+ those other languages, writing a debugger has to also be a little different as
621
+ well if it is to be useful. In this respect, using Byebug may help you
622
+ understand Ruby better.
623
+
624
+ We've already seen one such difference: the fact that we stop on method
625
+ definitions or `def`'s and that is because these are in fact executable
626
+ statements. In other compiled languages this would not happen because that's
627
+ already been done when you compile the program (or in Perl when it scans in the
628
+ program). In this section we'll consider some other things that might throw off
629
+ new users to Ruby who are familiar with other languages and debugging in them.
630
+
631
+ #### Bouncing Around in Blocks (iterators)
632
+
633
+ When debugging languages with coroutines like Python and Ruby, a method call may
634
+ not necessarily go to the first statement after the method header. It's possible
635
+ that the call will continue after a `yield` statement from a prior call.
636
+
637
+ ```ruby
638
+ #
639
+ # Enumerator for primes
640
+ #
641
+ class SievePrime
642
+ def initialize
643
+ @odd_primes = []
644
+ end
645
+
646
+ def next_prime
647
+ candidate = 2
648
+ yield candidate
649
+ not_prime = false
650
+ candidate += 1
651
+
652
+ loop do
653
+ @odd_primes.each do |p|
654
+ not_prime = (0 == (candidate % p))
655
+ break if not_prime
656
+ end
657
+
658
+ unless not_prime
659
+ @odd_primes << candidate
660
+ yield candidate
661
+ end
662
+
663
+ candidate += 2
664
+ end
665
+ end
666
+ end
667
+
668
+ SievePrime.new.next_prime do |prime|
669
+ puts prime
670
+ break if prime > 10
671
+ end
672
+ ```
673
+
674
+ ```bash
675
+ $ byebug primes.rb
676
+ [1, 10] in /path/to/primes.rb
677
+ 1: #
678
+ 2: # Enumerator for primes
679
+ 3: #
680
+ => 4: class SievePrime
681
+ 5: def initialize
682
+ 6: @odd_primes = []
683
+ 7: end
684
+ 8:
685
+ 9: def self.next_prime(&block)
686
+ 10: candidate = 2
687
+ (byebug) set linetrace
688
+ line tracing is on.
689
+ (byebug) set basename
690
+ basename in on.
691
+ (byebug) step 9
692
+ Tracing: primes.rb:5 def initialize
693
+ Tracing: primes.rb:9 def next_prime
694
+ Tracing: primes.rb:31 SievePrime.new.next_prime do |prime|
695
+ Tracing: primes.rb:6 @odd_primes = []
696
+ Tracing: primes.rb:10 candidate = 2
697
+ Tracing: primes.rb:11 yield candidate
698
+ Tracing: primes.rb:32 puts prime
699
+ 2
700
+ Tracing: primes.rb:33 break if prime > 10
701
+ Tracing: primes.rb:12 not_prime = false
702
+
703
+ [7, 16] in /path/to/primes.rb
704
+ 7: end
705
+ 8:
706
+ 9: def next_prime
707
+ 10: candidate = 2
708
+ 11: yield candidate
709
+ => 12: not_prime = false
710
+ 13: candidate += 1
711
+ 14:
712
+ 15: loop do
713
+ 16: @odd_primes.each do |p|
714
+ 17: not_prime = (0 == (candidate % p))
715
+ (byebug)
716
+ ```
717
+
718
+ The loop between lines 31-34 gets interleaved between those of
719
+ `SievePrime#next_prime`, lines 9-28 above.
720
+
721
+ #### No Parameter Values in a Call Stack
722
+
723
+ In traditional debuggers, in a call stack you can generally see the names of the
724
+ parameters and the values that were passed in.
725
+
726
+ Ruby is a very dynamic language and it tries to be efficient within the confines
727
+ of the language definition. Values generally aren't taken out of a variable or
728
+ expression and pushed onto a stack. Instead a new scope is created and the
729
+ parameters are given initial values. Parameter passing is by _reference_ not by
730
+ _value_ as it is say Algol, C, or Perl. During the execution of a method,
731
+ parameter values can change (and often do). In fact even the _class_ of the
732
+ object can change.
733
+
734
+ So at present, the name of the parameter is shown. The call-style setting
735
+ ([callstyle]()) can be used to set whether the name is shown or the name and the
736
+ _current_ class of the object.
737
+
738
+ #### Lines You Can Stop At
739
+
740
+ Consider the following little Ruby program.
741
+
742
+ ```ruby
743
+ "Yes it does" =~ /
744
+ (Yes) \s+
745
+ it \s+
746
+ does
747
+ /ix
748
+ puts $1
749
+ ```
750
+
751
+ The stopping points that Ruby records are the last two lines, lines 5 and 6.
752
+
753
+ Inside `byebug` you can get a list of stoppable lines for a file using the `info
754
+ file` command.
755
+
756
+ ### Threading support
757
+
758
+ Byebug supports debugging Ruby programs making use of multiple threads.
759
+
760
+ Let's consider the following sample program:
761
+
762
+ ```ruby
763
+ class Company
764
+ def initialize(task)
765
+ @tasks, @results = Queue.new, Queue.new
766
+
767
+ @tasks.push(task)
768
+ end
769
+
770
+ def run
771
+ manager = Thread.new { manager_routine }
772
+ employee = Thread.new { employee_routine }
773
+
774
+ sleep 6
775
+
776
+ go_home(manager)
777
+ go_home(employee)
778
+ end
779
+
780
+ #
781
+ # An employee doing his thing
782
+ #
783
+ def employee_routine
784
+ loop do
785
+ if @tasks.empty?
786
+ have_a_break(0.1)
787
+ else
788
+ work_hard(@tasks.pop)
789
+ end
790
+ end
791
+ end
792
+
793
+ #
794
+ # A manager doing his thing
795
+ #
796
+ def manager_routine
797
+ loop do
798
+ if @results.empty?
799
+ have_a_break(1)
800
+ else
801
+ show_off(@results.pop)
802
+ end
803
+ end
804
+ end
805
+
806
+ private
807
+
808
+ def show_off(result)
809
+ puts result
810
+ end
811
+
812
+ def work_hard(task)
813
+ task ** task
814
+ end
815
+
816
+ def have_a_break(amount)
817
+ sleep amount
818
+ end
819
+
820
+ def go_home(person)
821
+ person.kill
822
+ end
823
+ end
824
+
825
+ Company.new(10).run
826
+ ```
827
+
828
+ The `Company` class simulates a real company. The company has a manager and an
829
+ employee represented by 2 threads: they work concurrently to achieve the
830
+ company's targets.
831
+
832
+ * The employee looks for tasks to complete. If there are tasks, it works hard to
833
+ complete them. Otherwise he has a quick break.
834
+
835
+ ```ruby
836
+ #
837
+ # An employee doing his thing
838
+ #
839
+ def employee_routine
840
+ loop do
841
+ if @tasks.empty?
842
+ have_a_break(0.1)
843
+ else
844
+ work_hard(@tasks.pop)
845
+ end
846
+ end
847
+ end
848
+ ```
849
+
850
+ * The manager, on the other hand, sits there all day and sporadically checks
851
+ whether there are any results to show off.
852
+
853
+ ```ruby
854
+ #
855
+ # A manager doing his thing
856
+ #
857
+ def manager_routine
858
+ loop do
859
+ if @results.empty?
860
+ have_a_break(1)
861
+ else
862
+ show_off(@results.pop)
863
+ end
864
+ end
865
+ end
866
+ ```
867
+
868
+ We do some abstractions easily readable in the code. Our tasks are just a
869
+ `Queue` of numbers, so are our results. What our employer does when he works is
870
+ some calculation with those numbers and what the manager does with the results
871
+ is printing them to the screen.
872
+
873
+ We instantiate a new company with an initial task and after running that
874
+ company we expect the result to be printed in the screen, but it is not. Lets
875
+ debug our sample program:
876
+
877
+ ```bash
878
+ [1, 10] in /path/to/company.rb
879
+ => 1: class Company
880
+ 2: def initialize(task)
881
+ 3: @tasks, @results = Queue.new, Queue.new
882
+ 4:
883
+ 5: @tasks.push(task)
884
+ 6: end
885
+ 7:
886
+ 8: def run
887
+ 9: manager = Thread.new { manager_routine }
888
+ 10: employee = Thread.new { employee_routine }
889
+ (byebug) l
890
+
891
+ [11, 20] in /path/to/company.rb
892
+ 11:
893
+ 12: sleep 6
894
+ 13:
895
+ 14: go_home(manager)
896
+ 15: go_home(employee)
897
+ 16: end
898
+ 17:
899
+ 18: #
900
+ 19: # An employee doing his thing
901
+ 20: #
902
+
903
+ (byebug) c 12
904
+ Stopped by breakpoint 1 at /path/to/company.rb:12
905
+
906
+ [7, 16] in /path/to/company.rb
907
+ 7:
908
+ 8: def run
909
+ 9: manager = Thread.new { manager_routine }
910
+ 10: employee = Thread.new { employee_routine }
911
+ 11:
912
+ => 12: sleep 6
913
+ 13:
914
+ 14: go_home(manager)
915
+ 15: go_home(employee)
916
+ 16: end
917
+ (byebug) th l
918
+ + 1 #<Thread:0x0000000192f328 run> /path/to/company.rb:12
919
+ 2 #<Thread:0x00000001ff9870@/path/to/company.rb:9 sleep>
920
+ 3 #<Thread:0x00000001ff80d8@/path/to/company.rb:10 sleep>
921
+ ```
922
+
923
+ What we have done here is just start our program and advance to the point
924
+ inmediately after our `employee` and `manager` threads have been created. We
925
+ can then check that the threads are there using the `thread list` command. Now
926
+ we want to debug both of this threads to check what's happening and look for the
927
+ bug.
928
+
929
+ ```bash
930
+ (byebug) th switch 3
931
+
932
+ [5, 14] in /path/to/company.rb
933
+ 5: @tasks.push(task)
934
+ 6: end
935
+ 7:
936
+ 8: def run
937
+ 9: manager = Thread.new { manager_routine }
938
+ => 10: employee = Thread.new { employee_routine }
939
+ 11:
940
+ 12: sleep 6
941
+ 13:
942
+ 14: go_home(manager)
943
+ (byebug) th stop 1; th stop 2
944
+ $ 1 #<Thread:0x00000001307310 sleep> /path/to/company.rb:12
945
+ $ 2 #<Thread:0x000000018bf438 sleep> /path/to/company.rb:9
946
+ (byebug) th l
947
+ $ 1 #<Thread:0x00000001307310 sleep> /path/to/company.rb:12
948
+ $ 2 #<Thread:0x000000018bf438@/path/to/company.rb:9 sleep> /path/to/company.rb:55
949
+ + 3 #<Thread:0x00000001ff80d8@/path/to/company.rb:10 sleep> /path/to/company.rb:10
950
+ ```
951
+
952
+ We have started by debugging the `employee` thread. To do that, we switch to
953
+ that thread using the `thread switch 3` command. The thread number is the one
954
+ specified by `thread list`, we know this is our worker thread because `thread
955
+ list` specifies where the thread is defined in the file (and its current
956
+ position if the thread is currently running).
957
+
958
+ After that we stopped the main thread and the worker thread, using the command
959
+ `thread stop`. We do this because we want to focus on the employee thread first
960
+ and don't want the program to finish while we are debugging. Notice that stopped
961
+ threads are marked with the "$" symbol whereas the current thread is marked with
962
+ the "+" symbol.
963
+
964
+ ```bash
965
+ (byebug) s
966
+
967
+ [17, 26] in /path/to/company.rb
968
+ 17:
969
+ 18: #
970
+ 19: # An employee doing his thing
971
+ 20: #
972
+ 21: def employee_routine
973
+ => 22: loop do
974
+ 23: if @tasks.empty?
975
+ 24: have_a_break(0.1)
976
+ 25: else
977
+ 26: work_hard(@tasks.pop)
978
+ (byebug) s
979
+
980
+ [18, 27] in /path/to/company.rb
981
+ 18: #
982
+ 19: # An employee doing his thing
983
+ 20: #
984
+ 21: def employee_routine
985
+ 22: loop do
986
+ => 23: if @tasks.empty?
987
+ 24: have_a_break(0.1)
988
+ 25: else
989
+ 26: work_hard(@tasks.pop)
990
+ 27: end
991
+ (byebug) n
992
+
993
+ [21, 30] in /path/to/company.rb
994
+ 21: def employee_routine
995
+ 22: loop do
996
+ 23: if @tasks.empty?
997
+ 24: have_a_break(0.1)
998
+ 25: else
999
+ => 26: work_hard(@tasks.pop)
1000
+ 27: end
1001
+ 28: end
1002
+ 29: end
1003
+ 30:
1004
+ (byebug) s
1005
+
1006
+ [49, 58] in /path/to/company.rb
1007
+ 49: def show_off(result)
1008
+ 50: puts result
1009
+ 51: end
1010
+ 52:
1011
+ 53: def work_hard(task)
1012
+ => 54: task ** task
1013
+ 55: end
1014
+ 56:
1015
+ 57: def have_a_break(amount)
1016
+ 58: sleep amount
1017
+ (byebug) s
1018
+
1019
+ [21, 30] in /path/to/company.rb
1020
+ 21: #
1021
+ 22: # An employee doing his thing
1022
+ 23: #
1023
+ 24: def employee_routine
1024
+ 25: loop do
1025
+ => 26: if @tasks.empty?
1026
+ 27: have_a_break(0.1)
1027
+ 28: else
1028
+ 29: work_hard(@tasks.pop)
1029
+ 30: end
1030
+ (byebug) n
1031
+
1032
+ [22, 31] in /path/to/company.rb
1033
+ 22: # An employee doing his thing
1034
+ 23: #
1035
+ 24: def employee_routine
1036
+ 25: loop do
1037
+ 26: if @tasks.empty?
1038
+ => 27: have_a_break(0.1)
1039
+ 28: else
1040
+ 29: work_hard(@tasks.pop)
1041
+ 30: end
1042
+ 31: end
1043
+ (byebug) n
1044
+
1045
+ [21, 30] in /path/to/company.rb
1046
+ 21: #
1047
+ 22: # An employee doing his thing
1048
+ 23: #
1049
+ 24: def employee_routine
1050
+ 25: loop do
1051
+ => 26: if @tasks.empty?
1052
+ 27: have_a_break(0.1)
1053
+ 28: else
1054
+ 29: work_hard(@tasks.pop)
1055
+ 30: end
1056
+ 31: end
1057
+ (byebug)
1058
+ ```
1059
+
1060
+ Everything seems fine in this thread. The first iteration the employee will do
1061
+ his job, and after that it will just check for new tasks and sleep. Let's debug
1062
+ the manager task now:
1063
+
1064
+ ```bash
1065
+ (byebug) th resume 2
1066
+ 2 #<Thread:0x000000019892d8@/path/to/company.rb:12 run> /path/to/company.rb:12
1067
+ (byebug) th switch 2
1068
+ 2 #<Thread:0x000000019892d8@/path/to/company.rb:12 sleep> /path/to/company.rb:12
1069
+
1070
+ [7, 16] in /path/to/company.rb
1071
+ 7:
1072
+ 8: #
1073
+ 9: # A CEO running his company
1074
+ 10: #
1075
+ 11: def run
1076
+ => 12: manager = Thread.new { manager_routine }
1077
+ 13: employee = Thread.new { employee_routine }
1078
+ 14:
1079
+ 15: sleep 6
1080
+ 16:
1081
+ (byebug)
1082
+ ```
1083
+
1084
+ We used the command `thread resume` to restart the manager's thread and then
1085
+ switch to it using `thread switch`. It's important to resume the thread's
1086
+ execution before switching to it, otherwise we'll get a hang because we cannot
1087
+ run a sleeping thread.
1088
+
1089
+ Now we can investigate the problem in the employer's side:
1090
+
1091
+ ```bash
1092
+ (byebug) s
1093
+ [30, 39] in /path/to/company.rb
1094
+ 30:
1095
+ 31: #
1096
+ 32: # A manager doing his thing
1097
+ 33: #
1098
+ 34: def manager_routine
1099
+ => 35: loop do
1100
+ 36: if @results.empty?
1101
+ 37: have_a_break(1)
1102
+ 38: else
1103
+ 39: show_off(@results.pop)
1104
+ (byebug) s
1105
+
1106
+ [31, 40] in /path/to/company.rb
1107
+ 31: #
1108
+ 32: # A manager doing his thing
1109
+ 33: #
1110
+ 34: def manager_routine
1111
+ 35: loop do
1112
+ => 36: if @results.empty?
1113
+ 37: have_a_break(1)
1114
+ 38: else
1115
+ 39: show_off(@results.pop)
1116
+ 40: end
1117
+ (byebug) n
1118
+
1119
+ [32, 41] in /path/to/company.rb
1120
+ 32: # A manager doing his thing
1121
+ 33: #
1122
+ 34: def manager_routine
1123
+ 35: loop do
1124
+ 36: if @results.empty?
1125
+ => 37: have_a_break(1)
1126
+ 38: else
1127
+ 39: show_off(@results.pop)
1128
+ 40: end
1129
+ 41: end
1130
+ (byebug) n
1131
+
1132
+ [31, 40] in /path/to/company.rb
1133
+ 31: #
1134
+ 32: # A manager doing his thing
1135
+ 33: #
1136
+ 34: def manager_routine
1137
+ 35: loop do
1138
+ => 36: if @results.empty?
1139
+ 37: have_a_break(1)
1140
+ 38: else
1141
+ 39: show_off(@results.pop)
1142
+ 40: end
1143
+ (byebug)
1144
+ ```
1145
+
1146
+ Now we can see the problem, the `@results` variable is always empty! The
1147
+ employee forgot to leave the results in his manager's deck. We fix it by
1148
+ changing the line
1149
+
1150
+ ```ruby
1151
+ work_hard(@tasks.pop)
1152
+ ```
1153
+
1154
+ in the `employee_routine` method with the line
1155
+
1156
+ ```ruby
1157
+ @results << work_hard(@tasks.pop)
1158
+ ```
1159
+
1160
+ To be continued...
1161
+
1162
+ * More complex examples with objects, pretty printing and irb.
1163
+ * Line tracing and non-interactive tracing.
1164
+ * Post-mortem debugging.
1165
+
1166
+ ## Getting in & out
1167
+
1168
+ ### Starting byebug
1169
+
1170
+ There is a wrapper script called `byebug` which basically `require`'s the gem
1171
+ then loads `byebug` before its argument (the program to be debugged) is started.
1172
+ If you don't need to pass dash options to your program, which might be confused
1173
+ with byebug options, then you don't need to add the `--`. To get a brief list of
1174
+ options and descriptions, use the `--help` option.
1175
+
1176
+ ```bash
1177
+ $ byebug --help
1178
+
1179
+ byebug 3.5.1
1180
+
1181
+ Usage: byebug [options] <script.rb> -- <script.rb parameters>
1182
+
1183
+ -d, --debug Set $DEBUG=true
1184
+ -I, --include list Add to paths to $LOAD_PATH
1185
+ -m, --[no-]post-mortem Use post-mortem mode
1186
+ -q, --[no-]quit Quit when script finishes
1187
+ -x, --[no-]rc Run byebug initialization file
1188
+ -s, --[no-]stop Stop when script is loaded
1189
+ -r, --require file Require library before script
1190
+ -R, --remote [host:]port Remote debug [host:]port
1191
+ -t, --[no-]trace Turn on line tracing
1192
+ -v, --version Print program version
1193
+ -h, --help Display this message
1194
+
1195
+ ```
1196
+
1197
+ Many options appear as a long option name, such as `--help` and a short one
1198
+ letter option name, such as `-h`. The list of options is detailed below:
1199
+
1200
+ #### -h | --help
1201
+
1202
+ It causes `byebug` to print some basic help and exit.
1203
+
1204
+ #### -v | --version
1205
+
1206
+ It causes `byebug` to print its version number and exit.
1207
+
1208
+ #### -d | --debug
1209
+
1210
+ Sets `$DEBUG` to `true`. Compatible with Ruby's flag.
1211
+
1212
+ #### -I | --include path
1213
+
1214
+ Adds `path` to load path. `path` can be a single path or a colon separated path
1215
+ list.
1216
+
1217
+ #### -m | --post-mortem
1218
+
1219
+ If your program raises an exception that isn't caught you can enter byebug for
1220
+ inspection of what went wrong. You may also want to use this option in
1221
+ conjunction with `--no-stop`. See also [Post-Mortem Debugging]().
1222
+
1223
+ #### --no-quit
1224
+
1225
+ Keep inside `byebug` after your program terminates normally.
1226
+
1227
+ #### --no-stop
1228
+
1229
+ Normally `byebug` stops before executing the first statement. If instead you
1230
+ want it to start running initially and perhaps break it later in the execution,
1231
+ use this option.
1232
+
1233
+ #### -r | --require lib
1234
+
1235
+ Requires the library before executing the script. This option is compatible
1236
+ with Ruby's.
1237
+
1238
+ #### -t | --trace
1239
+
1240
+ Turns on line tracing. Running `byebug --trace <rubyscript>.rb` is pretty much
1241
+ like running `ruby -rtracer <rubyscript>.rb`. If all you want to do however is
1242
+ get a line trace, `tracer` is most likely faster than `byebug`.
1243
+
1244
+ ```bash
1245
+ $ time byebug --trace --no-stop hanoi.rb > /dev/null
1246
+
1247
+ real 0m0.743s
1248
+ user 0m0.668s
1249
+ sys 0m0.068s
1250
+ $ time ruby -rtracer hanoi.rb > /dev/null
1251
+
1252
+ real 0m0.077s
1253
+ user 0m0.072s
1254
+ sys 0m0.004s
1255
+ ```
1256
+
1257
+ ### Byebug default options
1258
+
1259
+ Byebug has many command-line options,; it seems that some people want to set
1260
+ them differently from the defaults. For example, some people may want
1261
+ `--no-quit` to be the default behavior. One could write a wrapper script or set
1262
+ a shell alias to handle this.
1263
+
1264
+ ### Command Files
1265
+
1266
+ A command file is a file of lines that are `byebug` commands. Comments (lines
1267
+ starting with `#`) may also be included. An empty line in a command file does
1268
+ nothing; it does not mean to repeat the last command, as it would from the
1269
+ terminal.
1270
+
1271
+ When you start `byebug`, it automatically executes commands from its
1272
+ _init file_, called `.byebugrc`. During startup, `byebug` does the following:
1273
+
1274
+ * __Processes command line options and operands.__ Reads the init file in your
1275
+ current directory, if any, and then checks your home directory. The home
1276
+ directory is the directory named in the `$HOME` or `$HOMEPATH` environment
1277
+ variable. Thus, you can have more than one init file, one generic in your home
1278
+ directory, and another, specific to the program you are debugging, in the
1279
+ directory where you invoke `byebug`.
1280
+
1281
+ You can also request the execution of a command file with the `source` command
1282
+ (see [Source]()).
1283
+
1284
+ ### Quitting byebug
1285
+
1286
+ To exit `byebug`, use the `quit` command (abbreviated to `q`). Normally, if you
1287
+ are in an interactive session, this command will prompt to ask if you really
1288
+ want to quit. If you want to quit without being prompted, enter `quit
1289
+ unconditionally` (abbreviated to `q!`).
1290
+
1291
+ Another way to terminate byebug is to use the `kill` command. This does the
1292
+ more forceful `kill -9`. It can be used in cases where `quit` doesn't work (I
1293
+ haven't seen those yet).
1294
+
1295
+ ### Calling byebug from inside your program
1296
+
1297
+ Running a program from byebug adds a bit of overhead and slows it down a little.
1298
+ Furthermore, by necessity, debuggers change the operation of the program they
1299
+ are debugging. And this can lead to unexpected and unwanted differences. It has
1300
+ happened so often that the term
1301
+ [Heisenbugs](http://en.wikipedia.org/wiki/Heisenbug) was coined to describe the
1302
+ situation where using a debugger (among other possibilities) changes the
1303
+ behavior of the program so that the bug doesn't manifest itself anymore.
1304
+
1305
+ There is another way to get into byebug which adds no overhead or slowdown until
1306
+ you reach the point at which you want to start debugging. However here you must
1307
+ change the script and make an explicit call to byebug. Because byebug isn't
1308
+ involved before the first call, there is no overhead and the script will run
1309
+ at the same speed as if there were no byebug.
1310
+
1311
+ To enter byebug this way, just drop `byebug` in whichever line you want to start
1312
+ debugging at. You also have to require byebug somehow. If using bundler, it will
1313
+ take care of that for you, otherwise you can use the ruby `-r` flag or add
1314
+ `require "byebug"` in the line previous to the `byebug` call.
1315
+
1316
+ If speed is crucial, you may want to start and stop this around certain sections
1317
+ of code, using `Byebug.start` and `Byebug.stop`. Alternatively, instead of
1318
+ issuing an explicit `Byebug.stop` you can add a block to the `Byebug.start` and
1319
+ debugging is turned on for that block. If the block of code raises an uncaught
1320
+ exception that would cause the block to terminate, the `stop` will occur. See
1321
+ [Byebug.start with a block]().
1322
+
1323
+ When `byebug`is run, `.byebugrc` is read.
1324
+
1325
+ You may want to enter byebug at several points in the program where there is a
1326
+ problem you want to investigate. And since `byebug` is just a method call it's
1327
+ possible to enclose it in a conditional expression, for example
1328
+
1329
+ ```ruby
1330
+ byebug if "bar" == foo and 20 == iter_count
1331
+ ```
1332
+
1333
+ ### Restarting Byebug
1334
+
1335
+ You can restart the program using `restart [program args]`. This is a re-exec -
1336
+ all byebug state is lost. If command arguments are passed, those are used.
1337
+ Otherwise program arguments from the last invocation are used.
1338
+
1339
+ You won't be able to restart your program in all cases. First, the program
1340
+ should have been invoked at the outset rather than having been called from
1341
+ inside your program or invoked as a result of post-mortem handling.
1342
+
1343
+ Also, since this relies on the OS `exec` call, this command is available only if
1344
+ your OS supports `exec`.
1345
+
1346
+ ## Debugging remote programs
1347
+
1348
+ It is possible to set up debugging so that you can issue byebug commands from
1349
+ outside the process running the Ruby code. In fact, you might even be on a
1350
+ different computer than the one running the Ruby program.
1351
+
1352
+ To setup remote debugging, drop the following somewhere before the point in the
1353
+ program that you want to debug (In Rails, the
1354
+ `config/environments/development.rb` could be a good candidate).
1355
+
1356
+ ```ruby
1357
+ require "byebug/core"
1358
+ Byebug.wait_connection = true
1359
+ Byebug.start_server("localhost", <port>)
1360
+ ```
1361
+
1362
+ Once this piece gets executed, you can connect to the remote debugger from your
1363
+ local machine, by running: `byebug -R localhost:<port>`.
1364
+
1365
+ Next, at a place of program execution which gets run just before the code you
1366
+ want to debug, add a call to `byebug` as was done without remote execution:
1367
+
1368
+ ```ruby
1369
+ # work, work, work...
1370
+ byebug
1371
+ some ruby code # byebug will stop before this line is run
1372
+ ```
1373
+
1374
+ ## Byebug Command Reference
1375
+
1376
+ ### Command Syntax
1377
+
1378
+ Usually a command is put on a single line. There is no limit on how long it can
1379
+ be. It starts with a command name, which is followed by arguments whose meaning
1380
+ depends on the command name. For example, the command `step` accepts an
1381
+ argument which is the number of times to step, as in `step 5`. You can also use
1382
+ the `step` command with no arguments. Some commands do not allow any arguments.
1383
+
1384
+ Multiple commands can be put on a line by separating each with a semicolon `;`.
1385
+ You can disable the meaning of a semicolon to separate commands by escaping it
1386
+ with a backslash.
1387
+
1388
+ For example, you might want to enter the following code to compute the 5th
1389
+ Fibonacci number.
1390
+
1391
+ ```bash
1392
+ (byebug) fib1=0; fib2=1; 5.times {|temp| temp=fib1; fib1=fib2; fib2 += temp }
1393
+ 0
1394
+ 1
1395
+ SyntaxError Exception: /home/davidr/Proyectos/sample_app/trace.rb:1: syntax
1396
+ error, unexpected end-of-input, expecting '}'
1397
+ 5.times { |temp| temp=fib1
1398
+ ^
1399
+ nil
1400
+ 1
1401
+ SyntaxError Exception: /home/davidr/Proyectos/sample_app/trace.rb:1: syntax
1402
+ error, unexpected tSTRING_DEND, expecting end-of-input
1403
+ fib2 += temp }
1404
+ ^
1405
+ nil
1406
+ (byebug) fib1=0\; fib2=1\; 5.times {|temp| temp=fib1\; fib1=fib2\; fib2 += temp }
1407
+ 5
1408
+ (byebug) fib2
1409
+ 8
1410
+ ```
1411
+
1412
+ You might also consider using the [irb]() or [pry]() commands and then you
1413
+ won't have to escape semicolons.
1414
+
1415
+ A blank line as input (typing just `<RET>`) means to repeat the previous
1416
+ command.
1417
+
1418
+ Byebug uses readline, which handles line editing and retrieval of previous
1419
+ commands. Up arrow, for example, moves to the previous byebug command; down
1420
+ arrow moves to the next more recent command (provided you are not already at
1421
+ the last command). Command history is saved in file `.byebug_history`. A limit
1422
+ is put on the history size. You can see this with the `show history size`
1423
+ command. See [history]() for history parameters.
1424
+
1425
+ ### Command Output
1426
+
1427
+ In the command-line interface, when `byebug` is waiting for input it presents a
1428
+ prompt of the form `(byebug)`. If the program has terminated normally the prompt
1429
+ will be `(byebug:ctrl)` and in post-mortem debugging it will be
1430
+ `(byebug:post-mortem)`.
1431
+
1432
+ Whenever `byebug` gives an error message such as for an invalid command or an
1433
+ invalid location position, it will generally preface the message with `***`.
1434
+
1435
+ ### Command Help
1436
+
1437
+ Once inside `byebug` you can always ask it for information on its commands using
1438
+ the `help` command. You can use `help` (abbreviated `h`) with no arguments to
1439
+ display a short list of named classes of commands
1440
+
1441
+ ```bash
1442
+ (byebug) help
1443
+
1444
+ break -- Sets breakpoints in the source code
1445
+ catch -- Handles exception catchpoints
1446
+ condition -- Sets conditions on breakpoints
1447
+ continue -- Runs until program ends, hits a breakpoint or reaches a line
1448
+ delete -- Deletes breakpoints
1449
+ disable -- Disables breakpoints or displays
1450
+ display -- Evaluates expressions every time the debugger stops
1451
+ down -- Moves to a lower frame in the stack trace
1452
+ edit -- Edits source files
1453
+ enable -- Enables breakpoints or displays
1454
+ finish -- Runs the program until frame returns
1455
+ frame -- Moves to a frame in the call stack
1456
+ help -- Helps you using byebug
1457
+ history -- Shows byebug's history of commands
1458
+ info -- Shows several informations about the program being debugged
1459
+ interrupt -- Interrupts the program
1460
+ irb -- Starts an IRB session
1461
+ kill -- Sends a signal to the current process
1462
+ list -- Lists lines of source code
1463
+ method -- Shows methods of an object, class or module
1464
+ next -- Runs one or more lines of code
1465
+ pry -- Starts a Pry session
1466
+ quit -- Exits byebug
1467
+ restart -- Restarts the debugged program
1468
+ save -- Saves current byebug session to a file
1469
+ set -- Modifies byebug settings
1470
+ show -- Shows byebug settings
1471
+ source -- Restores a previously saved byebug session
1472
+ step -- Steps into blocks or methods one or more times
1473
+ thread -- Commands to manipulate threads
1474
+ tracevar -- Enables tracing of a global variable
1475
+ undisplay -- Stops displaying all or some expressions when program stops
1476
+ untracevar -- Stops tracing a global variable
1477
+ up -- Moves to a higher frame in the stack trace
1478
+ var -- Shows variables and its values
1479
+ where -- Displays the backtrace
1480
+
1481
+ ```
1482
+
1483
+ With a command name, `help` displays information on how to use the command.
1484
+
1485
+ ```bash
1486
+ (byebug) help list
1487
+
1488
+ l[ist][[-=]][ nn-mm]
1489
+
1490
+ Lists lines of source code
1491
+
1492
+ Lists lines forward from current line or from the place where code was
1493
+ last listed. If "list-" is specified, lists backwards instead. If
1494
+ "list=" is specified, lists from current line regardless of where code
1495
+ was last listed. A line range can also be specified to list specific
1496
+ sections of code.
1497
+ (byebug)
1498
+ ```
1499
+
1500
+ A number of commands, namely `info`, `set`, `show`, `enable` and `disable`, have
1501
+ many sub-parameters or _subcommands_. When you ask for help for one of these
1502
+ commands, you will get help for all of the subcommands that command offers.
1503
+ Sometimes you may want help only on a subcommand and to do this just follow the
1504
+ command with its subcommand name. For example, `help info breakpoints`will just
1505
+ give help about the `info breakpoints` command. Furthermore it will give longer
1506
+ help than the summary information that appears when you ask for help. You don't
1507
+ need to list the full subcommand name, just enough of the letters to make that
1508
+ subcommand distinct from others will do. For example, `help info b` is the same
1509
+ as `help info breakpoints`.
1510
+
1511
+ Some examples follow.
1512
+
1513
+ ```bash
1514
+ (byebug) help info
1515
+ info[ subcommand]
1516
+
1517
+ Generic command for showing things about the program being debugged.
1518
+
1519
+ --
1520
+ List of "info" subcommands:
1521
+ --
1522
+ info args -- Argument variables of current stack frame
1523
+ info breakpoints -- Status of user-settable breakpoints
1524
+ info catch -- Exceptions that can be caught in the current stack frame
1525
+ info display -- Expressions to display when program stops
1526
+ info file -- Info about a particular file read in
1527
+ info files -- File names and timestamps of files read in
1528
+ info line -- Line number and filename of current position in source file
1529
+ info program -- Execution status of the program
1530
+ ```
1531
+
1532
+ ```bash
1533
+ (byebug) help info breakpoints
1534
+ Status of user-settable breakpoints.
1535
+ Without argument, list info about all breakpoints.
1536
+ With an integer argument, list info on that breakpoint.
1537
+ ```
1538
+
1539
+ ```bash
1540
+ (byebug) help info b
1541
+ Status of user-settable breakpoints.
1542
+ Without argument, list info about all breakpoints.
1543
+ With an integer argument, list info on that breakpoint.
1544
+ ```
1545
+
1546
+ ### Control Commands: quit, restart, source
1547
+
1548
+ #### Quit
1549
+
1550
+ To exit `byebug`, type `quit` (abbreviated to `q`). Normally, if you are in an
1551
+ interactive session, this command will prompt you to confirm you really want to
1552
+ quit. If you want to quit without being prompted, enter `quit unconditionally`
1553
+ (abbreviated to `q!`).
1554
+
1555
+ #### Restart
1556
+
1557
+ To restart the program, use the `restart|r` command. This is a re-exec - all
1558
+ `byebug` state is lost. If command arguments are passed, those are used.
1559
+ Otherwise program arguments from the last invocation are used.
1560
+
1561
+ You won't be able to restart your program in all cases. First, the program
1562
+ should have been invoked at the outset rather than having been called from
1563
+ inside your program or invoked as a result of post-mortem handling.
1564
+
1565
+ #### Source
1566
+
1567
+ You can run `byebug` commands inside a file, using the command `source <file>`.
1568
+ The lines in a command file are executed sequentially. They are not printed as
1569
+ they are executed. If there is an error, execution proceeds to the next command
1570
+ in the file. For information about command files that get run automatically on
1571
+ startup see [Command Files]().
1572
+
1573
+ ### Display Commands: display, undisplay
1574
+
1575
+ #### Display
1576
+
1577
+ If you find that you want to print the value of an expression frequently (to see
1578
+ how it changes), you might want to add it to the *automatic display list** so
1579
+ that `byebug` evaluates it each time your program stops or after a line is
1580
+ printed if line tracing is enabled. Each expression added to the list is given a
1581
+ number to identify it; to remove an expression from the list, you specify that
1582
+ number. The automatic display looks like this:
1583
+
1584
+ ```bash
1585
+ (byebug) display n
1586
+ 1: n = 3
1587
+ ```
1588
+
1589
+ This display shows item numbers, expressions and their current values. If the
1590
+ expression is undefined or illegal the expression will be printed but no value
1591
+ will appear.
1592
+
1593
+ ```bash
1594
+ (byebug) display undefined_variable
1595
+ 2: undefined_variable =
1596
+ (byebug) display 1/0
1597
+ 3: 1/0 =
1598
+ ```
1599
+
1600
+ If you use `display` with no argument, `byebug` will display the current values
1601
+ of the expressions in the list, just as it is done when your program stops.
1602
+ Using `info display` has the same effect.
1603
+
1604
+ #### Undisplay
1605
+
1606
+ To remove an item from the list, use `undisplay` followed by the number
1607
+ identifying the expression you want to remove. `undisplay` does not repeat if
1608
+ you press `<RET>`after using it (otherwise you would just get the error _No
1609
+ display number n_)
1610
+
1611
+ You can also temporarily disable or enable display expressions, so that the will
1612
+ not be printed but they won't be forgotten either, so you can toggle them again
1613
+ later. To do that, use `disable display` or `enable display` followed by the
1614
+ expression number.
1615
+
1616
+ ### Evaluation of expressions: irb, pry
1617
+
1618
+ To examine and change data in your script you can just evaluate any Ruby code
1619
+ from `byebug`'s prompt. Any input that is not recognized as a command will be
1620
+ evaluated, so `byebug` essentially works as a REPL. If you want to evaluate
1621
+ something that conflicts with a `byebug` command, just use Ruby's `eval`. For
1622
+ example, if you want to print a variable called `n`, type `eval n` because
1623
+ typing just `n` will execute `byebug`'s command `next`.
1624
+
1625
+ Finally, if you need more advanced functionality from REPL's, you can enter
1626
+ `irb` or `pry` using `irb` or `pry` commands. The binding's environment will be
1627
+ set to the current state in the program. When you leave the repl and go back to
1628
+ `byebug`'s command prompt we show the file, line and text position of the
1629
+ program. If you issue a `list` without location information, the default
1630
+ location used is the current line rather than the current position that may have
1631
+ got updated via a prior `list` command.
1632
+
1633
+ ```
1634
+ $ byebug triangle.rb
1635
+ [1, 10] in /path/to/triangle.rb
1636
+ 1: # Compute the n'th triangle number, the hard way: triangle(n) == (n*(n+1))/2
1637
+ => 2: def triangle(n)
1638
+ 3: tri = 0
1639
+ 4: 0.upto(n) do |i|
1640
+ 5: tri += i
1641
+ 6: end
1642
+ 7: tri
1643
+ 8: end
1644
+ 9:
1645
+ 10: if __FILE__ == $0
1646
+ (byebug) irb
1647
+ irb(main):001:0> (0..6).inject { |sum, i| sum += i }
1648
+ => 21
1649
+ irb(main):002:0> exit
1650
+ (byebug)
1651
+ ```
1652
+
1653
+ ### Printing variables: var
1654
+
1655
+ Byebug can print many different information about variables. Such as
1656
+
1657
+ * `var const <object>`. Show the constants of `<object>`. This is basically
1658
+ listing variables and their values in `<object>.constant`.
1659
+ * `var instance <object>`. Show the instance variables of `<object>`. This is
1660
+ basically listing `<object>.instance_variables`.
1661
+ * `var instance`. Show instance_variables of `self`.
1662
+ * `var local`. Show local variables.
1663
+ * `var global`. Show global variables.
1664
+ * `var all`. Show local, global and instance and class variables of `self`.
1665
+ * `method instance <object>`. Show methods of `<object>`. Basically this is the
1666
+ same as running `<object>.instance_methods(false)`.
1667
+ * `method <class-or-module>`. Show methods of the class or module
1668
+ `<class-or-module>`. Basically this is the same as running
1669
+ `<class-or-module>.methods`.
1670
+
1671
+ ### Examining Program Source Files: list
1672
+
1673
+ `byebug` can print parts of your script's source. When your script stops,
1674
+ `byebug` spontaneously lists the source code around the line where it stopped
1675
+ that line. It does that when you change the current stack frame as well.
1676
+ Implicitly there is a default line location. Each time a list command is run
1677
+ that implicit location is updated, so that running several list commands in
1678
+ succession shows a contiguous block of program text.
1679
+
1680
+ If you don't need code context displayed every time, you can issue the `set
1681
+ noautolist` command. Now whenever you want code listed, you can explicitly issue
1682
+ the `list` command or its abbreviation `l`. Notice that when a second listing is
1683
+ displayed, we continue listing from the place we last left off. When the
1684
+ beginning or end of the file is reached, the line range to be shown is adjusted
1685
+ so "it doesn't overflow". You can set the `noautolist` option by default by
1686
+ dropping `set noautolist` in byebug's startup file `.byebugrc`.
1687
+
1688
+ If you want to set how many lines to be printed by default rather than use the
1689
+ initial number of lines, 10, use the `set listsize` command ([listsize()). To
1690
+ see the entire program in one shot, give an explicit starting and ending line
1691
+ number. You can print other portions of source files by giving explicit position
1692
+ as a parameter to the list command.
1693
+
1694
+ There are several ways to specify what part of the file you want to print. `list
1695
+ nnn` prints lines centered around line number `nnn` in the current source file.
1696
+ `l` prints more lines, following the last lines printed. `list -` prints lines
1697
+ just before the lines last printed. `list nnn-mmm` prints lines between `nnn`
1698
+ and `mmm` inclusive. `list =` prints lines centered around where the script is
1699
+ stopped. Repeating a `list` command with `RET` discards the argument, so it is
1700
+ equivalent to typing just `list`. This is more useful than listing the same
1701
+ lines again. An exception is made for an argument of `-`: that argument is
1702
+ preserved in repetition so that each repetition moves up in the source file.
1703
+
1704
+ ### Editing Source files: edit
1705
+
1706
+ To edit a source file, use the `edit` command. The editor of your choice is invoked
1707
+ with the current line set to the active line in the program. Alternatively, you can
1708
+ give a line specification to specify what part of the file you want to edit.
1709
+
1710
+ You can customize `byebug` to use any editor you want by using the `EDITOR`
1711
+ environment variable. The only restriction is that your editor (say `ex`) recognizes
1712
+ the following command-line syntax:
1713
+
1714
+ ```
1715
+ ex +nnn file
1716
+ ```
1717
+
1718
+ The optional numeric value `+nnn` specifies the line number in the file where
1719
+ you want to start editing. For example, to configure `byebug` to use the `vi` editor,
1720
+ you could use these commands with the `sh` shell:
1721
+
1722
+ ```bash
1723
+ EDITOR=/usr/bin/vi
1724
+ export EDITOR
1725
+ byebug ...
1726
+ ```
1727
+
1728
+ or in the `csh` shell,
1729
+
1730
+ ```bash
1731
+ setenv EDITOR /usr/bin/vi
1732
+ byebug ...
1733
+ ```
1734
+
1735
+ ### The stack trace
1736
+
1737
+ When your script has stopped, one thing you'll probably want to know is where
1738
+ it stopped and some idea of how it got there.
1739
+
1740
+ Each time your script calls a method or enters a block, information about this
1741
+ action is saved. This information is what we call a _stack frame_ or just a
1742
+ _frame_. The set of all frames at a certain point in the program's execution is
1743
+ called the _stack trace_ or just the _stack_. Each frame contains a line number
1744
+ and the source-file name that the line refers to. If the frame is the beginning
1745
+ of a method it also contains the method name.
1746
+
1747
+ When your script is started, the stack has only one frame, that of the `main`
1748
+ method. This is called the _initial frame_ or the _outermost frame_. Each time
1749
+ a method is called, a new frame is added to the stack trace. Each time a method
1750
+ returns, the frame for that method invocation is removed. If a method is
1751
+ recursive, there can be many frames for the same method. The frame for the
1752
+ method in which execution is actually occurring is called the _innermost
1753
+ frame_. This is the most recently created of all the stack frames that still
1754
+ exist.
1755
+
1756
+ Every time the debugger stops, one entry in the stack is selected as the
1757
+ current frame. Many byebug commands refer implicitly to the selected block. In
1758
+ particular, whenever you ask Byebug to list lines without giving a line number
1759
+ or location the value is found in the selected frame. There are special
1760
+ commands to select whichever frame you're interested in, such as `up`, `down`
1761
+ and `frame`.
1762
+
1763
+ After switching frames, when you issue a `list` command without any position
1764
+ information, the position used is the location in the frame that you just
1765
+ switched between, rather than a location that got updated via a prior `list`
1766
+ command.
1767
+
1768
+ Byebug assigns numbers to all existing stack frames, starting with zero for the
1769
+ _innermost frame_, one for the frame that called it, and so on upward. These
1770
+ numbers do not really exist in your script, they are assigned by Byebug to give
1771
+ you a way of designating stack frames in commands.
1772
+
1773
+ ### Printing the Stack: `where` command
1774
+
1775
+ The command `where`, aliased to `bt` or `backtrace` prints the call stack., It
1776
+ shows one line per frame, for many frames, starting with the place that you are
1777
+ stopped at (frame zero), followed by its caller (frame one), and on up the
1778
+ stack. Each frame is numbered and can be referred to in the `frame` command.
1779
+ The position of the current frame is marked with `-->`.
1780
+
1781
+ The are some special frames generated for methods that are implemented in C.
1782
+ One such method is `each`. They are marked differently in the call stack to
1783
+ indicate that we cannot switch to those frames. This is because they have no
1784
+ source code in Ruby, so we can not debug them using Byebug.
1785
+
1786
+ ```bash
1787
+ (byebug) where
1788
+ --> #0 Object.gcd(a#Fixnum, b#Fixnum) at line gcd.rb:6
1789
+ #1 at line gcd.rb:19
1790
+ ```
1791
+
1792
+ ### Selecting a frame: `up`, `down` and `frame` commands
1793
+
1794
+ * `up <n>`: Move `n` frames up the stack, towards the outermost frame (higher
1795
+ frame numbers, frames that have existed longer). `n` defaults to one.
1796
+
1797
+ * `down <n>`: Move `n` frames down the stack, towards the _innermost frame_
1798
+ (lower frame numbers, frames that were created more recently). `n` defaults to
1799
+ one.
1800
+
1801
+ * `frame <n>`: Allows you to move to an arbitrary frame. `n` is the stack frame
1802
+ number or 0 if no frame number is given. `frame 0` will show the current and
1803
+ most recent stack frame. If a negative number is given, counting is from the
1804
+ other end of the stack frame, so `frame -1` shows the least-recent, outermost
1805
+ stack frame. Without an argument, `frame` prints the current stack frame.