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,409 @@
1
+ # Docile
2
+
3
+ [![Gem Version](https://img.shields.io/gem/v/docile.svg)](https://rubygems.org/gems/docile)
4
+ [![Gem Downloads](https://img.shields.io/gem/dt/docile.svg)](https://rubygems.org/gems/docile)
5
+
6
+ [![Join the chat at https://gitter.im/ms-ati/docile](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ms-ati/docile?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
7
+ [![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/github/ms-ati/docile)
8
+
9
+ [![Build Status](https://github.com/ms-ati/docile/actions/workflows/main.yml/badge.svg)](https://github.com/ms-ati/docile/actions/workflows/main.yml)
10
+ [![Code Coverage](https://img.shields.io/codecov/c/github/ms-ati/docile.svg)](https://codecov.io/github/ms-ati/docile)
11
+ [![Maintainability](https://api.codeclimate.com/v1/badges/79ca631bc123f7b83b34/maintainability)](https://codeclimate.com/github/ms-ati/docile/maintainability)
12
+
13
+ Ruby makes it possible to create very expressive **Domain Specific
14
+ Languages**, or **DSL**'s for short. However, it requires some deep knowledge and
15
+ somewhat hairy meta-programming to get the interface just right.
16
+
17
+ "Docile" means *Ready to accept control or instruction; submissive* [[1]]
18
+
19
+ Instead of each Ruby project reinventing this wheel, let's make our Ruby DSL
20
+ coding a bit more docile...
21
+
22
+ [1]: http://www.google.com/search?q=docile+definition "Google"
23
+
24
+ ## Usage
25
+
26
+ ### Basic: Ruby [Array](http://ruby-doc.org/core-3.0.0/Array.html) as DSL
27
+
28
+ Let's say that we want to make a DSL for modifying Array objects.
29
+ Wouldn't it be great if we could just treat the methods of Array as a DSL?
30
+
31
+ ```ruby
32
+ with_array([]) do
33
+ push 1
34
+ push 2
35
+ pop
36
+ push 3
37
+ end
38
+ #=> [1, 3]
39
+ ```
40
+
41
+ No problem, just define the method `with_array` like this:
42
+
43
+ ```ruby
44
+ def with_array(arr=[], &block)
45
+ Docile.dsl_eval(arr, &block)
46
+ end
47
+ ```
48
+
49
+ Easy!
50
+
51
+ ### Next step: Allow helper methods to call DSL methods
52
+
53
+ What if, in our use of the methods of Array as a DSL, we want to extract
54
+ helper methods which in turn call DSL methods?
55
+
56
+ ```ruby
57
+ def pop_sum_and_push(n)
58
+ sum = 0
59
+ n.times { sum += pop }
60
+ push sum
61
+ end
62
+
63
+ Docile.dsl_eval([]) do
64
+ push 5
65
+ push 6
66
+ pop_sum_and_push(2)
67
+ end
68
+ #=> [11]
69
+ ```
70
+
71
+ Without Docile, you may find this sort of code extraction to be more
72
+ challenging.
73
+
74
+ ### Wait! Can't I do that with just `instance_eval` or `instance_exec`?
75
+
76
+ Good question!
77
+
78
+ In short: **No**.
79
+
80
+ Not if you want the code in the block to be able to refer to anything
81
+ the block would normally have access to from the surrounding context.
82
+
83
+ Let's be very specific. Docile internally uses `instance_exec` (see [execution.rb#26](lib/docile/execution.rb#L26)), adding a small layer to support referencing *local variables*, *instance variables*, and *methods* from the _block's context_ **or** the target _object's context_, interchangeably. This is "**the hard part**", where most folks making a DSL in Ruby throw up their hands.
84
+
85
+ For example:
86
+
87
+ ```ruby
88
+ class ContextOfBlock
89
+ def example_of_contexts
90
+ @block_instance_var = 1
91
+ block_local_var = 2
92
+
93
+ with_array do
94
+ push @block_instance_var
95
+ push block_local_var
96
+ pop
97
+ push block_sees_this_method
98
+ end
99
+ end
100
+
101
+ def block_sees_this_method
102
+ 3
103
+ end
104
+
105
+ def with_array(&block)
106
+ {
107
+ docile: Docile.dsl_eval([], &block),
108
+ instance_eval: ([].instance_eval(&block) rescue $!),
109
+ instance_exec: ([].instance_exec(&block) rescue $!)
110
+ }
111
+ end
112
+ end
113
+
114
+ ContextOfBlock.new.example_of_contexts
115
+ #=> {
116
+ :docile=>[1, 3],
117
+ :instance_eval=>#<NameError: undefined local variable or method `block_sees_this_method' for [nil]:Array>,
118
+ :instance_exec=>#<NameError: undefined local variable or method `block_sees_this_method' for [nil]:Array>
119
+ }
120
+ ```
121
+
122
+ As you can see, it won't be possible to call methods or access instance variables defined in the block's context using just the raw `instance_eval` or `instance_exec` methods. And in fact, Docile goes further, making it easy to maintain this support even in multi-layered DSLs.
123
+
124
+ ### Build a Pizza
125
+
126
+ Mutating (changing) an Array instance is fine, but what usually makes a good DSL is a [Builder Pattern][2].
127
+
128
+ For example, let's say you want a DSL to specify how you want to build a Pizza:
129
+
130
+ ```ruby
131
+ @sauce_level = :extra
132
+
133
+ pizza do
134
+ cheese
135
+ pepperoni
136
+ sauce @sauce_level
137
+ end
138
+ #=> #<Pizza:0x00001009dc398 @cheese=true, @pepperoni=true, @bacon=false, @sauce=:extra>
139
+ ```
140
+
141
+ And let's say we have a PizzaBuilder, which builds a Pizza like this:
142
+
143
+ ```ruby
144
+ Pizza = Struct.new(:cheese, :pepperoni, :bacon, :sauce)
145
+
146
+ class PizzaBuilder
147
+ def cheese(v=true); @cheese = v; self; end
148
+ def pepperoni(v=true); @pepperoni = v; self; end
149
+ def bacon(v=true); @bacon = v; self; end
150
+ def sauce(v=nil); @sauce = v; self; end
151
+ def build
152
+ Pizza.new(!!@cheese, !!@pepperoni, !!@bacon, @sauce)
153
+ end
154
+ end
155
+
156
+ PizzaBuilder.new.cheese.pepperoni.sauce(:extra).build
157
+ #=> #<Pizza:0x00001009dc398 @cheese=true, @pepperoni=true, @bacon=false, @sauce=:extra>
158
+ ```
159
+
160
+ Then implement your DSL like this:
161
+
162
+ ```ruby
163
+ def pizza(&block)
164
+ Docile.dsl_eval(PizzaBuilder.new, &block).build
165
+ end
166
+ ```
167
+
168
+ It's just that easy!
169
+
170
+ [2]: http://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern "Builder Pattern"
171
+
172
+ ### Multi-level and Recursive DSLs
173
+
174
+ Docile is a very easy way to write a multi-level DSL in Ruby, even for
175
+ a [recursive data structure such as a tree][4]:
176
+
177
+ ```ruby
178
+ Person = Struct.new(:name, :mother, :father)
179
+
180
+ person {
181
+ name 'John Smith'
182
+ mother {
183
+ name 'Mary Smith'
184
+ }
185
+ father {
186
+ name 'Tom Smith'
187
+ mother {
188
+ name 'Jane Smith'
189
+ }
190
+ }
191
+ }
192
+
193
+ #=> #<struct Person name="John Smith",
194
+ # mother=#<struct Person name="Mary Smith", mother=nil, father=nil>,
195
+ # father=#<struct Person name="Tom Smith",
196
+ # mother=#<struct Person name="Jane Smith", mother=nil, father=nil>,
197
+ # father=nil>>
198
+ ```
199
+
200
+ See the full [person tree example][4] for details.
201
+
202
+ [4]: https://gist.github.com/ms-ati/2bb17bdf10a430faba98
203
+
204
+ ### Block parameters
205
+
206
+ Parameters can be passed to the DSL block.
207
+
208
+ Supposing you want to make some sort of cheap [Sinatra][3] knockoff:
209
+
210
+ ```ruby
211
+ @last_request = nil
212
+ respond '/path' do |request|
213
+ puts "Request received: #{request}"
214
+ @last_request = request
215
+ end
216
+
217
+ def ride bike
218
+ # Play with your new bike
219
+ end
220
+
221
+ respond '/new_bike' do |bike|
222
+ ride(bike)
223
+ end
224
+ ```
225
+
226
+ You'd put together a dispatcher something like this:
227
+
228
+ ```ruby
229
+ require 'singleton'
230
+
231
+ class DispatchScope
232
+ def a_method_you_can_call_from_inside_the_block
233
+ :useful_huh?
234
+ end
235
+ end
236
+
237
+ class MessageDispatch
238
+ include Singleton
239
+
240
+ def initialize
241
+ @responders = {}
242
+ end
243
+
244
+ def add_responder path, &block
245
+ @responders[path] = block
246
+ end
247
+
248
+ def dispatch path, request
249
+ Docile.dsl_eval(DispatchScope.new, request, &@responders[path])
250
+ end
251
+ end
252
+
253
+ def respond path, &handler
254
+ MessageDispatch.instance.add_responder path, handler
255
+ end
256
+
257
+ def send_request path, request
258
+ MessageDispatch.instance.dispatch path, request
259
+ end
260
+ ```
261
+
262
+ [3]: http://www.sinatrarb.com "Sinatra"
263
+
264
+ ### Functional-Style Immutable DSL Objects
265
+
266
+ Sometimes, you want to use an object as a DSL, but it doesn't quite fit the
267
+ [imperative](http://en.wikipedia.org/wiki/Imperative_programming) pattern shown
268
+ above.
269
+
270
+ Instead of methods like
271
+ [Array#push](http://www.ruby-doc.org/core-3.0.0/Array.html#method-i-push), which
272
+ modifies the object at hand, it has methods like
273
+ [String#reverse](http://www.ruby-doc.org/core-3.0.0/String.html#method-i-reverse),
274
+ which returns a new object without touching the original. Perhaps it's even
275
+ [frozen](http://www.ruby-doc.org/core-3.0.0/Object.html#method-i-freeze) in
276
+ order to enforce [immutability](http://en.wikipedia.org/wiki/Immutable_object).
277
+
278
+ Wouldn't it be great if we could just treat these methods as a DSL as well?
279
+
280
+ ```ruby
281
+ s = "I'm immutable!".freeze
282
+
283
+ with_immutable_string(s) do
284
+ reverse
285
+ upcase
286
+ end
287
+ #=> "!ELBATUMMI M'I"
288
+
289
+ s
290
+ #=> "I'm immutable!"
291
+ ```
292
+
293
+ No problem, just define the method `with_immutable_string` like this:
294
+
295
+ ```ruby
296
+ def with_immutable_string(str="", &block)
297
+ Docile.dsl_eval_immutable(str, &block)
298
+ end
299
+ ```
300
+
301
+ All set!
302
+
303
+ ### Accessing the block's return value
304
+
305
+ Sometimes you might want to access the return value of your provided block,
306
+ as opposed to the DSL object itself. In these cases, use
307
+ `dsl_eval_with_block_return`. It behaves exactly like `dsl_eval`, but returns
308
+ the output from executing the block, rather than the DSL object.
309
+
310
+ ```ruby
311
+ arr = []
312
+ with_array(arr) do
313
+ push "a"
314
+ push "b"
315
+ push "c"
316
+ length
317
+ end
318
+ #=> 3
319
+
320
+ arr
321
+ #=> ["a", "b", "c"]
322
+ ```
323
+
324
+ ```ruby
325
+ def with_array(arr=[], &block)
326
+ Docile.dsl_eval_with_block_return(arr, &block)
327
+ end
328
+ ```
329
+
330
+ ## Features
331
+
332
+ 1. Method lookup falls back from the DSL object to the block's context
333
+ 2. Local variable lookup falls back from the DSL object to the block's
334
+ context
335
+ 3. Instance variables are from the block's context only
336
+ 4. Nested DSL evaluation, correctly chaining method and variable handling
337
+ from the inner to the outer DSL scopes
338
+ 5. Alternatives for both imperative and functional styles of DSL objects
339
+
340
+ ## Installation
341
+
342
+ ``` bash
343
+ $ gem install docile
344
+ ```
345
+
346
+ ## Links
347
+ * [Source](https://github.com/ms-ati/docile)
348
+ * [Documentation](http://rubydoc.info/gems/docile)
349
+ * [Bug Tracker](https://github.com/ms-ati/docile/issues)
350
+
351
+ ## Status
352
+
353
+ Works on [all currently supported ruby versions](https://github.com/ms-ati/docile/blob/master/.github/workflows/main.yml),
354
+ or so [Github Actions](https://github.com/ms-ati/docile/actions)
355
+ tells us.
356
+
357
+ Used by some pretty cool gems to implement their DSLs, notably including
358
+ [SimpleCov](https://github.com/colszowka/simplecov). Keep an eye out for new
359
+ gems using Docile at the
360
+ [Ruby Toolbox](https://www.ruby-toolbox.com/projects/docile).
361
+
362
+ ## Release Policy
363
+
364
+ Docile releases follow
365
+ [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html).
366
+
367
+ ## Note on Patches/Pull Requests
368
+
369
+ * Fork the project.
370
+ * Setup your development environment with:
371
+ `gem install bundler; bundle install`
372
+ * Make your feature addition or bug fix.
373
+ * Add tests for it. This is important so I don't break it in a future version
374
+ unintentionally.
375
+ * Commit, do not mess with rakefile, version, or history.
376
+ (if you want to have your own version, that is fine but bump version in a
377
+ commit by itself I can ignore when I pull)
378
+ * Send me a pull request. Bonus points for topic branches.
379
+
380
+ ## Releasing
381
+
382
+ To make a new release of `Docile` to
383
+ [RubyGems](https://rubygems.org/gems/docile), first install the release
384
+ dependencies (e.g. `rake`) as follows:
385
+
386
+ ```shell
387
+ bundle config set --local with 'release'
388
+ bundle install
389
+ ```
390
+
391
+ Then carry out these steps:
392
+
393
+ 1. Update `HISTORY.md`:
394
+ - Add an entry for the upcoming version _x.y.z_
395
+ - Move content from _Unreleased_ to the upcoming version _x.y.z_
396
+ - Commit with title `Update HISTORY.md for x.y.z`
397
+
398
+ 2. Update `lib/docile/version.rb`
399
+ - Replace with upcoming version _x.y.z_
400
+ - Commit with title `Bump version to x.y.z`
401
+
402
+ 3. `bundle exec rake release`
403
+
404
+ ## Copyright & License
405
+
406
+ Copyright (c) 2012-2024 Marc Siegel.
407
+
408
+ Licensed under the [MIT License](http://choosealicense.com/licenses/mit/),
409
+ see [LICENSE](LICENSE) for details.
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/docile/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "docile"
7
+ s.version = Docile::VERSION
8
+ s.author = "Marc Siegel"
9
+ s.email = "marc@usainnov.com"
10
+ s.homepage = "https://ms-ati.github.io/docile/"
11
+ s.summary = "Docile keeps your Ruby DSLs tame and well-behaved."
12
+ s.description = "Docile treats the methods of a given ruby object as a DSL "\
13
+ "(domain specific language) within a given block. \n\n"\
14
+ "Killer feature: you can also reference methods, instance "\
15
+ "variables, and local variables from the original (non-DSL) "\
16
+ "context within the block. \n\n"\
17
+ "Docile releases follow Semantic Versioning as defined at "\
18
+ "semver.org."
19
+ s.license = "MIT"
20
+
21
+ # Specify oldest supported Ruby version (2.5 to support JRuby 9.2.17.0)
22
+ s.required_ruby_version = ">= 2.5.0"
23
+
24
+ # Files included in the gem
25
+ s.files = `git ls-files -z`.split("\x0").reject do |f|
26
+ f.match(%r{^(test|spec|features)/})
27
+ end
28
+ s.require_paths = ["lib"]
29
+
30
+ s.metadata = {
31
+ "homepage_uri" => "https://ms-ati.github.io/docile/",
32
+ "changelog_uri" => "https://github.com/ms-ati/docile/blob/main/HISTORY.md",
33
+ "source_code_uri" => "https://github.com/ms-ati/docile",
34
+ "rubygems_mfa_required" => "true",
35
+ }
36
+ end
@@ -0,0 +1,22 @@
1
+ Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions
5
+ are met:
6
+ 1. Redistributions of source code must retain the above copyright
7
+ notice, this list of conditions and the following disclaimer.
8
+ 2. Redistributions in binary form must reproduce the above copyright
9
+ notice, this list of conditions and the following disclaimer in the
10
+ documentation and/or other materials provided with the distribution.
11
+
12
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
13
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
18
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
19
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
21
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
22
+ SUCH DAMAGE.
@@ -0,0 +1,41 @@
1
+ begin
2
+ require_relative "lib/drb/version"
3
+ rescue LoadError # Fallback to load version file in ruby core repository
4
+ require_relative "version"
5
+ end
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "drb"
9
+ spec.version = DRb::VERSION
10
+ spec.authors = ["Masatoshi SEKI"]
11
+ spec.email = ["seki@ruby-lang.org"]
12
+
13
+ spec.summary = %q{Distributed object system for Ruby}
14
+ spec.description = %q{Distributed object system for Ruby}
15
+ spec.homepage = "https://github.com/ruby/drb"
16
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
17
+ spec.licenses = ["Ruby", "BSD-2-Clause"]
18
+
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = spec.homepage
21
+
22
+ spec.files = %w[
23
+ LICENSE.txt
24
+ drb.gemspec
25
+ lib/drb.rb
26
+ lib/drb/acl.rb
27
+ lib/drb/drb.rb
28
+ lib/drb/eq.rb
29
+ lib/drb/extserv.rb
30
+ lib/drb/extservm.rb
31
+ lib/drb/gw.rb
32
+ lib/drb/invokemethod.rb
33
+ lib/drb/observer.rb
34
+ lib/drb/ssl.rb
35
+ lib/drb/timeridconv.rb
36
+ lib/drb/unix.rb
37
+ lib/drb/version.rb
38
+ lib/drb/weakidconv.rb
39
+ ]
40
+ spec.require_paths = ["lib"]
41
+ end
@@ -0,0 +1,107 @@
1
+ === 1.13.0 (2024-06-13)
2
+
3
+ * Define Erubi.h as a module function (jeremyevans)
4
+
5
+ * Add erubi/capture_block, supporting capturing block output via standard <%= and <%== tags (jeremyevans)
6
+
7
+ === 1.12.0 (2022-12-22)
8
+
9
+ * Use erb/escape for faster html escaping if available (jeremyevans)
10
+
11
+ * Default :freeze_template_literals option to false if running with --enable-frozen-string-literal (casperisfine) (#35)
12
+
13
+ === 1.11.0 (2022-08-02)
14
+
15
+ * Support :freeze_template_literals option for configuring whether to add .freeze to template literal strings (casperisfine) (#33)
16
+
17
+ * Support :chain_appends option for chaining appends to the buffer variable (casperisfine, jeremyevans) (#32)
18
+
19
+ * Avoid unnecessary defined? usage on Ruby 3+ when using the :ensure option (jeremyevans)
20
+
21
+ === 1.10.0 (2020-11-13)
22
+
23
+ * Improve template parsing, mostly by reducing allocations (jeremyevans)
24
+
25
+ * Do not ship tests in the gem, reducing gem size about 20% (jeremyevans)
26
+
27
+ * Support :literal_prefix and :literal_postfix options for how to output literal tags (e.g. <%% code %>) (jaredcwhite) (#26, #27)
28
+
29
+ === 1.9.0 (2019-09-25)
30
+
31
+ * Change default :bufvar from 'String.new' to '::String.new' to work with BasicObject (jeremyevans)
32
+
33
+ === 1.8.0 (2018-12-18)
34
+
35
+ * Support :yield_returns_buffer option in capture_end for always returning the (potentially modified) buffer in <%|= tags (evanleck) (#15)
36
+
37
+ === 1.7.1 (2018-03-05)
38
+
39
+ * Make whitespace handling for <%# %> tags more compatible with Erubis (jeremyevans) (#14)
40
+
41
+ === 1.7.0 (2017-10-09)
42
+
43
+ * Fix escaping in erubi/capture_end, the setting was previously inverted (jeremyevans) (#10)
44
+
45
+ === 1.6.1 (2017-06-27)
46
+
47
+ * Fix usage on newer versions of JRuby 9.1 (jeremyevans)
48
+
49
+ === 1.6.0 (2017-02-27)
50
+
51
+ * Use cgi/escape if available for 6x faster HTML escaping (k0kubun, jeremyevans) (#4)
52
+
53
+ === 1.5.0 (2017-01-26)
54
+
55
+ * Drop tilt/erubi file, as tilt now ships with Erubi support (jeremyevans)
56
+
57
+ * Drop erubi/capture file, Erubi::CaptureEngine support (jeremyevans)
58
+
59
+ === 1.4.0 (2017-01-20)
60
+
61
+ * Allow postambles to depend on internal state of engine (jeremyevans)
62
+
63
+ * Allow overriding of behavior for <%= and <%== tags to depend on which indicator was used (jeremyevans)
64
+
65
+ * Make whitespace handling for <% %> tags more compatible with Erubis for subclasses overriding add_text (jeremyevans)
66
+
67
+ === 1.3.0 (2016-12-29)
68
+
69
+ * Support :capture=>:explicit option in tilt support to use Erubi::CaptureEndEngine (jeremyevans)
70
+
71
+ * Add erubi/capture_end containing Erubi::CaptureEndEngine, allowing <%|= and <%|== for opening capture tags, and <%| for closing capture tags (jeremyevans)
72
+
73
+ === 1.2.1 (2016-11-21)
74
+
75
+ * Don't automatically freeze template text strings on ruby 1.9 or 2.0 (jeremyevans)
76
+
77
+ === 1.2.0 (2016-11-21)
78
+
79
+ * Engine#src now returns a frozen string (jeremyevans)
80
+
81
+ * Automatically freeze template text strings on ruby 2.1+, reducing garbage generated (jeremyevans)
82
+
83
+ * Allow overriding of behavior for <%= and <%== tags (ujifgc) (#1)
84
+
85
+ === 1.1.0 (2016-11-14)
86
+
87
+ * Add :ensure option to supporting restoring bufvar to original value (jeremyevans)
88
+
89
+ * Don't have tilt support require erb (jeremyevans)
90
+
91
+ * Support :engine_class option in tilt support to override engine class used (jeremyevans)
92
+
93
+ * Support :capture option in tilt support to use Erubi::CaptureEngine (jeremyevans)
94
+
95
+ * Add erubi/capture file containing Erubi::CaptureEngine, allowing <%|= and <%|== for capture (and escaping) blocks in templates (jeremyevans)
96
+
97
+ * Raise ArgumentError if template source code contains indicators matched by regexp but not handled (jeremyevans)
98
+
99
+ * Add :bufval option to support arbitrary buffer values (jeremyevans)
100
+
101
+ * Add :regexp option to specify regexp used for scanning (jeremyevans)
102
+
103
+ * Add :src option to specify initial template source (jeremyevans)
104
+
105
+ === 1.0.0 (2016-11-10)
106
+
107
+ * Initial Public Release
@@ -0,0 +1,21 @@
1
+ copyright(c) 2006-2011 kuwata-lab.com all rights reserved.
2
+ copyright(c) 2016-2021 Jeremy Evans
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.