rails-rfc6570 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +2 -1
  4. data/lib/rails/rfc6570/version.rb +1 -1
  5. data/rails-rfc6570.gemspec +2 -2
  6. data/spec/spec_helper.rb +8 -5
  7. data/vendor/bundle/ruby/3.3.0/bundler/gems/rubocop-config-943facea9d8f/LICENSE +21 -0
  8. data/vendor/bundle/ruby/3.3.0/bundler/gems/rubocop-config-943facea9d8f/README.md +23 -0
  9. data/vendor/bundle/ruby/3.3.0/bundler/gems/rubocop-config-943facea9d8f/rubocop-config.gemspec +31 -0
  10. data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/CHANGELOG.md +154 -0
  11. data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/MIT-LICENSE +21 -0
  12. data/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.1/README.rdoc +57 -0
  13. data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/CHANGELOG.md +113 -0
  14. data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/MIT-LICENSE +21 -0
  15. data/vendor/bundle/ruby/3.3.0/gems/actionview-7.2.1/README.rdoc +40 -0
  16. data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/CHANGELOG.md +258 -0
  17. data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/MIT-LICENSE +20 -0
  18. data/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.1/README.rdoc +40 -0
  19. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
  20. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
  21. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/README.md +121 -0
  22. data/vendor/bundle/ruby/3.3.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
  23. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/MIT-LICENSE +21 -0
  24. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/README.md +243 -0
  25. data/vendor/bundle/ruby/3.3.0/gems/appraisal-2.5.0/appraisal.gemspec +29 -0
  26. data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/LICENSE.MIT +20 -0
  27. data/vendor/bundle/ruby/3.3.0/gems/ast-2.4.2/README.YARD.md +12 -0
  28. data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/LICENSE +20 -0
  29. data/vendor/bundle/ruby/3.3.0/gems/benchmark-ips-2.13.0/README.md +279 -0
  30. data/vendor/bundle/ruby/3.3.0/gems/bigdecimal-3.1.8/LICENSE +56 -0
  31. data/vendor/bundle/ruby/3.3.0/gems/bigdecimal-3.1.8/bigdecimal.gemspec +57 -0
  32. data/vendor/bundle/ruby/3.3.0/gems/builder-3.3.0/MIT-LICENSE +20 -0
  33. data/vendor/bundle/ruby/3.3.0/gems/builder-3.3.0/README.md +258 -0
  34. data/vendor/bundle/ruby/3.3.0/gems/builder-3.3.0/builder.gemspec +49 -0
  35. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/CHANGELOG.md +934 -0
  36. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/LICENSE +23 -0
  37. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/README.md +199 -0
  38. data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/MIT-LICENSE +22 -0
  39. data/vendor/bundle/ruby/3.3.0/gems/coderay-1.1.3/README_INDEX.rdoc +123 -0
  40. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/CHANGELOG.md +593 -0
  41. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/LICENSE.txt +21 -0
  42. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/README.md +407 -0
  43. data/vendor/bundle/ruby/3.3.0/gems/connection_pool-2.4.1/LICENSE +20 -0
  44. data/vendor/bundle/ruby/3.3.0/gems/connection_pool-2.4.1/README.md +135 -0
  45. data/vendor/bundle/ruby/3.3.0/gems/connection_pool-2.4.1/connection_pool.gemspec +24 -0
  46. data/vendor/bundle/ruby/3.3.0/gems/crass-1.0.6/LICENSE +18 -0
  47. data/vendor/bundle/ruby/3.3.0/gems/crass-1.0.6/README.md +192 -0
  48. data/vendor/bundle/ruby/3.3.0/gems/crass-1.0.6/crass.gemspec +31 -0
  49. data/vendor/bundle/ruby/3.3.0/gems/diff-lcs-1.5.1/README.rdoc +84 -0
  50. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/LICENSE +21 -0
  51. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/README.md +409 -0
  52. data/vendor/bundle/ruby/3.3.0/gems/docile-1.4.1/docile.gemspec +36 -0
  53. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/LICENSE.txt +22 -0
  54. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/drb.gemspec +41 -0
  55. data/vendor/bundle/ruby/3.3.0/gems/erubi-1.13.0/CHANGELOG +107 -0
  56. data/vendor/bundle/ruby/3.3.0/gems/erubi-1.13.0/MIT-LICENSE +21 -0
  57. data/vendor/bundle/ruby/3.3.0/gems/erubi-1.13.0/README.rdoc +151 -0
  58. data/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.5/MIT-LICENSE +20 -0
  59. data/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.5/README.md +127 -0
  60. data/vendor/bundle/ruby/3.3.0/gems/io-console-0.7.2/LICENSE.txt +22 -0
  61. data/vendor/bundle/ruby/3.3.0/gems/io-console-0.7.2/README.md +46 -0
  62. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/LICENSE.txt +22 -0
  63. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/README.md +405 -0
  64. data/vendor/bundle/ruby/3.3.0/gems/irb-1.14.0/irb.gemspec +46 -0
  65. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/LICENSE +56 -0
  66. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/README.md +416 -0
  67. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/json.gemspec +68 -0
  68. data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/LICENSE.txt +21 -0
  69. data/vendor/bundle/ruby/3.3.0/gems/language_server-protocol-3.17.0.3/README.md +88 -0
  70. data/vendor/bundle/ruby/3.3.0/gems/loofah-2.22.0/CHANGELOG.md +566 -0
  71. data/vendor/bundle/ruby/3.3.0/gems/loofah-2.22.0/MIT-LICENSE.txt +23 -0
  72. data/vendor/bundle/ruby/3.3.0/gems/loofah-2.22.0/README.md +363 -0
  73. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/CHANGELOG.md +15 -0
  74. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/LICENSE +22 -0
  75. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/README.markdown +101 -0
  76. data/vendor/bundle/ruby/3.3.0/gems/method_source-1.1.0/method_source.gemspec +19 -0
  77. data/vendor/bundle/ruby/3.3.0/gems/minitest-5.25.1/README.rdoc +835 -0
  78. data/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.7-x86_64-linux/LICENSE-DEPENDENCIES.md +2224 -0
  79. data/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.7-x86_64-linux/LICENSE.md +9 -0
  80. data/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.7-x86_64-linux/README.md +290 -0
  81. data/vendor/bundle/ruby/3.3.0/gems/parallel-1.26.3/MIT-LICENSE.txt +20 -0
  82. data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/LICENSE.txt +25 -0
  83. data/vendor/bundle/ruby/3.3.0/gems/parser-3.3.4.2/parser.gemspec +43 -0
  84. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/CHANGELOG.md +1141 -0
  85. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/LICENSE +25 -0
  86. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/README.md +466 -0
  87. data/vendor/bundle/ruby/3.3.0/gems/pry-0.14.2/lib/pry/slop/LICENSE +20 -0
  88. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/CHANGELOG.md +230 -0
  89. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/LICENSE +20 -0
  90. data/vendor/bundle/ruby/3.3.0/gems/pry-byebug-3.10.1/README.md +189 -0
  91. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.1/CHANGELOG.md +491 -0
  92. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.1/LICENSE.txt +22 -0
  93. data/vendor/bundle/ruby/3.3.0/gems/public_suffix-6.0.1/README.md +222 -0
  94. data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  95. data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/README.rdoc +60 -0
  96. data/vendor/bundle/ruby/3.3.0/gems/rack-3.1.7/CHANGELOG.md +994 -0
  97. data/vendor/bundle/ruby/3.3.0/gems/rack-3.1.7/MIT-LICENSE +20 -0
  98. data/vendor/bundle/ruby/3.3.0/gems/rack-3.1.7/README.md +328 -0
  99. data/vendor/bundle/ruby/3.3.0/gems/rack-test-2.1.0/MIT-LICENSE.txt +20 -0
  100. data/vendor/bundle/ruby/3.3.0/gems/rack-test-2.1.0/README.md +139 -0
  101. data/vendor/bundle/ruby/3.3.0/gems/rails-dom-testing-2.2.0/MIT-LICENSE +23 -0
  102. data/vendor/bundle/ruby/3.3.0/gems/rails-dom-testing-2.2.0/README.md +91 -0
  103. data/vendor/bundle/ruby/3.3.0/gems/rails-html-sanitizer-1.6.0/CHANGELOG.md +201 -0
  104. data/vendor/bundle/ruby/3.3.0/gems/rails-html-sanitizer-1.6.0/MIT-LICENSE +23 -0
  105. data/vendor/bundle/ruby/3.3.0/gems/rails-html-sanitizer-1.6.0/README.md +271 -0
  106. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/CHANGELOG.md +361 -0
  107. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/MIT-LICENSE +20 -0
  108. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/README.rdoc +39 -0
  109. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/app/templates/README.md.tt +24 -0
  110. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +28 -0
  111. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/MIT-LICENSE.tt +20 -0
  112. data/vendor/bundle/ruby/3.3.0/gems/railties-7.2.1/lib/rails/generators/rails/plugin/templates/README.md.tt +28 -0
  113. data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/LICENSE +20 -0
  114. data/vendor/bundle/ruby/3.3.0/gems/rainbow-3.1.1/README.markdown +227 -0
  115. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/MIT-LICENSE +21 -0
  116. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/README.rdoc +155 -0
  117. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/rake.gemspec +101 -0
  118. data/vendor/bundle/ruby/3.3.0/gems/rake-release-1.3.0/LICENSE +21 -0
  119. data/vendor/bundle/ruby/3.3.0/gems/rake-release-1.3.0/README.md +107 -0
  120. data/vendor/bundle/ruby/3.3.0/gems/rake-release-1.3.0/rake-release.gemspec +23 -0
  121. data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/LICENSE.rdoc +57 -0
  122. data/vendor/bundle/ruby/3.3.0/gems/rdoc-6.7.0/README.rdoc +129 -0
  123. data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/LICENSE +22 -0
  124. data/vendor/bundle/ruby/3.3.0/gems/regexp_parser-2.9.2/regexp_parser.gemspec +34 -0
  125. data/vendor/bundle/ruby/3.3.0/gems/reline-0.5.9/README.md +94 -0
  126. data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/LICENSE.txt +22 -0
  127. data/vendor/bundle/ruby/3.3.0/gems/rexml-3.3.6/README.md +57 -0
  128. data/vendor/bundle/ruby/3.3.0/gems/rspec-3.13.0/LICENSE.md +27 -0
  129. data/vendor/bundle/ruby/3.3.0/gems/rspec-3.13.0/README.md +47 -0
  130. data/vendor/bundle/ruby/3.3.0/gems/rspec-core-3.13.0/LICENSE.md +26 -0
  131. data/vendor/bundle/ruby/3.3.0/gems/rspec-core-3.13.0/README.md +389 -0
  132. data/vendor/bundle/ruby/3.3.0/gems/rspec-expectations-3.13.2/LICENSE.md +25 -0
  133. data/vendor/bundle/ruby/3.3.0/gems/rspec-expectations-3.13.2/README.md +326 -0
  134. data/vendor/bundle/ruby/3.3.0/gems/rspec-mocks-3.13.1/LICENSE.md +25 -0
  135. data/vendor/bundle/ruby/3.3.0/gems/rspec-mocks-3.13.1/README.md +465 -0
  136. data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/LICENSE.md +25 -0
  137. data/vendor/bundle/ruby/3.3.0/gems/rspec-rails-6.1.4/README.md +381 -0
  138. data/vendor/bundle/ruby/3.3.0/gems/rspec-support-3.13.1/LICENSE.md +23 -0
  139. data/vendor/bundle/ruby/3.3.0/gems/rspec-support-3.13.1/README.md +40 -0
  140. data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/LICENSE.txt +20 -0
  141. data/vendor/bundle/ruby/3.3.0/gems/rubocop-1.65.1/README.md +251 -0
  142. data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/LICENSE.txt +20 -0
  143. data/vendor/bundle/ruby/3.3.0/gems/rubocop-ast-1.32.1/README.md +56 -0
  144. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/CHANGELOG.md +85 -0
  145. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/MIT-LICENSE.md +21 -0
  146. data/vendor/bundle/ruby/3.3.0/gems/rubocop-capybara-2.21.0/README.md +88 -0
  147. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/CHANGELOG.md +116 -0
  148. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/MIT-LICENSE.md +21 -0
  149. data/vendor/bundle/ruby/3.3.0/gems/rubocop-factory_bot-2.26.1/README.md +88 -0
  150. data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/LICENSE.txt +20 -0
  151. data/vendor/bundle/ruby/3.3.0/gems/rubocop-performance-1.21.1/README.md +97 -0
  152. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/CHANGELOG.md +1028 -0
  153. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/MIT-LICENSE.md +21 -0
  154. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec-3.0.4/README.md +109 -0
  155. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/CHANGELOG.md +84 -0
  156. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/MIT-LICENSE.md +21 -0
  157. data/vendor/bundle/ruby/3.3.0/gems/rubocop-rspec_rails-2.30.0/README.md +90 -0
  158. data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  159. data/vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  160. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  161. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/LICENSE +20 -0
  162. data/vendor/bundle/ruby/3.3.0/gems/simplecov-0.22.0/README.md +974 -0
  163. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/LICENSE +202 -0
  164. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/README.md +62 -0
  165. data/vendor/bundle/ruby/3.3.0/gems/simplecov-cobertura-2.1.0/simplecov-cobertura.gemspec +29 -0
  166. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/CHANGELOG.md +81 -0
  167. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/LICENSE +20 -0
  168. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/README.md +30 -0
  169. data/vendor/bundle/ruby/3.3.0/gems/simplecov-html-0.12.3/simplecov-html.gemspec +23 -0
  170. data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  171. data/vendor/bundle/ruby/3.3.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  172. data/vendor/bundle/ruby/3.3.0/gems/strscan-3.1.0/LICENSE.txt +22 -0
  173. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/LICENSE.md +20 -0
  174. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/README.md +45 -0
  175. data/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/thor.gemspec +33 -0
  176. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/LICENSE +19 -0
  177. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/README.md +406 -0
  178. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/CHANGELOG.md +196 -0
  179. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/MIT-LICENSE.txt +22 -0
  180. data/vendor/bundle/ruby/3.3.0/gems/unicode-display_width-2.5.0/README.md +171 -0
  181. data/vendor/bundle/ruby/3.3.0/gems/useragent-0.16.10/LICENSE +20 -0
  182. data/vendor/bundle/ruby/3.3.0/gems/useragent-0.16.10/README.md +42 -0
  183. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/LICENSE.txt +22 -0
  184. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/README.md +61 -0
  185. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/webrick.gemspec +70 -0
  186. data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/MIT-LICENSE +20 -0
  187. data/vendor/bundle/ruby/3.3.0/gems/zeitwerk-2.6.17/README.md +1494 -0
  188. data/vendor/bundle/ruby/3.3.0/specifications/actionpack-7.2.1.gemspec +37 -0
  189. data/vendor/bundle/ruby/3.3.0/specifications/actionview-7.2.1.gemspec +33 -0
  190. data/vendor/bundle/ruby/3.3.0/specifications/activesupport-7.2.1.gemspec +36 -0
  191. data/vendor/bundle/ruby/3.3.0/specifications/addressable-2.8.7.gemspec +30 -0
  192. data/vendor/bundle/ruby/3.3.0/specifications/appraisal-2.5.0.gemspec +31 -0
  193. data/vendor/bundle/ruby/3.3.0/specifications/ast-2.4.2.gemspec +30 -0
  194. data/vendor/bundle/ruby/3.3.0/specifications/benchmark-ips-2.13.0.gemspec +28 -0
  195. data/vendor/bundle/ruby/3.3.0/specifications/bigdecimal-3.1.8.gemspec +25 -0
  196. data/vendor/bundle/ruby/3.3.0/specifications/builder-3.3.0.gemspec +22 -0
  197. data/vendor/bundle/ruby/3.3.0/specifications/byebug-11.1.3.gemspec +31 -0
  198. data/vendor/bundle/ruby/3.3.0/specifications/coderay-1.1.3.gemspec +25 -0
  199. data/vendor/bundle/ruby/3.3.0/specifications/concurrent-ruby-1.3.4.gemspec +24 -0
  200. data/vendor/bundle/ruby/3.3.0/specifications/connection_pool-2.4.1.gemspec +28 -0
  201. data/vendor/bundle/ruby/3.3.0/specifications/crass-1.0.6.gemspec +27 -0
  202. data/vendor/bundle/ruby/3.3.0/specifications/diff-lcs-1.5.1.gemspec +37 -0
  203. data/vendor/bundle/ruby/3.3.0/specifications/docile-1.4.1.gemspec +22 -0
  204. data/vendor/bundle/ruby/3.3.0/specifications/drb-2.2.1.gemspec +22 -0
  205. data/vendor/bundle/ruby/3.3.0/specifications/erubi-1.13.0.gemspec +29 -0
  206. data/vendor/bundle/ruby/3.3.0/specifications/i18n-1.14.5.gemspec +26 -0
  207. data/vendor/bundle/ruby/3.3.0/specifications/io-console-0.7.2.gemspec +25 -0
  208. data/vendor/bundle/ruby/3.3.0/specifications/irb-1.14.0.gemspec +30 -0
  209. data/vendor/bundle/ruby/3.3.0/specifications/json-2.7.2.gemspec +0 -0
  210. data/vendor/bundle/ruby/3.3.0/specifications/language_server-protocol-3.17.0.3.gemspec +31 -0
  211. data/vendor/bundle/ruby/3.3.0/specifications/loofah-2.22.0.gemspec +27 -0
  212. data/vendor/bundle/ruby/3.3.0/specifications/method_source-1.1.0.gemspec +21 -0
  213. data/vendor/bundle/ruby/3.3.0/specifications/minitest-5.25.1.gemspec +31 -0
  214. data/vendor/bundle/ruby/3.3.0/specifications/nokogiri-1.16.7-x86_64-linux.gemspec +31 -0
  215. data/vendor/bundle/ruby/3.3.0/specifications/parallel-1.26.3.gemspec +21 -0
  216. data/vendor/bundle/ruby/3.3.0/specifications/parser-3.3.4.2.gemspec +37 -0
  217. data/vendor/bundle/ruby/3.3.0/specifications/pry-0.14.2.gemspec +29 -0
  218. data/vendor/bundle/ruby/3.3.0/specifications/pry-byebug-3.10.1.gemspec +28 -0
  219. data/vendor/bundle/ruby/3.3.0/specifications/public_suffix-6.0.1.gemspec +24 -0
  220. data/vendor/bundle/ruby/3.3.0/specifications/racc-1.8.1.gemspec +28 -0
  221. data/vendor/bundle/ruby/3.3.0/specifications/rack-3.1.7.gemspec +31 -0
  222. data/vendor/bundle/ruby/3.3.0/specifications/rack-session-2.0.0.gemspec +28 -0
  223. data/vendor/bundle/ruby/3.3.0/specifications/rack-test-2.1.0.gemspec +29 -0
  224. data/vendor/bundle/ruby/3.3.0/specifications/rackup-2.1.0.gemspec +31 -0
  225. data/vendor/bundle/ruby/3.3.0/specifications/rails-dom-testing-2.2.0.gemspec +28 -0
  226. data/vendor/bundle/ruby/3.3.0/specifications/rails-html-sanitizer-1.6.0.gemspec +27 -0
  227. data/vendor/bundle/ruby/3.3.0/specifications/railties-7.2.1.gemspec +37 -0
  228. data/vendor/bundle/ruby/3.3.0/specifications/rainbow-3.1.1.gemspec +25 -0
  229. data/vendor/bundle/ruby/3.3.0/specifications/rake-13.2.1.gemspec +26 -0
  230. data/vendor/bundle/ruby/3.3.0/specifications/rake-release-1.3.0.gemspec +26 -0
  231. data/vendor/bundle/ruby/3.3.0/specifications/rdoc-6.7.0.gemspec +31 -0
  232. data/vendor/bundle/ruby/3.3.0/specifications/regexp_parser-2.9.2.gemspec +22 -0
  233. data/vendor/bundle/ruby/3.3.0/specifications/reline-0.5.9.gemspec +26 -0
  234. data/vendor/bundle/ruby/3.3.0/specifications/rexml-3.3.6.gemspec +29 -0
  235. data/vendor/bundle/ruby/3.3.0/specifications/rspec-3.13.0.gemspec +31 -0
  236. data/vendor/bundle/ruby/3.3.0/specifications/rspec-core-3.13.0.gemspec +39 -0
  237. data/vendor/bundle/ruby/3.3.0/specifications/rspec-expectations-3.13.2.gemspec +33 -0
  238. data/vendor/bundle/ruby/3.3.0/specifications/rspec-mocks-3.13.1.gemspec +33 -0
  239. data/vendor/bundle/ruby/3.3.0/specifications/rspec-rails-6.1.4.gemspec +37 -0
  240. data/vendor/bundle/ruby/3.3.0/specifications/rspec-support-3.13.1.gemspec +29 -0
  241. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-1.65.1.gemspec +39 -0
  242. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-ast-1.32.1.gemspec +28 -0
  243. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-capybara-2.21.0.gemspec +27 -0
  244. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-factory_bot-2.26.1.gemspec +27 -0
  245. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-performance-1.21.1.gemspec +29 -0
  246. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec-3.0.4.gemspec +28 -0
  247. data/vendor/bundle/ruby/3.3.0/specifications/rubocop-rspec_rails-2.30.0.gemspec +28 -0
  248. data/vendor/bundle/ruby/3.3.0/specifications/ruby-progressbar-1.13.0.gemspec +29 -0
  249. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-0.22.0.gemspec +28 -0
  250. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-cobertura-2.1.0.gemspec +29 -0
  251. data/vendor/bundle/ruby/3.3.0/specifications/simplecov-html-0.12.3.gemspec +21 -0
  252. data/vendor/bundle/ruby/3.3.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
  253. data/vendor/bundle/ruby/3.3.0/specifications/strscan-3.1.0.gemspec +24 -0
  254. data/vendor/bundle/ruby/3.3.0/specifications/thor-1.3.1.gemspec +28 -0
  255. data/vendor/bundle/ruby/3.3.0/specifications/tzinfo-2.0.6.gemspec +30 -0
  256. data/vendor/bundle/ruby/3.3.0/specifications/unicode-display_width-2.5.0.gemspec +29 -0
  257. data/vendor/bundle/ruby/3.3.0/specifications/useragent-0.16.10.gemspec +25 -0
  258. data/vendor/bundle/ruby/3.3.0/specifications/webrick-1.8.1.gemspec +22 -0
  259. data/vendor/bundle/ruby/3.3.0/specifications/zeitwerk-2.6.17.gemspec +22 -0
  260. metadata +258 -6
  261. data/spec/dummy/log/test.log +0 -192
@@ -0,0 +1,363 @@
1
+ # Loofah
2
+
3
+ * https://github.com/flavorjones/loofah
4
+ * Docs: http://rubydoc.info/github/flavorjones/loofah/main/frames
5
+ * Mailing list: [loofah-talk@googlegroups.com](https://groups.google.com/forum/#!forum/loofah-talk)
6
+
7
+ ## Status
8
+
9
+ [![ci](https://github.com/flavorjones/loofah/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/flavorjones/loofah/actions/workflows/ci.yml)
10
+ [![Tidelift dependencies](https://tidelift.com/badges/package/rubygems/loofah)](https://tidelift.com/subscription/pkg/rubygems-loofah?utm_source=rubygems-loofah&utm_medium=referral&utm_campaign=readme)
11
+
12
+
13
+ ## Description
14
+
15
+ Loofah is a general library for manipulating and transforming HTML/XML documents and fragments, built on top of Nokogiri.
16
+
17
+ Loofah also includes some HTML sanitizers based on `html5lib`'s safelist, which are a specific application of the general transformation functionality.
18
+
19
+ Active Record extensions for HTML sanitization are available in the [`loofah-activerecord` gem](https://github.com/flavorjones/loofah-activerecord).
20
+
21
+
22
+ ## Features
23
+
24
+ * Easily write custom transformations for HTML and XML
25
+ * Common HTML sanitizing transformations are built-in:
26
+ * _Strip_ unsafe tags, leaving behind only the inner text.
27
+ * _Prune_ unsafe tags and their subtrees, removing all traces that they ever existed.
28
+ * _Escape_ unsafe tags and their subtrees, leaving behind lots of <tt>&lt;</tt> and <tt>&gt;</tt> entities.
29
+ * _Whitewash_ the markup, removing all attributes and namespaced nodes.
30
+ * Other common HTML transformations are built-in:
31
+ * Add the _nofollow_ attribute to all hyperlinks.
32
+ * Add the _target=\_blank_ attribute to all hyperlinks.
33
+ * Remove _unprintable_ characters from text nodes.
34
+ * Format markup as plain text, with (or without) sensible whitespace handling around block elements.
35
+ * Replace Rails's `strip_tags` and `sanitize` view helper methods.
36
+
37
+
38
+ ## Compare and Contrast
39
+
40
+ Loofah is both:
41
+
42
+ - a general framework for transforming XML, XHTML, and HTML documents
43
+ - a specific toolkit for HTML sanitization
44
+
45
+ ### General document transformation
46
+
47
+ Loofah tries to make it easy to write your own custom scrubbers for whatever document transformation you need. You don't like the built-in scrubbers? Build your own, like a boss.
48
+
49
+
50
+ ### HTML sanitization
51
+
52
+ Another Ruby library that provides HTML sanitization is [`rgrove/sanitize`](https://github.com/rgrove/sanitize), another library built on top of Nokogiri, which provides a bit more flexibility on the tags and attributes being scrubbed.
53
+
54
+ You may also want to look at [`rails/rails-html-sanitizer`](https://github.com/rails/rails-html-sanitizer) which is built on top of Loofah and provides some useful extensions and additional flexibility in the HTML sanitization.
55
+
56
+
57
+ ## The Basics
58
+
59
+ Loofah wraps [Nokogiri](http://nokogiri.org) in a loving embrace. Nokogiri is a stable, well-maintained parser for XML, HTML4, and HTML5.
60
+
61
+ Loofah implements the following classes:
62
+
63
+ * `Loofah::HTML5::Document`
64
+ * `Loofah::HTML5::DocumentFragment`
65
+ * `Loofah::HTML4::Document` (aliased as `Loofah::HTML::Document` for now)
66
+ * `Loofah::HTML4::DocumentFragment` (aliased as `Loofah::HTML::DocumentFragment` for now)
67
+ * `Loofah::XML::Document`
68
+ * `Loofah::XML::DocumentFragment`
69
+
70
+ These document and fragment classes are subclasses of the similarly-named Nokogiri classes `Nokogiri::HTML5::Document` et al.
71
+
72
+ Loofah also implements `Loofah::Scrubber`, which represents the document transformation, either by wrapping
73
+ a block,
74
+
75
+ ``` ruby
76
+ span2div = Loofah::Scrubber.new do |node|
77
+ node.name = "div" if node.name == "span"
78
+ end
79
+ ```
80
+
81
+ or by implementing a method.
82
+
83
+
84
+ ### Side Note: Fragments vs Documents
85
+
86
+ Generally speaking, unless you expect to have a DOCTYPE and a single root node, you don't have a *document*, you have a *fragment*. For HTML, another rule of thumb is that *documents* have `html` and `body` tags, and *fragments* usually do not.
87
+
88
+ **HTML fragments** should be parsed with `Loofah.html5_fragment` or `Loofah.html4_fragment`. The result won't be wrapped in `html` or `body` tags, won't have a DOCTYPE declaration, `head` elements will be silently ignored, and multiple root nodes are allowed.
89
+
90
+ **HTML documents** should be parsed with `Loofah.html5_document` or `Loofah.html4_document`. The result will have a DOCTYPE declaration, along with `html`, `head` and `body` tags.
91
+
92
+ **XML fragments** should be parsed with `Loofah.xml_fragment`. The result won't have a DOCTYPE declaration, and multiple root nodes are allowed.
93
+
94
+ **XML documents** should be parsed with `Loofah.xml_document`. The result will have a DOCTYPE declaration and a single root node.
95
+
96
+
97
+ ### Side Note: HTML4 vs HTML5
98
+
99
+ ⚠ _HTML5 functionality is not available on JRuby, or with versions of Nokogiri `< 1.14.0`._
100
+
101
+ Currently, Loofah's methods `Loofah.document` and `Loofah.fragment` are aliases to `.html4_document` and `.html4_fragment`, which use Nokogiri's HTML4 parser. (Similarly, `Loofah::HTML::Document` and `Loofah::HTML::DocumentFragment` are aliased to `Loofah::HTML4::Document` and `Loofah::HTML4::DocumentFragment`.)
102
+
103
+ **Please note** that in a future version of Loofah, these methods and classes may switch to using Nokogiri's HTML5 parser and classes on platforms that support it [1].
104
+
105
+ **We strongly recommend that you explicitly use `.html5_document` or `.html5_fragment`** unless you know of a compelling reason not to. If you are sure that you need to use the HTML4 parser, you should explicitly call `.html4_document` or `.html4_fragment` to avoid breakage in a future version.
106
+
107
+ [1]: [[feature request] HTML5 parser for JRuby implementation · Issue #2227 · sparklemotion/nokogiri](https://github.com/sparklemotion/nokogiri/issues/2227)
108
+
109
+
110
+ ### `Loofah::HTML5::Document` and `Loofah::HTML5::DocumentFragment`
111
+
112
+ These classes are subclasses of `Nokogiri::HTML5::Document` and `Nokogiri::HTML5::DocumentFragment`.
113
+
114
+ The module methods `Loofah.html5_document` and `Loofah.html5_fragment` will parse either an HTML document and an HTML fragment, respectively.
115
+
116
+ ``` ruby
117
+ Loofah.html5_document(unsafe_html).is_a?(Nokogiri::HTML5::Document) # => true
118
+ Loofah.html5_fragment(unsafe_html).is_a?(Nokogiri::HTML5::DocumentFragment) # => true
119
+ ```
120
+
121
+ Loofah injects a `scrub!` method, which takes either a symbol (for built-in scrubbers) or a `Loofah::Scrubber` object (for custom scrubbers), and modifies the document in-place.
122
+
123
+ Loofah overrides `to_s` to return HTML:
124
+
125
+ ``` ruby
126
+ unsafe_html = "ohai! <div>div is safe</div> <script>but script is not</script>"
127
+
128
+ doc = Loofah.html5_fragment(unsafe_html).scrub!(:prune)
129
+ doc.to_s # => "ohai! <div>div is safe</div> "
130
+ ```
131
+
132
+ and `text` to return plain text:
133
+
134
+ ``` ruby
135
+ doc.text # => "ohai! div is safe "
136
+ ```
137
+
138
+ Also, `to_text` is available, which does the right thing with whitespace around block-level and line break elements.
139
+
140
+ ``` ruby
141
+ doc = Loofah.html5_fragment("<h1>Title</h1><div>Content<br>Next line</div>")
142
+ doc.text # => "TitleContentNext line" # probably not what you want
143
+ doc.to_text # => "\nTitle\n\nContent\nNext line\n" # better
144
+ ```
145
+
146
+ ### `Loofah::HTML4::Document` and `Loofah::HTML4::DocumentFragment`
147
+
148
+ These classes are subclasses of `Nokogiri::HTML4::Document` and `Nokogiri::HTML4::DocumentFragment`.
149
+
150
+ The module methods `Loofah.html4_document` and `Loofah.html4_fragment` will parse either an HTML document and an HTML fragment, respectively.
151
+
152
+ ``` ruby
153
+ Loofah.html4_document(unsafe_html).is_a?(Nokogiri::HTML4::Document) # => true
154
+ Loofah.html4_fragment(unsafe_html).is_a?(Nokogiri::HTML4::DocumentFragment) # => true
155
+ ```
156
+
157
+ ### `Loofah::XML::Document` and `Loofah::XML::DocumentFragment`
158
+
159
+ These classes are subclasses of `Nokogiri::XML::Document` and `Nokogiri::XML::DocumentFragment`.
160
+
161
+ The module methods `Loofah.xml_document` and `Loofah.xml_fragment` will parse an XML document and an XML fragment, respectively.
162
+
163
+ ``` ruby
164
+ Loofah.xml_document(bad_xml).is_a?(Nokogiri::XML::Document) # => true
165
+ Loofah.xml_fragment(bad_xml).is_a?(Nokogiri::XML::DocumentFragment) # => true
166
+ ```
167
+
168
+ ### Nodes and Node Sets
169
+
170
+ Nokogiri's `Node` and `NodeSet` classes also get a `scrub!` method, which makes it easy to scrub subtrees.
171
+
172
+ The following code will apply the `employee_scrubber` only to the `employee` nodes (and their subtrees) in the document:
173
+
174
+ ``` ruby
175
+ Loofah.xml_document(bad_xml).xpath("//employee").scrub!(employee_scrubber)
176
+ ```
177
+
178
+ And this code will only scrub the first `employee` node and its subtree:
179
+
180
+ ``` ruby
181
+ Loofah.xml_document(bad_xml).at_xpath("//employee").scrub!(employee_scrubber)
182
+ ```
183
+
184
+ ### `Loofah::Scrubber`
185
+
186
+ A Scrubber wraps up a block (or method) that is run on a document node:
187
+
188
+ ``` ruby
189
+ # change all <span> tags to <div> tags
190
+ span2div = Loofah::Scrubber.new do |node|
191
+ node.name = "div" if node.name == "span"
192
+ end
193
+ ```
194
+
195
+ This can then be run on a document:
196
+
197
+ ``` ruby
198
+ Loofah.html5_fragment("<span>foo</span><p>bar</p>").scrub!(span2div).to_s
199
+ # => "<div>foo</div><p>bar</p>"
200
+ ```
201
+
202
+ Scrubbers can be run on a document in either a top-down traversal (the default) or bottom-up. Top-down scrubbers can optionally return `Scrubber::STOP` to terminate the traversal of a subtree. Read below and in the `Loofah::Scrubber` class for more detailed usage.
203
+
204
+ Here's an XML example:
205
+
206
+ ``` ruby
207
+ # remove all <employee> tags that have a "deceased" attribute set to true
208
+ bring_out_your_dead = Loofah::Scrubber.new do |node|
209
+ if node.name == "employee" and node["deceased"] == "true"
210
+ node.remove
211
+ Loofah::Scrubber::STOP # don't bother with the rest of the subtree
212
+ end
213
+ end
214
+ Loofah.xml_document(File.read('plague.xml')).scrub!(bring_out_your_dead)
215
+ ```
216
+
217
+ ### Built-In HTML Scrubbers
218
+
219
+ Loofah comes with a set of sanitizing scrubbers that use `html5lib`'s safelist algorithm:
220
+
221
+ ``` ruby
222
+ doc = Loofah.html5_document(input)
223
+ doc.scrub!(:strip) # replaces unknown/unsafe tags with their inner text
224
+ doc.scrub!(:prune) # removes unknown/unsafe tags and their children
225
+ doc.scrub!(:escape) # escapes unknown/unsafe tags, like this: &lt;script&gt;
226
+ doc.scrub!(:whitewash) # removes unknown/unsafe/namespaced tags and their children,
227
+ # and strips all node attributes
228
+ ```
229
+
230
+ Loofah also comes with some common transformation tasks:
231
+
232
+ ``` ruby
233
+ doc.scrub!(:nofollow) # adds rel="nofollow" attribute to links
234
+ doc.scrub!(:noopener) # adds rel="noopener" attribute to links
235
+ doc.scrub!(:noreferrer) # adds rel="noreferrer" attribute to links
236
+ doc.scrub!(:unprintable) # removes unprintable characters from text nodes
237
+ doc.scrub!(:targetblank) # adds target="_blank" attribute to links
238
+ ```
239
+
240
+ See `Loofah::Scrubbers` for more details and example usage.
241
+
242
+
243
+ ### Chaining Scrubbers
244
+
245
+ You can chain scrubbers:
246
+
247
+ ``` ruby
248
+ Loofah.html5_fragment("<span>hello</span> <script>alert('OHAI')</script>") \
249
+ .scrub!(:prune) \
250
+ .scrub!(span2div).to_s
251
+ # => "<div>hello</div> "
252
+ ```
253
+
254
+ ### Shorthand
255
+
256
+ The class methods `Loofah.scrub_html5_fragment` and `Loofah.scrub_html5_document` (and the corresponding HTML4 methods) are shorthand.
257
+
258
+ These methods:
259
+
260
+ ``` ruby
261
+ Loofah.scrub_html5_fragment(unsafe_html, :prune)
262
+ Loofah.scrub_html5_document(unsafe_html, :prune)
263
+ Loofah.scrub_html4_fragment(unsafe_html, :prune)
264
+ Loofah.scrub_html4_document(unsafe_html, :prune)
265
+ Loofah.scrub_xml_fragment(bad_xml, custom_scrubber)
266
+ Loofah.scrub_xml_document(bad_xml, custom_scrubber)
267
+ ```
268
+
269
+ do the same thing as (and arguably semantically clearer than):
270
+
271
+ ``` ruby
272
+ Loofah.html5_fragment(unsafe_html).scrub!(:prune)
273
+ Loofah.html5_document(unsafe_html).scrub!(:prune)
274
+ Loofah.html4_fragment(unsafe_html).scrub!(:prune)
275
+ Loofah.html4_document(unsafe_html).scrub!(:prune)
276
+ Loofah.xml_fragment(bad_xml).scrub!(custom_scrubber)
277
+ Loofah.xml_document(bad_xml).scrub!(custom_scrubber)
278
+ ```
279
+
280
+
281
+ ### View Helpers
282
+
283
+ Loofah has two "view helpers": `Loofah::Helpers.sanitize` and `Loofah::Helpers.strip_tags`, both of which are drop-in replacements for the Rails Action View helpers of the same name.
284
+
285
+ These are not required automatically. You must require `loofah/helpers` to use them.
286
+
287
+
288
+ ## Requirements
289
+
290
+ * Nokogiri >= 1.5.9
291
+
292
+
293
+ ## Installation
294
+
295
+ Unsurprisingly:
296
+
297
+ > gem install loofah
298
+
299
+ Requirements:
300
+
301
+ * Ruby >= 2.5
302
+
303
+
304
+ ## Support
305
+
306
+ The bug tracker is available here:
307
+
308
+ * https://github.com/flavorjones/loofah/issues
309
+
310
+ And the mailing list is on Google Groups:
311
+
312
+ * Mail: loofah-talk@googlegroups.com
313
+ * Archive: https://groups.google.com/forum/#!forum/loofah-talk
314
+
315
+ Consider subscribing to [Tidelift][tidelift] which provides license assurances and timely security notifications for your open source dependencies, including Loofah. [Tidelift][tidelift] subscriptions also help the Loofah maintainers fund our [automated testing](https://ci.nokogiri.org) which in turn allows us to ship releases, bugfixes, and security updates more often.
316
+
317
+ [tidelift]: https://tidelift.com/subscription/pkg/rubygems-loofah?utm_source=undefined&utm_medium=referral&utm_campaign=enterprise
318
+
319
+
320
+ ## Security
321
+
322
+ See [`SECURITY.md`](SECURITY.md) for vulnerability reporting details.
323
+
324
+
325
+ ## Related Links
326
+
327
+ * loofah-activerecord: https://github.com/flavorjones/loofah-activerecord
328
+ * Nokogiri: http://nokogiri.org
329
+ * libxml2: http://xmlsoft.org
330
+ * html5lib: https://github.com/html5lib/
331
+
332
+
333
+ ## Authors
334
+
335
+ * [Mike Dalessio](http://mike.daless.io) ([@flavorjones](https://twitter.com/flavorjones))
336
+ * Bryan Helmkamp
337
+
338
+ Featuring code contributed by:
339
+
340
+ * Aaron Patterson
341
+ * John Barnette
342
+ * Josh Owens
343
+ * Paul Dix
344
+ * Luke Melia
345
+
346
+ And a big shout-out to Corey Innis for the name, and feedback on the API.
347
+
348
+
349
+ ## Thank You
350
+
351
+ The following people have generously funded Loofah:
352
+
353
+ * Bill Harding
354
+
355
+
356
+ ## Historical Note
357
+
358
+ This library was once named "Dryopteris", which was a very bad name that nobody could spell properly.
359
+
360
+
361
+ ## License
362
+
363
+ Distributed under the MIT License. See `MIT-LICENSE.txt` for details.
@@ -0,0 +1,15 @@
1
+ # method_source changelog
2
+
3
+ ### master
4
+
5
+ ### [v1.1.0][v1.1.0] (April 15, 2024)
6
+
7
+ - Added `MethodSource.clear_cache`
8
+ - Added support for `RUBYOPT="--enable-frozen-string-literal"`
9
+
10
+ ### [v1.0.0][v1.0.0] (March 19, 2020)
11
+
12
+ - Added Ruby 2.7 support
13
+
14
+ [v1.0.0]: https://github.com/banister/method_source/releases/tag/v1.0.0
15
+ [v1.1.0]: https://github.com/banister/method_source/releases/tag/v1.1.0
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2011 John Mair (banisterfiend)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,101 @@
1
+ method_source
2
+ =============
3
+
4
+ [![Circle Build Status](https://circleci.com/gh/banister/method_source.svg?style=shield)](https://circleci.com/gh/banister/method_source)
5
+
6
+ (C) John Mair (banisterfiend) 2011
7
+
8
+ _retrieve the sourcecode for a method_
9
+
10
+ *NOTE:* This simply utilizes `Method#source_location`; it
11
+ does not access the live AST.
12
+
13
+ `method_source` is a utility to return a method's sourcecode as a
14
+ Ruby string. Also returns `Proc` and `Lambda` sourcecode.
15
+
16
+ Method comments can also be extracted using the `comment` method.
17
+
18
+ It is written in pure Ruby (no C).
19
+
20
+ * Some Ruby 1.8 support now available.
21
+ * Support for MRI, RBX, JRuby, REE
22
+
23
+ `method_source` provides the `source` and `comment` methods to the `Method` and
24
+ `UnboundMethod` and `Proc` classes.
25
+
26
+ * Install the [gem](https://rubygems.org/gems/method_source): `gem install method_source`
27
+ * Read the [documentation](https://www.rubydoc.info/github/banister/method_source/master)
28
+ * See the [source code](http://github.com/banister/method_source)
29
+
30
+ Example: display method source
31
+ ------------------------------
32
+
33
+ Set.instance_method(:merge).source.display
34
+ # =>
35
+ def merge(enum)
36
+ if enum.instance_of?(self.class)
37
+ @hash.update(enum.instance_variable_get(:@hash))
38
+ else
39
+ do_with_enum(enum) { |o| add(o) }
40
+ end
41
+
42
+ self
43
+ end
44
+
45
+ Example: display method comments
46
+ --------------------------------
47
+
48
+ Set.instance_method(:merge).comment.display
49
+ # =>
50
+ # Merges the elements of the given enumerable object to the set and
51
+ # returns self.
52
+
53
+ Example: display module/class comments
54
+ --------------------------------------
55
+
56
+ MethodSource::MethodExtensions.method(:included).module_comment
57
+ # =>
58
+ # This module is to be included by `Method` and `UnboundMethod` and
59
+ # provides the `#source` functionality
60
+
61
+ Limitations:
62
+ ------------
63
+
64
+ * Occasional strange behaviour in Ruby 1.8
65
+ * Cannot return source for C methods.
66
+ * Cannot return source for dynamically defined methods.
67
+
68
+ Special Thanks
69
+ --------------
70
+
71
+ [Adam Sanderson](https://github.com/adamsanderson) for `comment` functionality.
72
+
73
+ [Dmitry Elastic](https://github.com/dmitryelastic) for the brilliant Ruby 1.8 `source_location` hack.
74
+
75
+ [Samuel Kadolph](https://github.com/samuelkadolph) for the JRuby 1.8 `source_location`.
76
+
77
+ License
78
+ -------
79
+
80
+ (The MIT License)
81
+
82
+ Copyright (c) 2011 John Mair (banisterfiend)
83
+
84
+ Permission is hereby granted, free of charge, to any person obtaining
85
+ a copy of this software and associated documentation files (the
86
+ 'Software'), to deal in the Software without restriction, including
87
+ without limitation the rights to use, copy, modify, merge, publish,
88
+ distribute, sublicense, and/or sell copies of the Software, and to
89
+ permit persons to whom the Software is furnished to do so, subject to
90
+ the following conditions:
91
+
92
+ The above copyright notice and this permission notice shall be
93
+ included in all copies or substantial portions of the Software.
94
+
95
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
96
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
97
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
98
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
99
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
100
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
101
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,19 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "method_source".freeze
5
+ s.version = "1.1.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
8
+ s.require_paths = ["lib".freeze]
9
+ s.authors = ["John Mair (banisterfiend)".freeze]
10
+ s.date = "2024-04-15"
11
+ s.description = "retrieve the sourcecode for a method".freeze
12
+ s.email = "jrmair@gmail.com".freeze
13
+ s.files = ["CHANGELOG.md".freeze, ".gemtest".freeze, ".yardopts".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.markdown".freeze, "Rakefile".freeze, "lib/method_source.rb".freeze, "lib/method_source/code_helpers.rb".freeze, "lib/method_source/source_location.rb".freeze, "lib/method_source/version.rb".freeze, "method_source.gemspec".freeze, "spec/method_source/code_helpers_spec.rb".freeze, "spec/method_source_spec.rb".freeze, "spec/spec_helper.rb".freeze]
14
+ s.homepage = "http://banisterfiend.wordpress.com".freeze
15
+ s.metadata["changelog_uri"] = "https://github.com/banister/method_source/blob/master/CHANGELOG.md".freeze
16
+ s.licenses = ["MIT".freeze]
17
+ s.summary = "retrieve the sourcecode for a method".freeze
18
+ s.test_files = ["spec/method_source/code_helpers_spec.rb".freeze, "spec/method_source_spec.rb".freeze, "spec/spec_helper.rb".freeze]
19
+ end