herb 0.9.7-arm-linux-gnu → 0.10.1-arm-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/config/action_view_helpers/actioncable/action_cable_helper/action_cable_meta_tag.yml +20 -0
  4. data/config/action_view_helpers/actionpack/content_security_policy/content_security_policy?.yml +16 -0
  5. data/config/action_view_helpers/actionpack/content_security_policy/content_security_policy_nonce.yml +16 -0
  6. data/config/action_view_helpers/actionpack/polymorphic_routes/polymorphic_path.yml +27 -0
  7. data/config/action_view_helpers/actionpack/polymorphic_routes/polymorphic_url.yml +33 -0
  8. data/config/action_view_helpers/actionpack/request_forgery_protection/form_authenticity_token.yml +19 -0
  9. data/config/action_view_helpers/actionpack/request_forgery_protection/protect_against_forgery?.yml +16 -0
  10. data/config/action_view_helpers/actiontext/content_helper/render_action_text_content.yml +21 -0
  11. data/config/action_view_helpers/actiontext/content_helper/sanitize_action_text_content.yml +21 -0
  12. data/config/action_view_helpers/actiontext/tag_helper/rich_textarea_tag.yml +46 -0
  13. data/config/action_view_helpers/actionview/active_model_helper/error_message.yml +16 -0
  14. data/config/action_view_helpers/actionview/active_model_helper/error_wrapping.yml +16 -0
  15. data/config/action_view_helpers/actionview/active_model_helper/object.yml +16 -0
  16. data/config/action_view_helpers/actionview/asset_tag_helper/apply_stylesheet_media_default.yml +16 -0
  17. data/config/action_view_helpers/actionview/asset_tag_helper/audio_tag.yml +45 -0
  18. data/config/action_view_helpers/actionview/asset_tag_helper/auto_discovery_link_tag.yml +44 -0
  19. data/config/action_view_helpers/actionview/asset_tag_helper/auto_include_nonce.yml +16 -0
  20. data/config/action_view_helpers/actionview/asset_tag_helper/auto_include_nonce_for_scripts.yml +16 -0
  21. data/config/action_view_helpers/actionview/asset_tag_helper/auto_include_nonce_for_styles.yml +16 -0
  22. data/config/action_view_helpers/actionview/asset_tag_helper/favicon_link_tag.yml +46 -0
  23. data/config/action_view_helpers/actionview/asset_tag_helper/image_decoding.yml +16 -0
  24. data/config/action_view_helpers/actionview/asset_tag_helper/image_loading.yml +16 -0
  25. data/config/action_view_helpers/actionview/asset_tag_helper/image_tag.yml +68 -0
  26. data/config/action_view_helpers/actionview/asset_tag_helper/javascript_include_tag.yml +59 -0
  27. data/config/action_view_helpers/actionview/asset_tag_helper/picture_tag.yml +29 -0
  28. data/config/action_view_helpers/actionview/asset_tag_helper/preload_link_tag.yml +50 -0
  29. data/config/action_view_helpers/actionview/asset_tag_helper/preload_links_header.yml +16 -0
  30. data/config/action_view_helpers/actionview/asset_tag_helper/stylesheet_link_tag.yml +50 -0
  31. data/config/action_view_helpers/actionview/asset_tag_helper/video_tag.yml +55 -0
  32. data/config/action_view_helpers/actionview/asset_url_helper/asset_path.yml +23 -0
  33. data/config/action_view_helpers/actionview/asset_url_helper/asset_url.yml +23 -0
  34. data/config/action_view_helpers/actionview/asset_url_helper/audio_path.yml +23 -0
  35. data/config/action_view_helpers/actionview/asset_url_helper/audio_url.yml +23 -0
  36. data/config/action_view_helpers/actionview/asset_url_helper/compute_asset_extname.yml +16 -0
  37. data/config/action_view_helpers/actionview/asset_url_helper/compute_asset_host.yml +16 -0
  38. data/config/action_view_helpers/actionview/asset_url_helper/compute_asset_path.yml +16 -0
  39. data/config/action_view_helpers/actionview/asset_url_helper/font_path.yml +23 -0
  40. data/config/action_view_helpers/actionview/asset_url_helper/font_url.yml +23 -0
  41. data/config/action_view_helpers/actionview/asset_url_helper/image_path.yml +23 -0
  42. data/config/action_view_helpers/actionview/asset_url_helper/image_url.yml +23 -0
  43. data/config/action_view_helpers/actionview/asset_url_helper/javascript_path.yml +23 -0
  44. data/config/action_view_helpers/actionview/asset_url_helper/javascript_url.yml +23 -0
  45. data/config/action_view_helpers/actionview/asset_url_helper/public_compute_asset_path.yml +16 -0
  46. data/config/action_view_helpers/actionview/asset_url_helper/stylesheet_path.yml +23 -0
  47. data/config/action_view_helpers/actionview/asset_url_helper/stylesheet_url.yml +23 -0
  48. data/config/action_view_helpers/actionview/asset_url_helper/video_path.yml +23 -0
  49. data/config/action_view_helpers/actionview/asset_url_helper/video_url.yml +23 -0
  50. data/config/action_view_helpers/actionview/atom_feed_helper/atom_feed.yml +40 -0
  51. data/config/action_view_helpers/actionview/cache_helper/cache.yml +28 -0
  52. data/config/action_view_helpers/actionview/cache_helper/cache_fragment_name.yml +16 -0
  53. data/config/action_view_helpers/actionview/cache_helper/cache_if.yml +27 -0
  54. data/config/action_view_helpers/actionview/cache_helper/cache_unless.yml +27 -0
  55. data/config/action_view_helpers/actionview/cache_helper/caching_predicate.yml +16 -0
  56. data/config/action_view_helpers/actionview/cache_helper/digest_path_from_template.yml +16 -0
  57. data/config/action_view_helpers/actionview/cache_helper/fragment_for.yml +16 -0
  58. data/config/action_view_helpers/actionview/cache_helper/fragment_name_with_digest.yml +16 -0
  59. data/config/action_view_helpers/actionview/cache_helper/read_fragment_for.yml +16 -0
  60. data/config/action_view_helpers/actionview/cache_helper/uncacheable.yml +16 -0
  61. data/config/action_view_helpers/actionview/cache_helper/write_fragment_for.yml +16 -0
  62. data/config/action_view_helpers/actionview/capture_helper/capture.yml +16 -0
  63. data/config/action_view_helpers/actionview/capture_helper/content_for.yml +24 -0
  64. data/config/action_view_helpers/actionview/capture_helper/content_for_predicate.yml +21 -0
  65. data/config/action_view_helpers/actionview/capture_helper/provide.yml +21 -0
  66. data/config/action_view_helpers/actionview/capture_helper/with_output_buffer.yml +16 -0
  67. data/config/action_view_helpers/actionview/content_exfiltration_prevention_helper/prepend_content_exfiltration_prevention.yml +16 -0
  68. data/config/action_view_helpers/actionview/content_exfiltration_prevention_helper/prevent_content_exfiltration.yml +16 -0
  69. data/config/action_view_helpers/actionview/controller_helper/action_name.yml +16 -0
  70. data/config/action_view_helpers/actionview/controller_helper/assign_controller.yml +16 -0
  71. data/config/action_view_helpers/actionview/controller_helper/controller.yml +16 -0
  72. data/config/action_view_helpers/actionview/controller_helper/controller_name.yml +16 -0
  73. data/config/action_view_helpers/actionview/controller_helper/controller_path.yml +16 -0
  74. data/config/action_view_helpers/actionview/controller_helper/cookies.yml +16 -0
  75. data/config/action_view_helpers/actionview/controller_helper/flash.yml +16 -0
  76. data/config/action_view_helpers/actionview/controller_helper/headers.yml +16 -0
  77. data/config/action_view_helpers/actionview/controller_helper/logger.yml +18 -0
  78. data/config/action_view_helpers/actionview/controller_helper/params.yml +16 -0
  79. data/config/action_view_helpers/actionview/controller_helper/request.yml +16 -0
  80. data/config/action_view_helpers/actionview/controller_helper/request_forgery_protection_token.yml +16 -0
  81. data/config/action_view_helpers/actionview/controller_helper/response.yml +16 -0
  82. data/config/action_view_helpers/actionview/controller_helper/session.yml +16 -0
  83. data/config/action_view_helpers/actionview/csp_helper/csp_meta_tag.yml +23 -0
  84. data/config/action_view_helpers/actionview/csrf_helper/csrf_meta_tags.yml +23 -0
  85. data/config/action_view_helpers/actionview/date_helper/date_select.yml +71 -0
  86. data/config/action_view_helpers/actionview/date_helper/datetime_select.yml +59 -0
  87. data/config/action_view_helpers/actionview/date_helper/distance_of_time_in_words.yml +33 -0
  88. data/config/action_view_helpers/actionview/date_helper/relative_time_in_words.yml +36 -0
  89. data/config/action_view_helpers/actionview/date_helper/select_date.yml +49 -0
  90. data/config/action_view_helpers/actionview/date_helper/select_datetime.yml +58 -0
  91. data/config/action_view_helpers/actionview/date_helper/select_day.yml +42 -0
  92. data/config/action_view_helpers/actionview/date_helper/select_hour.yml +48 -0
  93. data/config/action_view_helpers/actionview/date_helper/select_minute.yml +42 -0
  94. data/config/action_view_helpers/actionview/date_helper/select_month.yml +54 -0
  95. data/config/action_view_helpers/actionview/date_helper/select_second.yml +39 -0
  96. data/config/action_view_helpers/actionview/date_helper/select_time.yml +52 -0
  97. data/config/action_view_helpers/actionview/date_helper/select_year.yml +45 -0
  98. data/config/action_view_helpers/actionview/date_helper/time_ago_in_words.yml +26 -0
  99. data/config/action_view_helpers/actionview/date_helper/time_select.yml +56 -0
  100. data/config/action_view_helpers/actionview/date_helper/time_tag.yml +37 -0
  101. data/config/action_view_helpers/actionview/debug_helper/debug.yml +21 -0
  102. data/config/action_view_helpers/actionview/form_helper/apply_form_for_options.yml +16 -0
  103. data/config/action_view_helpers/actionview/form_helper/button.yml +38 -0
  104. data/config/action_view_helpers/actionview/form_helper/checkbox.yml +49 -0
  105. data/config/action_view_helpers/actionview/form_helper/color_field.yml +32 -0
  106. data/config/action_view_helpers/actionview/form_helper/date_field.yml +38 -0
  107. data/config/action_view_helpers/actionview/form_helper/datetime_field.yml +43 -0
  108. data/config/action_view_helpers/actionview/form_helper/email_field.yml +32 -0
  109. data/config/action_view_helpers/actionview/form_helper/emitted_hidden_id.yml +16 -0
  110. data/config/action_view_helpers/actionview/form_helper/fields.yml +31 -0
  111. data/config/action_view_helpers/actionview/form_helper/fields_for.yml +33 -0
  112. data/config/action_view_helpers/actionview/form_helper/file_field.yml +44 -0
  113. data/config/action_view_helpers/actionview/form_helper/form_for.yml +41 -0
  114. data/config/action_view_helpers/actionview/form_helper/form_with.yml +42 -0
  115. data/config/action_view_helpers/actionview/form_helper/form_with_generates_ids.yml +16 -0
  116. data/config/action_view_helpers/actionview/form_helper/form_with_generates_remote_forms.yml +16 -0
  117. data/config/action_view_helpers/actionview/form_helper/hidden_field.yml +32 -0
  118. data/config/action_view_helpers/actionview/form_helper/label.yml +47 -0
  119. data/config/action_view_helpers/actionview/form_helper/month_field.yml +32 -0
  120. data/config/action_view_helpers/actionview/form_helper/multipart.yml +16 -0
  121. data/config/action_view_helpers/actionview/form_helper/multiple_file_field_include_hidden.yml +16 -0
  122. data/config/action_view_helpers/actionview/form_helper/number_field.yml +44 -0
  123. data/config/action_view_helpers/actionview/form_helper/password_field.yml +32 -0
  124. data/config/action_view_helpers/actionview/form_helper/radio_button.yml +37 -0
  125. data/config/action_view_helpers/actionview/form_helper/range_field.yml +44 -0
  126. data/config/action_view_helpers/actionview/form_helper/search_field.yml +32 -0
  127. data/config/action_view_helpers/actionview/form_helper/submit.yml +35 -0
  128. data/config/action_view_helpers/actionview/form_helper/telephone_field.yml +34 -0
  129. data/config/action_view_helpers/actionview/form_helper/text_field.yml +32 -0
  130. data/config/action_view_helpers/actionview/form_helper/textarea.yml +37 -0
  131. data/config/action_view_helpers/actionview/form_helper/time_field.yml +41 -0
  132. data/config/action_view_helpers/actionview/form_helper/url_field.yml +32 -0
  133. data/config/action_view_helpers/actionview/form_helper/week_field.yml +32 -0
  134. data/config/action_view_helpers/actionview/form_options_helper/collection_checkboxes.yml +58 -0
  135. data/config/action_view_helpers/actionview/form_options_helper/collection_radio_buttons.yml +56 -0
  136. data/config/action_view_helpers/actionview/form_options_helper/collection_select.yml +65 -0
  137. data/config/action_view_helpers/actionview/form_options_helper/grouped_collection_select.yml +69 -0
  138. data/config/action_view_helpers/actionview/form_options_helper/grouped_options_for_select.yml +39 -0
  139. data/config/action_view_helpers/actionview/form_options_helper/option_groups_from_collection_for_select.yml +47 -0
  140. data/config/action_view_helpers/actionview/form_options_helper/options_for_select.yml +27 -0
  141. data/config/action_view_helpers/actionview/form_options_helper/options_from_collection_for_select.yml +37 -0
  142. data/config/action_view_helpers/actionview/form_options_helper/select.yml +59 -0
  143. data/config/action_view_helpers/actionview/form_options_helper/time_zone_options_for_select.yml +34 -0
  144. data/config/action_view_helpers/actionview/form_options_helper/time_zone_select.yml +53 -0
  145. data/config/action_view_helpers/actionview/form_options_helper/weekday_options_for_select.yml +31 -0
  146. data/config/action_view_helpers/actionview/form_options_helper/weekday_select.yml +38 -0
  147. data/config/action_view_helpers/actionview/form_tag_helper/button_tag.yml +39 -0
  148. data/config/action_view_helpers/actionview/form_tag_helper/checkbox_tag.yml +45 -0
  149. data/config/action_view_helpers/actionview/form_tag_helper/color_field_tag.yml +38 -0
  150. data/config/action_view_helpers/actionview/form_tag_helper/date_field_tag.yml +37 -0
  151. data/config/action_view_helpers/actionview/form_tag_helper/datetime_field_tag.yml +39 -0
  152. data/config/action_view_helpers/actionview/form_tag_helper/default_enforce_utf8.yml +16 -0
  153. data/config/action_view_helpers/actionview/form_tag_helper/email_field_tag.yml +37 -0
  154. data/config/action_view_helpers/actionview/form_tag_helper/embed_authenticity_token_in_remote_forms.yml +16 -0
  155. data/config/action_view_helpers/actionview/form_tag_helper/field_id.yml +32 -0
  156. data/config/action_view_helpers/actionview/form_tag_helper/field_name.yml +32 -0
  157. data/config/action_view_helpers/actionview/form_tag_helper/field_set_tag.yml +34 -0
  158. data/config/action_view_helpers/actionview/form_tag_helper/file_field_tag.yml +41 -0
  159. data/config/action_view_helpers/actionview/form_tag_helper/form_tag.yml +42 -0
  160. data/config/action_view_helpers/actionview/form_tag_helper/hidden_field_tag.yml +37 -0
  161. data/config/action_view_helpers/actionview/form_tag_helper/image_submit_tag.yml +40 -0
  162. data/config/action_view_helpers/actionview/form_tag_helper/label_tag.yml +38 -0
  163. data/config/action_view_helpers/actionview/form_tag_helper/month_field_tag.yml +37 -0
  164. data/config/action_view_helpers/actionview/form_tag_helper/number_field_tag.yml +49 -0
  165. data/config/action_view_helpers/actionview/form_tag_helper/password_field_tag.yml +38 -0
  166. data/config/action_view_helpers/actionview/form_tag_helper/radio_button_tag.yml +42 -0
  167. data/config/action_view_helpers/actionview/form_tag_helper/range_field_tag.yml +49 -0
  168. data/config/action_view_helpers/actionview/form_tag_helper/search_field_tag.yml +37 -0
  169. data/config/action_view_helpers/actionview/form_tag_helper/select_tag.yml +49 -0
  170. data/config/action_view_helpers/actionview/form_tag_helper/submit_tag.yml +39 -0
  171. data/config/action_view_helpers/actionview/form_tag_helper/telephone_field_tag.yml +39 -0
  172. data/config/action_view_helpers/actionview/form_tag_helper/text_field_tag.yml +37 -0
  173. data/config/action_view_helpers/actionview/form_tag_helper/textarea_tag.yml +43 -0
  174. data/config/action_view_helpers/actionview/form_tag_helper/time_field_tag.yml +37 -0
  175. data/config/action_view_helpers/actionview/form_tag_helper/url_field_tag.yml +37 -0
  176. data/config/action_view_helpers/actionview/form_tag_helper/utf8_enforcer_tag.yml +16 -0
  177. data/config/action_view_helpers/actionview/form_tag_helper/week_field_tag.yml +37 -0
  178. data/config/action_view_helpers/actionview/javascript_helper/escape_javascript.yml +23 -0
  179. data/config/action_view_helpers/actionview/javascript_helper/javascript_cdata_section.yml +16 -0
  180. data/config/action_view_helpers/actionview/javascript_helper/javascript_tag.yml +45 -0
  181. data/config/action_view_helpers/actionview/number_helper/number_to_currency.yml +36 -0
  182. data/config/action_view_helpers/actionview/number_helper/number_to_human.yml +27 -0
  183. data/config/action_view_helpers/actionview/number_helper/number_to_human_size.yml +24 -0
  184. data/config/action_view_helpers/actionview/number_helper/number_to_percentage.yml +24 -0
  185. data/config/action_view_helpers/actionview/number_helper/number_to_phone.yml +34 -0
  186. data/config/action_view_helpers/actionview/number_helper/number_with_delimiter.yml +29 -0
  187. data/config/action_view_helpers/actionview/number_helper/number_with_precision.yml +27 -0
  188. data/config/action_view_helpers/actionview/output_safety_helper/raw.yml +21 -0
  189. data/config/action_view_helpers/actionview/output_safety_helper/safe_join.yml +26 -0
  190. data/config/action_view_helpers/actionview/output_safety_helper/to_sentence.yml +33 -0
  191. data/config/action_view_helpers/actionview/record_identifier/dom_class.yml +27 -0
  192. data/config/action_view_helpers/actionview/record_identifier/dom_id.yml +27 -0
  193. data/config/action_view_helpers/actionview/record_identifier/dom_target.yml +22 -0
  194. data/config/action_view_helpers/actionview/record_identifier/model_name_from_record_or_class.yml +16 -0
  195. data/config/action_view_helpers/actionview/rendering_helper/render.yml +34 -0
  196. data/config/action_view_helpers/actionview/sanitize_helper/sanitize.yml +27 -0
  197. data/config/action_view_helpers/actionview/sanitize_helper/sanitize_css.yml +21 -0
  198. data/config/action_view_helpers/actionview/sanitize_helper/sanitizer_vendor.yml +16 -0
  199. data/config/action_view_helpers/actionview/sanitize_helper/strip_links.yml +21 -0
  200. data/config/action_view_helpers/actionview/sanitize_helper/strip_tags.yml +21 -0
  201. data/config/action_view_helpers/actionview/tag_helper/cdata_section.yml +21 -0
  202. data/config/action_view_helpers/actionview/tag_helper/content_tag.yml +64 -0
  203. data/config/action_view_helpers/actionview/tag_helper/escape_once.yml +21 -0
  204. data/config/action_view_helpers/actionview/tag_helper/tag.yml +47 -0
  205. data/config/action_view_helpers/actionview/tag_helper/token_list.yml +24 -0
  206. data/config/action_view_helpers/actionview/text_helper/concat.yml +21 -0
  207. data/config/action_view_helpers/actionview/text_helper/current_cycle.yml +22 -0
  208. data/config/action_view_helpers/actionview/text_helper/cycle.yml +31 -0
  209. data/config/action_view_helpers/actionview/text_helper/excerpt.yml +39 -0
  210. data/config/action_view_helpers/actionview/text_helper/highlight.yml +35 -0
  211. data/config/action_view_helpers/actionview/text_helper/pluralize.yml +32 -0
  212. data/config/action_view_helpers/actionview/text_helper/reset_cycle.yml +22 -0
  213. data/config/action_view_helpers/actionview/text_helper/safe_concat.yml +16 -0
  214. data/config/action_view_helpers/actionview/text_helper/simple_format.yml +40 -0
  215. data/config/action_view_helpers/actionview/text_helper/truncate.yml +40 -0
  216. data/config/action_view_helpers/actionview/text_helper/word_wrap.yml +27 -0
  217. data/config/action_view_helpers/actionview/translation_helper/debug_missing_translation.yml +16 -0
  218. data/config/action_view_helpers/actionview/translation_helper/localize.yml +29 -0
  219. data/config/action_view_helpers/actionview/translation_helper/translate.yml +32 -0
  220. data/config/action_view_helpers/actionview/url_helper/button_to.yml +55 -0
  221. data/config/action_view_helpers/actionview/url_helper/button_to_generates_button_tag.yml +16 -0
  222. data/config/action_view_helpers/actionview/url_helper/current_page?.yml +28 -0
  223. data/config/action_view_helpers/actionview/url_helper/link_to.yml +76 -0
  224. data/config/action_view_helpers/actionview/url_helper/link_to_if.yml +42 -0
  225. data/config/action_view_helpers/actionview/url_helper/link_to_unless.yml +42 -0
  226. data/config/action_view_helpers/actionview/url_helper/link_to_unless_current.yml +37 -0
  227. data/config/action_view_helpers/actionview/url_helper/mail_to.yml +56 -0
  228. data/config/action_view_helpers/actionview/url_helper/phone_to.yml +44 -0
  229. data/config/action_view_helpers/actionview/url_helper/sms_to.yml +47 -0
  230. data/config/action_view_helpers/actionview/url_helper/url_for.yml +22 -0
  231. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_exempts_page_from_cache.yml +16 -0
  232. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_exempts_page_from_cache_tag.yml +20 -0
  233. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_exempts_page_from_preview.yml +16 -0
  234. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_exempts_page_from_preview_tag.yml +20 -0
  235. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_page_requires_reload.yml +16 -0
  236. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_page_requires_reload_tag.yml +20 -0
  237. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_refresh_method_tag.yml +26 -0
  238. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_refresh_scroll_tag.yml +26 -0
  239. data/config/action_view_helpers/turbo-rails/drive_helper/turbo_refreshes_with.yml +22 -0
  240. data/config/action_view_helpers/turbo-rails/frames_helper/turbo_frame_tag.yml +50 -0
  241. data/config/action_view_helpers/turbo-rails/includes_helper/turbo_include_tags.yml +16 -0
  242. data/config/action_view_helpers/turbo-rails/streams_action_helper/turbo_stream_action_tag.yml +34 -0
  243. data/config/action_view_helpers/turbo-rails/streams_action_helper/turbo_stream_refresh_tag.yml +23 -0
  244. data/config/action_view_helpers/turbo-rails/streams_helper/turbo_stream.yml +16 -0
  245. data/config/action_view_helpers/turbo-rails/streams_helper/turbo_stream_from.yml +33 -0
  246. data/config/options.yml +14 -0
  247. data/config/view_context_methods/actionview/base/annotate_rendered_view_with_filenames.yml +8 -0
  248. data/config/view_context_methods/actionview/base/assign.yml +8 -0
  249. data/config/view_context_methods/actionview/base/assigns.yml +8 -0
  250. data/config/view_context_methods/actionview/base/automatically_disable_submit_tag.yml +8 -0
  251. data/config/view_context_methods/actionview/base/compiled_method_container.yml +8 -0
  252. data/config/view_context_methods/actionview/base/config.yml +8 -0
  253. data/config/view_context_methods/actionview/base/default_form_builder.yml +8 -0
  254. data/config/view_context_methods/actionview/base/default_formats.yml +8 -0
  255. data/config/view_context_methods/actionview/base/field_error_proc.yml +8 -0
  256. data/config/view_context_methods/actionview/base/formats.yml +8 -0
  257. data/config/view_context_methods/actionview/base/in_rendering_context.yml +8 -0
  258. data/config/view_context_methods/actionview/base/locale.yml +8 -0
  259. data/config/view_context_methods/actionview/base/lookup_context.yml +8 -0
  260. data/config/view_context_methods/actionview/base/output_buffer.yml +8 -0
  261. data/config/view_context_methods/actionview/base/prefix_partial_path_with_controller_namespace.yml +10 -0
  262. data/config/view_context_methods/actionview/base/remove_hidden_field_autocomplete.yml +8 -0
  263. data/config/view_context_methods/actionview/base/streaming_completion_on_exception.yml +8 -0
  264. data/config/view_context_methods/actionview/base/view_flow.yml +8 -0
  265. data/config/view_context_methods/actionview/base/view_paths.yml +8 -0
  266. data/config/view_context_methods/actionview/base/view_renderer.yml +8 -0
  267. data/config/view_context_methods/actionview/template/local_assigns.yml +8 -0
  268. data/config/view_context_methods/activemodel/conversion/convert_to_model.yml +8 -0
  269. data/config/view_context_methods/activesupport/benchmarkable/benchmark.yml +8 -0
  270. data/ext/herb/extconf.rb +1 -0
  271. data/ext/herb/extension.c +108 -0
  272. data/herb.gemspec +2 -1
  273. data/lib/herb/3.2/herb.so +0 -0
  274. data/lib/herb/3.3/herb.so +0 -0
  275. data/lib/herb/3.4/herb.so +0 -0
  276. data/lib/herb/4.0/herb.so +0 -0
  277. data/lib/herb/action_view/render_analyzer.rb +1057 -0
  278. data/lib/herb/ast/erb_render_node.rb +155 -0
  279. data/lib/herb/bootstrap.rb +0 -1
  280. data/lib/herb/cli.rb +253 -19
  281. data/lib/herb/colors.rb +18 -0
  282. data/lib/herb/configuration.rb +49 -13
  283. data/lib/herb/defaults.yml +3 -0
  284. data/lib/herb/dev/runner.rb +445 -0
  285. data/lib/herb/dev/server.rb +207 -0
  286. data/lib/herb/dev/server_entry.rb +128 -0
  287. data/lib/herb/diff_operation.rb +34 -0
  288. data/lib/herb/diff_result.rb +59 -0
  289. data/lib/herb/engine/compiler.rb +56 -3
  290. data/lib/herb/engine/validators/render_validator.rb +92 -0
  291. data/lib/herb/engine.rb +58 -4
  292. data/lib/herb/html/util.rb +16 -0
  293. data/lib/herb/project.rb +1 -6
  294. data/lib/herb/version.rb +1 -1
  295. data/lib/herb.rb +41 -5
  296. data/sig/herb/action_view/render_analyzer.rbs +122 -0
  297. data/sig/herb/ast/erb_render_node.rbs +29 -0
  298. data/sig/herb/colors.rbs +12 -0
  299. data/sig/herb/configuration.rbs +20 -1
  300. data/sig/herb/dev/runner.rbs +59 -0
  301. data/sig/herb/dev/server.rbs +50 -0
  302. data/sig/herb/dev/server_entry.rbs +51 -0
  303. data/sig/herb/diff_operation.rbs +34 -0
  304. data/sig/herb/diff_result.rbs +34 -0
  305. data/sig/herb/engine/compiler.rbs +6 -0
  306. data/sig/herb/engine/validators/render_validator.rbs +21 -0
  307. data/sig/herb/engine.rbs +15 -0
  308. data/sig/herb/html/util.rbs +13 -0
  309. data/sig/herb.rbs +12 -2
  310. data/sig/herb_c_extension.rbs +1 -1
  311. data/sig/vendor/did_you_mean.rbs +6 -0
  312. data/sig/vendor/parallel.rbs +4 -0
  313. data/src/analyze/action_view/attribute_extraction_helpers.c +3 -2
  314. data/src/diff/herb_diff.c +137 -0
  315. data/src/diff/herb_diff_attributes.c +207 -0
  316. data/src/diff/herb_diff_children.c +518 -0
  317. data/src/diff/herb_diff_helpers.c +114 -0
  318. data/src/diff/herb_diff_nodes.c +707 -0
  319. data/src/diff/herb_hash.c +42 -0
  320. data/src/diff/herb_hash_index_map.c +47 -0
  321. data/src/diff/herb_hash_map.c +104 -0
  322. data/src/diff/herb_hash_tree.c +680 -0
  323. data/src/include/diff/herb_diff.h +118 -0
  324. data/src/include/diff/herb_hash.h +25 -0
  325. data/src/include/diff/herb_hash_index_map.h +32 -0
  326. data/src/include/diff/herb_hash_map.h +30 -0
  327. data/src/include/herb.h +1 -0
  328. data/src/include/version.h +1 -1
  329. data/templates/javascript/packages/core/src/config.ts.erb +43 -0
  330. data/templates/rust/src/ast/nodes.rs.erb +1 -1
  331. data/templates/rust/src/config.rs.erb +50 -0
  332. data/templates/src/diff/herb_diff_helpers.c.erb +38 -0
  333. data/templates/src/diff/herb_diff_nodes.c.erb +224 -0
  334. data/templates/src/diff/herb_hash_tree.c.erb +147 -0
  335. data/templates/template.rb +4 -4
  336. metadata +307 -4
  337. data/lib/herb/3.0/herb.so +0 -0
  338. data/lib/herb/3.1/herb.so +0 -0
@@ -0,0 +1,122 @@
1
+ # Generated from lib/herb/action_view/render_analyzer.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module ActionView
5
+ class RenderAnalyzer
6
+ include Colors
7
+
8
+ class Result < Data
9
+ attr_reader render_calls(): untyped
10
+
11
+ attr_reader dynamic_calls(): untyped
12
+
13
+ attr_reader partial_files(): untyped
14
+
15
+ attr_reader unresolved(): untyped
16
+
17
+ attr_reader unused(): untyped
18
+
19
+ attr_reader view_root(): untyped
20
+
21
+ def self.new: (untyped render_calls, untyped dynamic_calls, untyped partial_files, untyped unresolved, untyped unused, untyped view_root) -> instance
22
+ | (render_calls: untyped, dynamic_calls: untyped, partial_files: untyped, unresolved: untyped, unused: untyped, view_root: untyped) -> instance
23
+
24
+ def self.members: () -> [ :render_calls, :dynamic_calls, :partial_files, :unresolved, :unused, :view_root ]
25
+
26
+ def members: () -> [ :render_calls, :dynamic_calls, :partial_files, :unresolved, :unused, :view_root ]
27
+ end
28
+
29
+ class Result
30
+ def issues?: () -> untyped
31
+ end
32
+
33
+ attr_reader project_path: untyped
34
+
35
+ attr_reader configuration: untyped
36
+
37
+ def initialize: (untyped project_path, ?configuration: untyped) -> untyped
38
+
39
+ def check!: () -> untyped
40
+
41
+ def fully_resolvable?: (untyped file_path) -> untyped
42
+
43
+ def graph_file!: (untyped file_path) -> untyped
44
+
45
+ def graph!: () -> untyped
46
+
47
+ def analyze: (?untyped erb_files, ?untyped view_root) -> untyped
48
+
49
+ def analyze_from_collected: (render_calls_by_file: untyped, ?dynamic_prefixes_from_erb: untyped, ?layout_refs_from_erb: untyped) -> untyped
50
+
51
+ def print_file_lists: (untyped result) -> untyped
52
+
53
+ def print_issue_summary: (untyped result) -> untyped
54
+
55
+ def print_summary_line: (untyped result) -> untyped
56
+
57
+ private
58
+
59
+ def print_partial_tree: (untyped partial_names, untyped render_graph, untyped partial_files, untyped view_root, untyped reachable, ?indent: untyped, ?visited: untyped) -> untyped
60
+
61
+ def file_display_name: (untyped file, untyped view_root) -> untyped
62
+
63
+ def compute_reachable: (untyped render_graph, untyped partial_files, untyped ruby_references, untyped dynamic_prefixes) -> untyped
64
+
65
+ def trace_to_entry_points: (untyped partial_name, untyped reverse_graph, untyped _partial_files, untyped view_root) -> untyped
66
+
67
+ def print_results: (untyped result, untyped duration) -> untyped
68
+
69
+ def find_erb_files: () -> untyped
70
+
71
+ def find_view_root: () -> untyped
72
+
73
+ def find_partial_files: (untyped view_root) -> untyped
74
+
75
+ def partial_name_for_file: (untyped file_path, untyped view_root) -> untyped
76
+
77
+ def collect_render_calls_by_file: (untyped files) -> untyped
78
+
79
+ def process_file_for_render_calls: (untyped file) -> untyped
80
+
81
+ def ensure_parallel!: () -> untyped
82
+
83
+ def collect_ruby_render_references: () -> untyped
84
+
85
+ def build_render_graph: (untyped render_calls_by_file, untyped partial_files, untyped view_root) -> untyped
86
+
87
+ def find_unused_by_reachability: (untyped render_graph, untyped partial_files, untyped ruby_references, untyped dynamic_prefixes, untyped _view_root) -> untyped
88
+
89
+ def partition_dynamic: (untyped render_calls) -> untyped
90
+
91
+ def dynamic_partial?: (untyped partial_name) -> untyped
92
+
93
+ def collect_all_dynamic_prefixes: (untyped dynamic_calls, untyped ruby_references) -> untyped
94
+
95
+ def find_unresolved: (untyped render_calls, untyped partial_files, untyped view_root) -> untyped
96
+
97
+ def resolve_partial: (untyped partial_name, untyped source_file, untyped partial_files, untyped view_root) -> untyped
98
+
99
+ def expected_file_path: (untyped partial_name, untyped view_root) -> untyped
100
+
101
+ def label: (untyped text, ?untyped width) -> untyped
102
+
103
+ def stat: (untyped count, untyped text, untyped color) -> untyped
104
+
105
+ def separator: () -> untyped
106
+
107
+ def pluralize: (untyped count, untyped singular, ?untyped plural) -> untyped
108
+
109
+ def format_duration: (untyped seconds) -> untyped
110
+
111
+ def relative_path: (untyped path) -> untyped
112
+ end
113
+
114
+ class RenderCallVisitor < Visitor
115
+ attr_reader render_calls: untyped
116
+
117
+ def initialize: (untyped file) -> untyped
118
+
119
+ def visit_erb_render_node: (untyped node) -> untyped
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,29 @@
1
+ # Generated from lib/herb/ast/erb_render_node.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module AST
5
+ class ERBRenderNode < Node
6
+ PARTIAL_EXTENSIONS: untyped
7
+
8
+ def static_partial?: () -> untyped
9
+
10
+ def dynamic?: () -> untyped
11
+
12
+ def partial_path: () -> untyped
13
+
14
+ def template_name: () -> untyped
15
+
16
+ def layout_name: () -> untyped
17
+
18
+ def local_names: () -> untyped
19
+
20
+ def resolve: (?view_root: untyped, ?source_directory: untyped) -> untyped
21
+
22
+ def candidate_paths: (?untyped name, ?untyped view_root, ?untyped source_directory) -> untyped
23
+
24
+ def similar_partials: (?view_root: untyped, ?source_directory: untyped, ?limit: untyped) -> untyped
25
+
26
+ def find_non_partial_matches: (?untyped name, ?untyped view_root, ?untyped source_directory) -> untyped
27
+ end
28
+ end
29
+ end
data/sig/herb/colors.rbs CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  module Herb
4
4
  module Colors
5
+ HIDE_CURSOR: ::String
6
+
7
+ SHOW_CURSOR: ::String
8
+
9
+ CLEAR_SCREEN: ::String
10
+
5
11
  # : () -> bool
6
12
  def self?.enabled?: () -> bool
7
13
 
@@ -31,5 +37,11 @@ module Herb
31
37
 
32
38
  # : (String) -> String
33
39
  def self?.bold: (String) -> String
40
+
41
+ # : (String, Integer) -> String
42
+ def self?.fg: (String, Integer) -> String
43
+
44
+ # : (String, Integer, Integer) -> String
45
+ def self?.fg_bg: (String, Integer, Integer) -> String
34
46
  end
35
47
  end
@@ -2,6 +2,14 @@
2
2
 
3
3
  module Herb
4
4
  class Configuration
5
+ OPTIONS_PATH: String
6
+
7
+ OPTIONS: Hash[String, untyped]
8
+
9
+ VALID_FRAMEWORKS: Array[String]
10
+
11
+ VALID_TEMPLATE_ENGINES: Array[String]
12
+
5
13
  CONFIG_FILENAMES: untyped
6
14
 
7
15
  PROJECT_INDICATORS: untyped
@@ -12,6 +20,8 @@ module Herb
12
20
 
13
21
  attr_reader config: untyped
14
22
 
23
+ attr_reader user_config: untyped
24
+
15
25
  attr_reader config_path: untyped
16
26
 
17
27
  attr_reader project_root: untyped
@@ -24,6 +34,12 @@ module Herb
24
34
 
25
35
  def version: () -> untyped
26
36
 
37
+ # : () -> String
38
+ def framework: () -> String
39
+
40
+ # : () -> String
41
+ def template_engine: () -> String
42
+
27
43
  def files: () -> untyped
28
44
 
29
45
  def file_include_patterns: () -> untyped
@@ -34,6 +50,9 @@ module Herb
34
50
 
35
51
  def engine: () -> untyped
36
52
 
53
+ # : (String, untyped) -> untyped
54
+ def engine_option: (String, untyped) -> untyped
55
+
37
56
  def enabled_validators: (?untyped overrides) -> untyped
38
57
 
39
58
  def formatter: () -> untyped
@@ -82,7 +101,7 @@ module Herb
82
101
 
83
102
  def project_root?: (untyped path) -> untyped
84
103
 
85
- def load_config: () -> untyped
104
+ def load_user_config: () -> untyped
86
105
 
87
106
  def deep_merge: (untyped base, untyped override, ?additive_keys: untyped) -> untyped
88
107
  end
@@ -0,0 +1,59 @@
1
+ # Generated from lib/herb/dev/runner.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module Dev
5
+ class Runner
6
+ include Herb::Colors
7
+
8
+ PATCHABLE_TYPES: Array[String]
9
+
10
+ def self.can_patch?: (untyped operations) -> untyped
11
+
12
+ CLEAR_SCREEN: ::String
13
+
14
+ HIDE_CURSOR: ::String
15
+
16
+ SHOW_CURSOR: ::String
17
+
18
+ def initialize: (?path: untyped, ?cli: untyped) -> untyped
19
+
20
+ def run: () -> untyped
21
+
22
+ def stop: () -> untyped
23
+
24
+ def restart: () -> untyped
25
+
26
+ def status: () -> untyped
27
+
28
+ private
29
+
30
+ def pluralize: (untyped count, untyped word) -> untyped
31
+
32
+ def require_cruise: () -> untyped
33
+
34
+ def check_existing_server: (untyped expanded_path) -> untyped
35
+
36
+ def find_port: () -> untyped
37
+
38
+ def print_header: (untyped config, untyped expanded_path) -> untyped
39
+
40
+ def index_files: (untyped config, untyped path) -> untyped
41
+
42
+ def watch_files: (untyped config, untyped expanded_path, untyped websocket, untyped file_states) -> untyped
43
+
44
+ def handle_file_change: (untyped file_path, untyped relative_path, untyped file_states, untyped errored_files, untyped websocket, untyped timestamp, untyped display_path) -> untyped
45
+
46
+ def broadcast_errors: (untyped file_path, untyped relative_path, untyped current_parse, untyped previous_content, untyped errored_files, untyped websocket, untyped timestamp, untyped display_path) -> untyped
47
+
48
+ def broadcast_fixed: (untyped file_path, untyped relative_path, untyped current_content, untyped file_states, untyped websocket, untyped timestamp, untyped display_path) -> untyped
49
+
50
+ def handle_diff: (untyped file_path, untyped relative_path, untyped current_content, untyped previous_content, untyped file_states, untyped websocket, untyped timestamp, untyped display_path) -> untyped
51
+
52
+ def print_diff_summary: (untyped operations, untyped can_patch, untyped websocket, untyped timestamp, untyped display_path) -> untyped
53
+
54
+ def print_diff_node: (untyped indent, untyped sign, untyped color, untyped node, untyped _type) -> untyped
55
+
56
+ def extract_node_value: (untyped node) -> untyped
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,50 @@
1
+ # Generated from lib/herb/dev/server.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module Dev
5
+ class Server
6
+ DEFAULT_PORT: ::Integer
7
+
8
+ HANDSHAKE_TIMEOUT: ::Integer
9
+
10
+ attr_reader port: untyped
11
+
12
+ attr_reader project_path: untyped
13
+
14
+ class Client < Data
15
+ attr_reader socket(): untyped
16
+
17
+ attr_reader version(): untyped
18
+
19
+ attr_reader mutex(): untyped
20
+
21
+ def self.new: (untyped socket, untyped version, untyped mutex) -> instance
22
+ | (socket: untyped, version: untyped, mutex: untyped) -> instance
23
+
24
+ def self.members: () -> [ :socket, :version, :mutex ]
25
+
26
+ def members: () -> [ :socket, :version, :mutex ]
27
+ end
28
+
29
+ def initialize: (?port: untyped, ?project_path: untyped) -> untyped
30
+
31
+ def start: () -> untyped
32
+
33
+ def stop: () -> untyped
34
+
35
+ def broadcast: (untyped message) -> untyped
36
+
37
+ def client_count: () -> untyped
38
+
39
+ def self.port_available?: (untyped port) -> untyped
40
+
41
+ def self.find_available_port: (?untyped starting_port) -> untyped
42
+
43
+ private
44
+
45
+ def safely_close: (untyped resource) -> untyped
46
+
47
+ def handle_connection: (untyped socket) -> untyped
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,51 @@
1
+ # Generated from lib/herb/dev/server_entry.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module Dev
5
+ class ServerEntry
6
+ SERVERS_DIR: untyped
7
+
8
+ REQUIRED_KEYS: untyped
9
+
10
+ attr_reader pid: untyped
11
+
12
+ attr_reader port: untyped
13
+
14
+ attr_reader project: untyped
15
+
16
+ attr_reader started_at: untyped
17
+
18
+ def initialize: (pid: untyped, port: untyped, project: untyped, ?started_at: untyped) -> untyped
19
+
20
+ def save: () -> untyped
21
+
22
+ def remove: () -> untyped
23
+
24
+ def alive?: () -> untyped
25
+
26
+ def to_hash: () -> untyped
27
+
28
+ def to_json: (*untyped) -> untyped
29
+
30
+ def project_name: () -> untyped
31
+
32
+ def stop!: () -> untyped
33
+
34
+ def self.all: () -> untyped
35
+
36
+ def self.find_by_port: (untyped port) -> untyped
37
+
38
+ def self.find_by_project: (untyped project_path) -> untyped
39
+
40
+ def self.stop_all: () -> untyped
41
+
42
+ def self.process_alive?: (untyped pid) -> untyped
43
+
44
+ private def self.load_file: (untyped path) -> untyped
45
+
46
+ private
47
+
48
+ def file_path: () -> untyped
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,34 @@
1
+ # Generated from lib/herb/diff_operation.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class DiffOperation < Data
5
+ attr_reader type(): Symbol
6
+
7
+ attr_reader path(): Array[Integer]
8
+
9
+ attr_reader old_node(): Herb::AST::Node?
10
+
11
+ attr_reader new_node(): Herb::AST::Node?
12
+
13
+ attr_reader old_index(): Integer
14
+
15
+ attr_reader new_index(): Integer
16
+
17
+ def self.new: (Symbol type, Array[Integer] path, Herb::AST::Node? old_node, Herb::AST::Node? new_node, Integer old_index, Integer new_index) -> instance
18
+ | (type: Symbol, path: Array[Integer], old_node: Herb::AST::Node?, new_node: Herb::AST::Node?, old_index: Integer, new_index: Integer) -> instance
19
+
20
+ def self.members: () -> [ :type, :path, :old_node, :new_node, :old_index, :new_index ]
21
+
22
+ def members: () -> [ :type, :path, :old_node, :new_node, :old_index, :new_index ]
23
+ end
24
+
25
+ class DiffOperation
26
+ # : () -> Hash[Symbol, untyped]
27
+ def to_hash: () -> Hash[Symbol, untyped]
28
+
29
+ alias to_h to_hash
30
+
31
+ # : () -> String
32
+ def inspect: () -> String
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ # Generated from lib/herb/diff_result.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class DiffResult
5
+ include Enumerable[Herb::DiffOperation]
6
+
7
+ attr_reader operations: Array[Herb::DiffOperation]
8
+
9
+ # : (bool, Array[Herb::DiffOperation]) -> void
10
+ def initialize: (bool, Array[Herb::DiffOperation]) -> void
11
+
12
+ # : () { (Herb::DiffOperation) -> void } -> void
13
+ # : () -> Enumerator[Herb::DiffOperation, void]
14
+ def each: () { (Herb::DiffOperation) -> void } -> void
15
+ | () -> Enumerator[Herb::DiffOperation, void]
16
+
17
+ # : () -> bool
18
+ def identical?: () -> bool
19
+
20
+ # : () -> Integer
21
+ def operation_count: () -> Integer
22
+
23
+ # : () -> bool
24
+ def changed?: () -> bool
25
+
26
+ # : () -> Hash[Symbol, untyped]
27
+ def to_hash: () -> Hash[Symbol, untyped]
28
+
29
+ alias to_h to_hash
30
+
31
+ # : () -> String
32
+ def inspect: () -> String
33
+ end
34
+ end
@@ -35,6 +35,12 @@ module Herb
35
35
 
36
36
  def visit_html_attribute_value_node: (untyped node) -> untyped
37
37
 
38
+ def visit_erb_open_tag_node: (untyped node) -> untyped
39
+
40
+ def visit_html_virtual_close_tag_node: (untyped node) -> untyped
41
+
42
+ def visit_ruby_literal_node: (untyped node) -> untyped
43
+
38
44
  def visit_html_close_tag_node: (untyped node) -> untyped
39
45
 
40
46
  def visit_html_omitted_close_tag_node: (untyped node) -> untyped
@@ -0,0 +1,21 @@
1
+ # Generated from lib/herb/engine/validators/render_validator.rb with RBS::Inline
2
+
3
+ module Herb
4
+ class Engine
5
+ module Validators
6
+ class RenderValidator < Validator
7
+ def initialize: (?enabled: untyped, ?filename: untyped, ?project_path: untyped) -> untyped
8
+
9
+ def visit_erb_render_node: (untyped node) -> untyped
10
+
11
+ private
12
+
13
+ def validate_partial_exists: (untyped node) -> untyped
14
+
15
+ def find_view_root: () -> untyped
16
+
17
+ def relative_to_project: (untyped path) -> untyped
18
+ end
19
+ end
20
+ end
21
+ end
data/sig/herb/engine.rbs CHANGED
@@ -22,6 +22,12 @@ module Herb
22
22
 
23
23
  attr_reader enabled_validators: untyped
24
24
 
25
+ def self.optimize_warning_issued: () -> bool
26
+
27
+ def self.optimize_warning_issued=: (bool) -> bool
28
+
29
+ attr_accessor optimize_warning_issued: bool
30
+
25
31
  ESCAPE_TABLE: untyped
26
32
 
27
33
  class CompilationError < StandardError
@@ -46,10 +52,16 @@ module Herb
46
52
 
47
53
  def self.css: (untyped value) -> untyped
48
54
 
55
+ def self.nested_attribute_value: (untyped value) -> untyped
56
+
49
57
  def self.comment?: (untyped code) -> untyped
50
58
 
51
59
  def self.heredoc?: (untyped code) -> untyped
52
60
 
61
+ def source_may_contain_action_view_helpers?: (untyped source) -> untyped
62
+
63
+ def self.action_view_helper_pattern: () -> untyped
64
+
53
65
  def add_text: (untyped text) -> untyped
54
66
 
55
67
  def add_code: (untyped code) -> untyped
@@ -99,6 +111,9 @@ module Herb
99
111
  # : () -> Array[Herb::Visitor]
100
112
  def default_visitors: () -> Array[Herb::Visitor]
101
113
 
114
+ # : () -> Hash[Symbol, untyped]
115
+ def default_parser_options: () -> Hash[Symbol, untyped]
116
+
102
117
  def ensure_valid_ruby!: (untyped source) -> untyped
103
118
  end
104
119
  end
@@ -0,0 +1,13 @@
1
+ # Generated from lib/herb/html/util.rb with RBS::Inline
2
+
3
+ module Herb
4
+ module HTML
5
+ module Util
6
+ # TODO: extract to shared utility for all languages in .yml
7
+ VOID_ELEMENTS: Array[String]
8
+
9
+ # : (String) -> bool
10
+ def self.void_element?: (String) -> bool
11
+ end
12
+ end
13
+ end
data/sig/herb.rbs CHANGED
@@ -1,11 +1,17 @@
1
1
  # Generated from lib/herb.rb with RBS::Inline
2
2
 
3
+ module Herb
4
+ PARTIAL_EXTENSIONS: untyped
5
+
6
+ PARTIAL_GLOB_PATTERN: ::String
7
+ end
8
+
3
9
  module Herb
4
10
  # : (String path, ?arena_stats: bool) -> LexResult
5
11
  def self.lex_file: (String path, ?arena_stats: bool) -> LexResult
6
12
 
7
- # : (String path, ?track_whitespace: bool, ?analyze: bool, ?strict: bool, ?arena_stats: bool) -> ParseResult
8
- def self.parse_file: (String path, ?track_whitespace: bool, ?analyze: bool, ?strict: bool, ?arena_stats: bool) -> ParseResult
13
+ # : (String path, ?track_whitespace: bool, ?analyze: bool, ?strict: bool, ?action_view_helpers: bool, ?transform_conditionals: bool, ?strict_locals: bool, ?prism_nodes: bool, ?prism_nodes_deep: bool, ?prism_program: bool, ?arena_stats: bool) -> ParseResult
14
+ def self.parse_file: (String path, ?track_whitespace: bool, ?analyze: bool, ?strict: bool, ?action_view_helpers: bool, ?transform_conditionals: bool, ?strict_locals: bool, ?prism_nodes: bool, ?prism_nodes_deep: bool, ?prism_program: bool, ?arena_stats: bool) -> ParseResult
9
15
 
10
16
  # : (String source) -> Prism::ParseResult
11
17
  def self.parse_ruby: (String source) -> Prism::ParseResult
@@ -15,4 +21,8 @@ module Herb
15
21
  def self.configure: (?untyped project_path) -> untyped
16
22
 
17
23
  def self.reset_configuration!: () -> untyped
24
+
25
+ def self.dev_server_port: (?untyped project_path) -> untyped
26
+
27
+ def self.ensure_installed: () ?{ (?) -> untyped } -> untyped
18
28
  end
@@ -2,7 +2,7 @@
2
2
  # This file is manually maintained - not generated
3
3
 
4
4
  module Herb
5
- def self.parse: (String input, ?track_whitespace: bool, ?analyze: bool, ?strict: bool, ?arena_stats: bool) -> ParseResult
5
+ def self.parse: (String input, ?track_whitespace: bool, ?analyze: bool, ?strict: bool, ?action_view_helpers: bool, ?transform_conditionals: bool, ?dot_notation_tags: bool, ?render_nodes: bool, ?strict_locals: bool, ?prism_nodes: bool, ?prism_nodes_deep: bool, ?prism_program: bool, ?html: bool, ?arena_stats: bool) -> ParseResult
6
6
  def self.lex: (String input, ?arena_stats: bool) -> LexResult
7
7
  def self.extract_ruby: (String source, ?semicolons: bool, ?comments: bool, ?preserve_positions: bool) -> String
8
8
  def self.extract_html: (String source) -> String
@@ -0,0 +1,6 @@
1
+ module DidYouMean
2
+ class SpellChecker
3
+ def initialize: (dictionary: Array[String]) -> void
4
+ def correct: (String input) -> Array[String]
5
+ end
6
+ end
@@ -0,0 +1,4 @@
1
+ module Parallel
2
+ def self.map: [T, U] (Array[T], ?in_processes: Integer) { (T) -> U } -> Array[U]
3
+ def self.processor_count: () -> Integer
4
+ end
@@ -317,9 +317,10 @@ static AST_HTML_ATTRIBUTE_NODE_T* create_attribute_from_value(
317
317
  // Rails calls .to_json on non-string/symbol values inside data:/aria: hashes
318
318
  if (is_nested) {
319
319
  hb_buffer_T json_buffer;
320
- hb_buffer_init(&json_buffer, value_length + 16, allocator);
320
+ hb_buffer_init(&json_buffer, value_length + 64, allocator);
321
+ hb_buffer_append(&json_buffer, "::Herb::Engine.nested_attribute_value(");
321
322
  hb_buffer_append(&json_buffer, raw_content);
322
- hb_buffer_append(&json_buffer, ".to_json");
323
+ hb_buffer_append(&json_buffer, ")");
323
324
 
324
325
  ruby_content = hb_buffer_value(&json_buffer);
325
326
  }