compony 0.8.1 → 0.10.0

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +1 -1
  5. data/VERSION +1 -1
  6. data/compony.gemspec +4 -4
  7. data/doc/ComponentGenerator.html +1 -1
  8. data/doc/Components.html +1 -1
  9. data/doc/ComponentsGenerator.html +1 -1
  10. data/doc/Compony/Component.html +2 -2
  11. data/doc/Compony/ComponentMixins/Default/Labelling.html +120 -39
  12. data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +1 -1
  13. data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +1 -1
  14. data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +1 -1
  15. data/doc/Compony/ComponentMixins/Default/Standalone.html +1 -1
  16. data/doc/Compony/ComponentMixins/Default.html +1 -1
  17. data/doc/Compony/ComponentMixins/Resourceful.html +1 -1
  18. data/doc/Compony/ComponentMixins.html +1 -1
  19. data/doc/Compony/Components/Buttons/CssButton.html +1 -1
  20. data/doc/Compony/Components/Buttons/Link.html +1 -1
  21. data/doc/Compony/Components/Buttons.html +1 -1
  22. data/doc/Compony/Components/Destroy.html +1 -1
  23. data/doc/Compony/Components/Edit.html +13 -13
  24. data/doc/Compony/Components/Form.html +49 -49
  25. data/doc/Compony/Components/Index.html +1 -1
  26. data/doc/Compony/Components/List.html +346 -473
  27. data/doc/Compony/Components/New.html +13 -13
  28. data/doc/Compony/Components/Show.html +25 -25
  29. data/doc/Compony/Components/WithForm.html +1 -1
  30. data/doc/Compony/Components.html +1 -1
  31. data/doc/Compony/ControllerMixin.html +1 -1
  32. data/doc/Compony/Engine.html +1 -1
  33. data/doc/Compony/ExposedIntentsDsl.html +1 -1
  34. data/doc/Compony/Intent.html +157 -103
  35. data/doc/Compony/MethodAccessibleHash.html +1 -1
  36. data/doc/Compony/ModelFields/Anchormodel.html +1 -1
  37. data/doc/Compony/ModelFields/Association.html +2 -2
  38. data/doc/Compony/ModelFields/Attachment.html +1 -1
  39. data/doc/Compony/ModelFields/Base.html +1 -1
  40. data/doc/Compony/ModelFields/Boolean.html +1 -1
  41. data/doc/Compony/ModelFields/Color.html +1 -1
  42. data/doc/Compony/ModelFields/Currency.html +1 -1
  43. data/doc/Compony/ModelFields/Date.html +1 -1
  44. data/doc/Compony/ModelFields/Datetime.html +1 -1
  45. data/doc/Compony/ModelFields/Decimal.html +1 -1
  46. data/doc/Compony/ModelFields/Email.html +1 -1
  47. data/doc/Compony/ModelFields/Float.html +1 -1
  48. data/doc/Compony/ModelFields/Integer.html +1 -1
  49. data/doc/Compony/ModelFields/Percentage.html +1 -1
  50. data/doc/Compony/ModelFields/Phone.html +1 -1
  51. data/doc/Compony/ModelFields/RichText.html +1 -1
  52. data/doc/Compony/ModelFields/String.html +1 -1
  53. data/doc/Compony/ModelFields/Text.html +1 -1
  54. data/doc/Compony/ModelFields/Time.html +1 -1
  55. data/doc/Compony/ModelFields/Url.html +1 -1
  56. data/doc/Compony/ModelFields.html +1 -1
  57. data/doc/Compony/ModelMixin.html +1 -1
  58. data/doc/Compony/NaturalOrdering.html +1 -1
  59. data/doc/Compony/RequestContext.html +26 -36
  60. data/doc/Compony/Version.html +1 -1
  61. data/doc/Compony/ViewHelpers.html +1 -1
  62. data/doc/Compony/VirtualModel.html +1 -1
  63. data/doc/Compony.html +10 -10
  64. data/doc/ComponyController.html +1 -1
  65. data/doc/_index.html +8 -8
  66. data/doc/class_list.html +1 -1
  67. data/doc/file.README.html +2 -2
  68. data/doc/guide/intents.md +3 -3
  69. data/doc/guide/nesting.md +26 -4
  70. data/doc/index.html +2 -2
  71. data/doc/method_list.html +174 -182
  72. data/doc/top-level-namespace.html +1 -1
  73. data/lib/compony/component.rb +1 -1
  74. data/lib/compony/component_mixins/default/labelling.rb +28 -17
  75. data/lib/compony/components/destroy.rb +3 -3
  76. data/lib/compony/components/edit.rb +3 -2
  77. data/lib/compony/components/form.rb +0 -1
  78. data/lib/compony/components/index.rb +1 -1
  79. data/lib/compony/components/list.rb +57 -62
  80. data/lib/compony/components/new.rb +0 -1
  81. data/lib/compony/components/show.rb +5 -9
  82. data/lib/compony/intent.rb +30 -19
  83. data/lib/compony/{exposed_intents_dsl.rb → manage_intents_dsl.rb} +6 -3
  84. data/lib/compony/model_fields/association.rb +1 -1
  85. data/lib/compony/model_mixin.rb +1 -1
  86. data/lib/compony/request_context.rb +12 -6
  87. data/lib/compony.rb +6 -6
  88. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89e336ad9ada31f4078e0396e2b1c1c6ed0ed0dc30f36bd3171b3dd32d4e3a1c
4
- data.tar.gz: cf65ee944307fd8e6ed32c39fedba5a6fd6f686eb763d8f993f0a956f75a6d41
3
+ metadata.gz: 8ce051410bef85a8fb2dc5d6c0c3f6c9f7bbb38c39bb5c786de26d7e041b045c
4
+ data.tar.gz: b838b1a734920c2f2861cb28483f017cb33b99abb262e78c3a94555859786e5c
5
5
  SHA512:
6
- metadata.gz: d950cf31c19185c72c05eacce0ac102f6e614728c26039941e8e1b4fbd7d5169d66aaa606e81c625ade9bd96c9f13aaf59c1cc7356e261c97a1ce613fd6db952
7
- data.tar.gz: c30a3bc2562d3cb2c5a21a2aecc95ef92d466f2a4db9f3545f560f1d62482087b69a22762b165e936b8046fba513d7a95cc503b373d176d1226532b0ca9f3511
6
+ metadata.gz: 209ee4863de2228d2c602a9d58146fb54f642054f636221f1f1d748dc691d965ce6df9c10fccfa36f17059fe0c0aa3be89756d239b0fb913f0e02cce5e6fb420
7
+ data.tar.gz: 2df6b306b71671a0c6e79d8b321b427c9f654fb038b60e0047e70f38f2e5c3e46e2eb9fe6236da1905485d8d334dd35e183934d14700d938e4e3904e26e4b9a2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ # 0.10.0
2
+
3
+ - Fix a bug in error message for `comp_class_for!`
4
+ - Replace `color` and `icon` by `button`. This new component DSL call provides defaults for `button` options when intents render, similar to `label`.
5
+ - Allow blank intents (intents that have no component), useful for creating custom buttons within exposed intents.
6
+ - Accept argument `turbo_frame` in `render_sub_comp`
7
+ - Fix a problem with translations when fastgettext is not installed
8
+ - Update `Compony::Components::List`:
9
+ - Fix a problem where disabling only filtering caused a crash
10
+ - Distinguish between boolean setters and `skip_` prefixes
11
+ - Replace `row_action` by `row_intent`
12
+ - Rename `ExposedIntentsDsl` to `ManageIntentsDsl`, allow passing options and ignore `add` call if the target component is not defined
13
+
14
+ ## Steps to take
15
+
16
+ - In your components, replace code like `icon :eye` by: `button(:icon){ :eye }` or `button(:icon){|_| :eye }` (the latter in the resourceful case)
17
+ - In your components, replace code like `color :danger` by: `button(:color){ :danger }` or `button(:color){|_| :danger }` (the latter in the resourceful case)
18
+ - Check all your `List` components, as the interface has changed:
19
+ - `skip_` DSL calls have been replaced by boolean writers.
20
+ - `row_action` has been replaced by `row_intents` which renders intents using `add` and `remove`.
21
+
22
+ # 0.9.0
23
+
24
+ - Enhance Intent API:
25
+ - Make `style` a property of the Intent rather than a button option.
26
+ - No longer allow arbitrary options for building intents. Instead, options for buttons must be wrapped in `button: { class: '...' }`.
27
+
28
+ ## Steps to take
29
+
30
+ - Replace code like `button: { style: :link }` by simply `style: :link`
31
+ - Make sure that code like `button: { label: ... }` becomes simply: `label: ...`
32
+ - Make sure that all kwargs in intents meant for buttons are wrapped in `button: { ... }`.
33
+
1
34
  # 0.8.1
2
35
 
3
36
  - Fix a problem in List resulting in `data_class` being read too early
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- compony (0.8.1.edge)
4
+ compony (0.9.1.edge)
5
5
  anchormodel (~> 0.2.1)
6
6
  cancancan (~> 3.6.1)
7
7
  dslblend (>= 0.0.3)
data/README.md CHANGED
@@ -19,7 +19,7 @@ Compony's key aspects:
19
19
  - Compony's feasibility framework allows you to prohibit actions based on conditions, along with an error message. This causes all buttons pointing to that action to be disabled with a meaningful error message.
20
20
  - Compony only structures your code, but provides no style whatsoever. It is like a bookshelf rather than a reader's library. You still implement your own layouts, CSS and Javascript to define the behavior of your front-end.
21
21
  - Compony seamlessly integrates with Rails and does not interfere with existing code. Using Compony, you **can** write your application as components, but it is still possible to have regular routes, controllers and views side-to-side to it. This way, you can migrate your applications to Compony little by little and enter and leave the Compony world as you please. It is also possible to render Compony components from regular views and vice versa.
22
- - Compony is built for Rails 7, 7.1 and 8, and fully supports Stimulus and Turbo Drive. Turbo Frames and Streams are not yet targeted, but can be used alongside, just like with any Rails application.
22
+ - Compony is built for Rails 7, 7.1 and 8, and fully supports Stimulus and Turbo Drive. It is also compatible Turbo Frames and Streams, but there are not many helpers specifically targetting theme at this point..
23
23
  - Compony uses [CanCanCan](https://github.com/CanCanCommunity/cancancan) for authorization but does not provide an authentication mechanism. You can easily build your own by creating login/logout components that manage cookies, and configure Compony to enforce authentication using the `Compony.authentication_before_action` setter. I have also successfully tested Compony to work with [Devise](https://github.com/heartcombo/devise).
24
24
 
25
25
  ## State of the project
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.1
1
+ 0.10.0
data/compony.gemspec CHANGED
@@ -2,17 +2,17 @@
2
2
  # This file is auto-generated via: 'rake gemspec'.
3
3
 
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: compony 0.8.1 ruby lib
5
+ # stub: compony 0.10.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "compony".freeze
9
- s.version = "0.8.1".freeze
9
+ s.version = "0.10.0".freeze
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Sandro Kalbermatter".freeze, "contributors".freeze]
14
- s.date = "2025-11-28"
15
- s.files = [".gitignore".freeze, ".ruby-version".freeze, ".yardopts".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "Gemfile.lock".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "TODO.md".freeze, "VERSION".freeze, "app/controllers/compony_controller.rb".freeze, "compony.gemspec".freeze, "config/locales/de.yml".freeze, "config/locales/en.yml".freeze, "config/locales/fr.yml".freeze, "config/routes.rb".freeze, "doc/ComponentGenerator.html".freeze, "doc/Components.html".freeze, "doc/ComponentsGenerator.html".freeze, "doc/Compony.html".freeze, "doc/Compony/Component.html".freeze, "doc/Compony/ComponentMixins.html".freeze, "doc/Compony/ComponentMixins/Default.html".freeze, "doc/Compony/ComponentMixins/Default/Labelling.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html".freeze, "doc/Compony/ComponentMixins/Resourceful.html".freeze, "doc/Compony/Components.html".freeze, "doc/Compony/Components/Button.html".freeze, "doc/Compony/Components/Buttons.html".freeze, "doc/Compony/Components/Buttons/CssButton.html".freeze, "doc/Compony/Components/Buttons/Link.html".freeze, "doc/Compony/Components/Destroy.html".freeze, "doc/Compony/Components/Edit.html".freeze, "doc/Compony/Components/Form.html".freeze, "doc/Compony/Components/Index.html".freeze, "doc/Compony/Components/List.html".freeze, "doc/Compony/Components/New.html".freeze, "doc/Compony/Components/Show.html".freeze, "doc/Compony/Components/WithForm.html".freeze, "doc/Compony/ControllerMixin.html".freeze, "doc/Compony/Engine.html".freeze, "doc/Compony/ExposedIntentsDsl.html".freeze, "doc/Compony/Intent.html".freeze, "doc/Compony/MethodAccessibleHash.html".freeze, "doc/Compony/ModelFields.html".freeze, "doc/Compony/ModelFields/Anchormodel.html".freeze, "doc/Compony/ModelFields/Association.html".freeze, "doc/Compony/ModelFields/Attachment.html".freeze, "doc/Compony/ModelFields/Base.html".freeze, "doc/Compony/ModelFields/Boolean.html".freeze, "doc/Compony/ModelFields/Color.html".freeze, "doc/Compony/ModelFields/Currency.html".freeze, "doc/Compony/ModelFields/Date.html".freeze, "doc/Compony/ModelFields/Datetime.html".freeze, "doc/Compony/ModelFields/Decimal.html".freeze, "doc/Compony/ModelFields/Email.html".freeze, "doc/Compony/ModelFields/Float.html".freeze, "doc/Compony/ModelFields/Integer.html".freeze, "doc/Compony/ModelFields/Percentage.html".freeze, "doc/Compony/ModelFields/Phone.html".freeze, "doc/Compony/ModelFields/RichText.html".freeze, "doc/Compony/ModelFields/String.html".freeze, "doc/Compony/ModelFields/Text.html".freeze, "doc/Compony/ModelFields/Time.html".freeze, "doc/Compony/ModelFields/Url.html".freeze, "doc/Compony/ModelMixin.html".freeze, "doc/Compony/NaturalOrdering.html".freeze, "doc/Compony/RequestContext.html".freeze, "doc/Compony/Version.html".freeze, "doc/Compony/ViewHelpers.html".freeze, "doc/Compony/VirtualModel.html".freeze, "doc/ComponyController.html".freeze, "doc/_index.html".freeze, "doc/class_list.html".freeze, "doc/css/common.css".freeze, "doc/css/full_list.css".freeze, "doc/css/style.css".freeze, "doc/file.README.html".freeze, "doc/file_list.html".freeze, "doc/frames.html".freeze, "doc/guide/basic_component.md".freeze, "doc/guide/example.md".freeze, "doc/guide/feasibility.md".freeze, "doc/guide/generators.md".freeze, "doc/guide/inheritance.md".freeze, "doc/guide/installation.md".freeze, "doc/guide/intents.md".freeze, "doc/guide/internal_datastructures.md".freeze, "doc/guide/model_fields.md".freeze, "doc/guide/nesting.md".freeze, "doc/guide/ownership.md".freeze, "doc/guide/pre_built_components.md".freeze, "doc/guide/pre_built_components/destroy.md".freeze, "doc/guide/pre_built_components/edit.md".freeze, "doc/guide/pre_built_components/form.md".freeze, "doc/guide/pre_built_components/index.md".freeze, "doc/guide/pre_built_components/list.md".freeze, "doc/guide/pre_built_components/new.md".freeze, "doc/guide/pre_built_components/show.md".freeze, "doc/guide/pre_built_components/with_form.md".freeze, "doc/guide/resourceful.md".freeze, "doc/guide/standalone.md".freeze, "doc/guide/virtual_models.md".freeze, "doc/imgs/intro-example-destroy.png".freeze, "doc/imgs/intro-example-edit.png".freeze, "doc/imgs/intro-example-index.png".freeze, "doc/imgs/intro-example-new.png".freeze, "doc/imgs/intro-example-show.png".freeze, "doc/index.html".freeze, "doc/js/app.js".freeze, "doc/js/full_list.js".freeze, "doc/js/jquery.js".freeze, "doc/method_list.html".freeze, "doc/resourceful_lifecycle.graphml".freeze, "doc/resourceful_lifecycle.pdf".freeze, "doc/resourceful_lifecycle.png".freeze, "doc/top-level-namespace.html".freeze, "lib/compony.rb".freeze, "lib/compony/component.rb".freeze, "lib/compony/component_mixins/default/labelling.rb".freeze, "lib/compony/component_mixins/default/standalone.rb".freeze, "lib/compony/component_mixins/default/standalone/resourceful_verb_dsl.rb".freeze, "lib/compony/component_mixins/default/standalone/standalone_dsl.rb".freeze, "lib/compony/component_mixins/default/standalone/verb_dsl.rb".freeze, "lib/compony/component_mixins/resourceful.rb".freeze, "lib/compony/components/buttons/css_button.rb".freeze, "lib/compony/components/buttons/link.rb".freeze, "lib/compony/components/destroy.rb".freeze, "lib/compony/components/edit.rb".freeze, "lib/compony/components/form.rb".freeze, "lib/compony/components/index.rb".freeze, "lib/compony/components/list.rb".freeze, "lib/compony/components/new.rb".freeze, "lib/compony/components/show.rb".freeze, "lib/compony/components/with_form.rb".freeze, "lib/compony/controller_mixin.rb".freeze, "lib/compony/engine.rb".freeze, "lib/compony/exposed_intents_dsl.rb".freeze, "lib/compony/intent.rb".freeze, "lib/compony/method_accessible_hash.rb".freeze, "lib/compony/model_fields/anchormodel.rb".freeze, "lib/compony/model_fields/association.rb".freeze, "lib/compony/model_fields/attachment.rb".freeze, "lib/compony/model_fields/base.rb".freeze, "lib/compony/model_fields/boolean.rb".freeze, "lib/compony/model_fields/color.rb".freeze, "lib/compony/model_fields/currency.rb".freeze, "lib/compony/model_fields/date.rb".freeze, "lib/compony/model_fields/datetime.rb".freeze, "lib/compony/model_fields/decimal.rb".freeze, "lib/compony/model_fields/email.rb".freeze, "lib/compony/model_fields/float.rb".freeze, "lib/compony/model_fields/integer.rb".freeze, "lib/compony/model_fields/percentage.rb".freeze, "lib/compony/model_fields/phone.rb".freeze, "lib/compony/model_fields/rich_text.rb".freeze, "lib/compony/model_fields/string.rb".freeze, "lib/compony/model_fields/text.rb".freeze, "lib/compony/model_fields/time.rb".freeze, "lib/compony/model_fields/url.rb".freeze, "lib/compony/model_mixin.rb".freeze, "lib/compony/natural_ordering.rb".freeze, "lib/compony/request_context.rb".freeze, "lib/compony/version.rb".freeze, "lib/compony/view_helpers.rb".freeze, "lib/compony/virtual_model.rb".freeze, "lib/generators/component/USAGE".freeze, "lib/generators/component/component_generator.rb".freeze, "lib/generators/component/templates/component.rb.erb".freeze, "lib/generators/component/templates/destroy.rb.erb".freeze, "lib/generators/component/templates/edit.rb.erb".freeze, "lib/generators/component/templates/form.rb.erb".freeze, "lib/generators/component/templates/index.rb.erb".freeze, "lib/generators/component/templates/list.rb.erb".freeze, "lib/generators/component/templates/new.rb.erb".freeze, "lib/generators/component/templates/show.rb.erb".freeze, "lib/generators/component/templates/with_base_component.rb.erb".freeze, "lib/generators/components/USAGE".freeze, "lib/generators/components/components_generator.rb".freeze, "logo.svg".freeze]
14
+ s.date = "2025-12-08"
15
+ s.files = [".gitignore".freeze, ".ruby-version".freeze, ".yardopts".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "Gemfile.lock".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "TODO.md".freeze, "VERSION".freeze, "app/controllers/compony_controller.rb".freeze, "compony.gemspec".freeze, "config/locales/de.yml".freeze, "config/locales/en.yml".freeze, "config/locales/fr.yml".freeze, "config/routes.rb".freeze, "doc/ComponentGenerator.html".freeze, "doc/Components.html".freeze, "doc/ComponentsGenerator.html".freeze, "doc/Compony.html".freeze, "doc/Compony/Component.html".freeze, "doc/Compony/ComponentMixins.html".freeze, "doc/Compony/ComponentMixins/Default.html".freeze, "doc/Compony/ComponentMixins/Default/Labelling.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html".freeze, "doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html".freeze, "doc/Compony/ComponentMixins/Resourceful.html".freeze, "doc/Compony/Components.html".freeze, "doc/Compony/Components/Button.html".freeze, "doc/Compony/Components/Buttons.html".freeze, "doc/Compony/Components/Buttons/CssButton.html".freeze, "doc/Compony/Components/Buttons/Link.html".freeze, "doc/Compony/Components/Destroy.html".freeze, "doc/Compony/Components/Edit.html".freeze, "doc/Compony/Components/Form.html".freeze, "doc/Compony/Components/Index.html".freeze, "doc/Compony/Components/List.html".freeze, "doc/Compony/Components/New.html".freeze, "doc/Compony/Components/Show.html".freeze, "doc/Compony/Components/WithForm.html".freeze, "doc/Compony/ControllerMixin.html".freeze, "doc/Compony/Engine.html".freeze, "doc/Compony/ExposedIntentsDsl.html".freeze, "doc/Compony/Intent.html".freeze, "doc/Compony/MethodAccessibleHash.html".freeze, "doc/Compony/ModelFields.html".freeze, "doc/Compony/ModelFields/Anchormodel.html".freeze, "doc/Compony/ModelFields/Association.html".freeze, "doc/Compony/ModelFields/Attachment.html".freeze, "doc/Compony/ModelFields/Base.html".freeze, "doc/Compony/ModelFields/Boolean.html".freeze, "doc/Compony/ModelFields/Color.html".freeze, "doc/Compony/ModelFields/Currency.html".freeze, "doc/Compony/ModelFields/Date.html".freeze, "doc/Compony/ModelFields/Datetime.html".freeze, "doc/Compony/ModelFields/Decimal.html".freeze, "doc/Compony/ModelFields/Email.html".freeze, "doc/Compony/ModelFields/Float.html".freeze, "doc/Compony/ModelFields/Integer.html".freeze, "doc/Compony/ModelFields/Percentage.html".freeze, "doc/Compony/ModelFields/Phone.html".freeze, "doc/Compony/ModelFields/RichText.html".freeze, "doc/Compony/ModelFields/String.html".freeze, "doc/Compony/ModelFields/Text.html".freeze, "doc/Compony/ModelFields/Time.html".freeze, "doc/Compony/ModelFields/Url.html".freeze, "doc/Compony/ModelMixin.html".freeze, "doc/Compony/NaturalOrdering.html".freeze, "doc/Compony/RequestContext.html".freeze, "doc/Compony/Version.html".freeze, "doc/Compony/ViewHelpers.html".freeze, "doc/Compony/VirtualModel.html".freeze, "doc/ComponyController.html".freeze, "doc/_index.html".freeze, "doc/class_list.html".freeze, "doc/css/common.css".freeze, "doc/css/full_list.css".freeze, "doc/css/style.css".freeze, "doc/file.README.html".freeze, "doc/file_list.html".freeze, "doc/frames.html".freeze, "doc/guide/basic_component.md".freeze, "doc/guide/example.md".freeze, "doc/guide/feasibility.md".freeze, "doc/guide/generators.md".freeze, "doc/guide/inheritance.md".freeze, "doc/guide/installation.md".freeze, "doc/guide/intents.md".freeze, "doc/guide/internal_datastructures.md".freeze, "doc/guide/model_fields.md".freeze, "doc/guide/nesting.md".freeze, "doc/guide/ownership.md".freeze, "doc/guide/pre_built_components.md".freeze, "doc/guide/pre_built_components/destroy.md".freeze, "doc/guide/pre_built_components/edit.md".freeze, "doc/guide/pre_built_components/form.md".freeze, "doc/guide/pre_built_components/index.md".freeze, "doc/guide/pre_built_components/list.md".freeze, "doc/guide/pre_built_components/new.md".freeze, "doc/guide/pre_built_components/show.md".freeze, "doc/guide/pre_built_components/with_form.md".freeze, "doc/guide/resourceful.md".freeze, "doc/guide/standalone.md".freeze, "doc/guide/virtual_models.md".freeze, "doc/imgs/intro-example-destroy.png".freeze, "doc/imgs/intro-example-edit.png".freeze, "doc/imgs/intro-example-index.png".freeze, "doc/imgs/intro-example-new.png".freeze, "doc/imgs/intro-example-show.png".freeze, "doc/index.html".freeze, "doc/js/app.js".freeze, "doc/js/full_list.js".freeze, "doc/js/jquery.js".freeze, "doc/method_list.html".freeze, "doc/resourceful_lifecycle.graphml".freeze, "doc/resourceful_lifecycle.pdf".freeze, "doc/resourceful_lifecycle.png".freeze, "doc/top-level-namespace.html".freeze, "lib/compony.rb".freeze, "lib/compony/component.rb".freeze, "lib/compony/component_mixins/default/labelling.rb".freeze, "lib/compony/component_mixins/default/standalone.rb".freeze, "lib/compony/component_mixins/default/standalone/resourceful_verb_dsl.rb".freeze, "lib/compony/component_mixins/default/standalone/standalone_dsl.rb".freeze, "lib/compony/component_mixins/default/standalone/verb_dsl.rb".freeze, "lib/compony/component_mixins/resourceful.rb".freeze, "lib/compony/components/buttons/css_button.rb".freeze, "lib/compony/components/buttons/link.rb".freeze, "lib/compony/components/destroy.rb".freeze, "lib/compony/components/edit.rb".freeze, "lib/compony/components/form.rb".freeze, "lib/compony/components/index.rb".freeze, "lib/compony/components/list.rb".freeze, "lib/compony/components/new.rb".freeze, "lib/compony/components/show.rb".freeze, "lib/compony/components/with_form.rb".freeze, "lib/compony/controller_mixin.rb".freeze, "lib/compony/engine.rb".freeze, "lib/compony/intent.rb".freeze, "lib/compony/manage_intents_dsl.rb".freeze, "lib/compony/method_accessible_hash.rb".freeze, "lib/compony/model_fields/anchormodel.rb".freeze, "lib/compony/model_fields/association.rb".freeze, "lib/compony/model_fields/attachment.rb".freeze, "lib/compony/model_fields/base.rb".freeze, "lib/compony/model_fields/boolean.rb".freeze, "lib/compony/model_fields/color.rb".freeze, "lib/compony/model_fields/currency.rb".freeze, "lib/compony/model_fields/date.rb".freeze, "lib/compony/model_fields/datetime.rb".freeze, "lib/compony/model_fields/decimal.rb".freeze, "lib/compony/model_fields/email.rb".freeze, "lib/compony/model_fields/float.rb".freeze, "lib/compony/model_fields/integer.rb".freeze, "lib/compony/model_fields/percentage.rb".freeze, "lib/compony/model_fields/phone.rb".freeze, "lib/compony/model_fields/rich_text.rb".freeze, "lib/compony/model_fields/string.rb".freeze, "lib/compony/model_fields/text.rb".freeze, "lib/compony/model_fields/time.rb".freeze, "lib/compony/model_fields/url.rb".freeze, "lib/compony/model_mixin.rb".freeze, "lib/compony/natural_ordering.rb".freeze, "lib/compony/request_context.rb".freeze, "lib/compony/version.rb".freeze, "lib/compony/view_helpers.rb".freeze, "lib/compony/virtual_model.rb".freeze, "lib/generators/component/USAGE".freeze, "lib/generators/component/component_generator.rb".freeze, "lib/generators/component/templates/component.rb.erb".freeze, "lib/generators/component/templates/destroy.rb.erb".freeze, "lib/generators/component/templates/edit.rb.erb".freeze, "lib/generators/component/templates/form.rb.erb".freeze, "lib/generators/component/templates/index.rb.erb".freeze, "lib/generators/component/templates/list.rb.erb".freeze, "lib/generators/component/templates/new.rb.erb".freeze, "lib/generators/component/templates/show.rb.erb".freeze, "lib/generators/component/templates/with_base_component.rb.erb".freeze, "lib/generators/components/USAGE".freeze, "lib/generators/components/components_generator.rb".freeze, "logo.svg".freeze]
16
16
  s.required_ruby_version = Gem::Requirement.new(">= 3.3.5".freeze)
17
17
  s.rubygems_version = "3.5.16".freeze
18
18
  s.summary = "Compony is a Gem that allows you to write your Rails application in component-style fashion. It combines a controller action and route along \\ with its view into a single Ruby class. This allows writing much DRYer code, using inheritance even in views and much easier refactoring for your Rails \\ applications, helping you to keep the code clean as the application evolves.".freeze
@@ -249,7 +249,7 @@
249
249
  </div>
250
250
 
251
251
  <div id="footer">
252
- Generated on Fri Nov 28 10:31:00 2025 by
252
+ Generated on Mon Dec 8 15:19:21 2025 by
253
253
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
254
254
  0.9.34 (ruby-3.3.5).
255
255
  </div>
data/doc/Components.html CHANGED
@@ -95,7 +95,7 @@
95
95
  </div>
96
96
 
97
97
  <div id="footer">
98
- Generated on Fri Nov 28 10:30:59 2025 by
98
+ Generated on Mon Dec 8 15:19:20 2025 by
99
99
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
100
100
  0.9.34 (ruby-3.3.5).
101
101
  </div>
@@ -193,7 +193,7 @@
193
193
  </div>
194
194
 
195
195
  <div id="footer">
196
- Generated on Fri Nov 28 10:31:00 2025 by
196
+ Generated on Mon Dec 8 15:19:21 2025 by
197
197
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
198
198
  0.9.34 (ruby-3.3.5).
199
199
  </div>
@@ -1343,7 +1343,7 @@
1343
1343
  <span class='comment'># Build the declared intents
1344
1344
  </span> <span class='kw'>return</span> <span class='ivar'>@exposed_intents</span> <span class='kw'>if</span> <span class='ivar'>@exposed_intents</span>
1345
1345
  <span class='ivar'>@exposed_intents</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1346
- <span class='ivar'>@exposed_intent_blocks</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_block'>block</span><span class='op'>|</span> <span class='const'><span class='object_link'><a href="ExposedIntentsDsl.html" title="Compony::ExposedIntentsDsl (class)">ExposedIntentsDsl</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="ExposedIntentsDsl.html#initialize-instance_method" title="Compony::ExposedIntentsDsl#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='ivar'>@exposed_intents</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_evaluate'>evaluate</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='comment'># alters @exposed_intents
1346
+ <span class='ivar'>@exposed_intent_blocks</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_block'>block</span><span class='op'>|</span> <span class='const'><span class='object_link'><a href="ManageIntentsDsl.html" title="Compony::ManageIntentsDsl (class)">ManageIntentsDsl</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="ManageIntentsDsl.html#initialize-instance_method" title="Compony::ManageIntentsDsl#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='ivar'>@exposed_intents</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_evaluate'>evaluate</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='comment'># alters @exposed_intents
1347
1347
  </span> <span class='kw'>return</span> <span class='ivar'>@exposed_intents</span><span class='period'>.</span><span class='id identifier rubyid_map!'>map!</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:payload</span><span class='rparen'>)</span>
1348
1348
  <span class='kw'>end</span>
1349
1349
  <span class='kw'>end</span></pre>
@@ -2070,7 +2070,7 @@
2070
2070
  </div>
2071
2071
 
2072
2072
  <div id="footer">
2073
- Generated on Fri Nov 28 10:30:59 2025 by
2073
+ Generated on Mon Dec 8 15:19:20 2025 by
2074
2074
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2075
2075
  0.9.34 (ruby-3.3.5).
2076
2076
  </div>
@@ -117,7 +117,7 @@
117
117
  <li class="public ">
118
118
  <span class="summary_signature">
119
119
 
120
- <a href="#color-instance_method" title="#color (instance method)">#<strong>color</strong>(&amp;block) &#x21d2; Object </a>
120
+ <a href="#button-instance_method" title="#button (instance method)">#<strong>button</strong>(keyword, &amp;block) &#x21d2; Object </a>
121
121
 
122
122
 
123
123
 
@@ -132,7 +132,7 @@
132
132
 
133
133
 
134
134
  <span class="summary_desc"><div class='inline'>
135
- <p>DSL method and accessor While this is not used in Compony directly, this is useful if you use a custom button component class that supports colors.</p>
135
+ <p>DSL method Defines defaults for intents when rendering buttons.</p>
136
136
  </div></span>
137
137
 
138
138
  </li>
@@ -141,7 +141,7 @@
141
141
  <li class="public ">
142
142
  <span class="summary_signature">
143
143
 
144
- <a href="#icon-instance_method" title="#icon (instance method)">#<strong>icon</strong>(&amp;block) &#x21d2; Object </a>
144
+ <a href="#button_defaults-instance_method" title="#button_defaults (instance method)">#<strong>button_defaults</strong>(resource = nil) &#x21d2; Object </a>
145
145
 
146
146
 
147
147
 
@@ -156,7 +156,7 @@
156
156
 
157
157
 
158
158
  <span class="summary_desc"><div class='inline'>
159
- <p>DSL method and accessor for an icon.</p>
159
+ <p>Executes and retrieves the button blocks If this component is resourceful, give the block the resource.</p>
160
160
  </div></span>
161
161
 
162
162
  </li>
@@ -197,9 +197,9 @@
197
197
 
198
198
 
199
199
  <div class="method_details first">
200
- <h3 class="signature first" id="color-instance_method">
200
+ <h3 class="signature first" id="button-instance_method">
201
201
 
202
- #<strong>color</strong>(&amp;block) &#x21d2; <tt>Object</tt>
202
+ #<strong>button</strong>(keyword, &amp;block) &#x21d2; <tt>Object</tt>
203
203
 
204
204
 
205
205
 
@@ -208,13 +208,56 @@
208
208
  </h3><div class="docstring">
209
209
  <div class="discussion">
210
210
 
211
- <p>DSL method and accessor While this is not used in Compony directly, this is useful if you use a custom button component class that supports colors.</p>
211
+ <p>DSL method Defines defaults for intents when rendering buttons. Just like in <span class='object_link'><a href="#label-instance_method" title="Compony::ComponentMixins::Default::Labelling#label (method)">#label</a></span>, the block may be given a resource.</p>
212
212
 
213
213
 
214
214
  </div>
215
215
  </div>
216
216
  <div class="tags">
217
+ <p class="tag_title">Parameters:</p>
218
+ <ul class="param">
217
219
 
220
+ <li>
221
+
222
+ <span class='name'>keyword</span>
223
+
224
+
225
+ <span class='type'>(<tt>Symbol</tt>)</span>
226
+
227
+
228
+
229
+ &mdash;
230
+ <div class='inline'>
231
+ <p>The name of the keyword that should be given to the button by the intent if not overwritten</p>
232
+ </div>
233
+
234
+ </li>
235
+
236
+ <li>
237
+
238
+ <span class='name'>block</span>
239
+
240
+
241
+ <span class='type'>(<tt>Proc</tt>)</span>
242
+
243
+
244
+
245
+ &mdash;
246
+ <div class='inline'>
247
+ <p>The block that, when called in the context of the component while rendering, returns the value for the arg given to the button.</p>
248
+ </div>
249
+
250
+ </li>
251
+
252
+ </ul>
253
+
254
+
255
+ <p class="tag_title">See Also:</p>
256
+ <ul class="see">
257
+
258
+ <li>Compony::ComponentMixins::Default::Labelling.{Compony{Compony::Component{Compony::Component#button_defaults}</li>
259
+
260
+ </ul>
218
261
 
219
262
  </div><table class="source_code">
220
263
  <tr>
@@ -222,23 +265,19 @@
222
265
  <pre class="lines">
223
266
 
224
267
 
225
- 68
226
- 69
227
- 70
228
- 71
229
- 72
230
- 73
231
- 74</pre>
268
+ 61
269
+ 62
270
+ 63
271
+ 64
272
+ 65</pre>
232
273
  </td>
233
274
  <td>
234
- <pre class="code"><span class="info file"># File 'lib/compony/component_mixins/default/labelling.rb', line 68</span>
275
+ <pre class="code"><span class="info file"># File 'lib/compony/component_mixins/default/labelling.rb', line 61</span>
235
276
 
236
- <span class='kw'>def</span> <span class='id identifier rubyid_color'>color</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
237
- <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
238
- <span class='ivar'>@color_block</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
239
- <span class='kw'>else</span>
240
- <span class='ivar'>@color_block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
241
- <span class='kw'>end</span>
277
+ <span class='kw'>def</span> <span class='id identifier rubyid_button'>button</span><span class='lparen'>(</span><span class='id identifier rubyid_keyword'>keyword</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
278
+ <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Please pass a block to `button` in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
279
+ <span class='ivar'>@button_blocks</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
280
+ <span class='ivar'>@button_blocks</span><span class='lbracket'>[</span><span class='id identifier rubyid_keyword'>keyword</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
242
281
  <span class='kw'>end</span></pre>
243
282
  </td>
244
283
  </tr>
@@ -246,9 +285,9 @@
246
285
  </div>
247
286
 
248
287
  <div class="method_details ">
249
- <h3 class="signature " id="icon-instance_method">
288
+ <h3 class="signature " id="button_defaults-instance_method">
250
289
 
251
- #<strong>icon</strong>(&amp;block) &#x21d2; <tt>Object</tt>
290
+ #<strong>button_defaults</strong>(resource = nil) &#x21d2; <tt>Object</tt>
252
291
 
253
292
 
254
293
 
@@ -257,13 +296,35 @@
257
296
  </h3><div class="docstring">
258
297
  <div class="discussion">
259
298
 
260
- <p>DSL method and accessor for an icon. While this is not used in Compony directly, this is useful if your front-end uses an icon library such as fontawesome.</p>
299
+ <p>Executes and retrieves the button blocks If this component is resourceful, give the block the resource. Expect the arity to match.</p>
261
300
 
262
301
 
263
302
  </div>
264
303
  </div>
265
304
  <div class="tags">
305
+ <p class="tag_title">Parameters:</p>
306
+ <ul class="param">
307
+
308
+ <li>
309
+
310
+ <span class='name'>resource</span>
311
+
312
+
313
+ <span class='type'></span>
314
+
315
+
316
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
317
+
318
+
319
+ &mdash;
320
+ <div class='inline'>
321
+ <p>Pass the resource if and only if the component is resourceful.</p>
322
+ </div>
323
+
324
+ </li>
266
325
 
326
+ </ul>
327
+
267
328
 
268
329
  </div><table class="source_code">
269
330
  <tr>
@@ -271,22 +332,42 @@
271
332
  <pre class="lines">
272
333
 
273
334
 
274
- 58
275
- 59
276
- 60
277
- 61
278
- 62
279
- 63
280
- 64</pre>
335
+ 70
336
+ 71
337
+ 72
338
+ 73
339
+ 74
340
+ 75
341
+ 76
342
+ 77
343
+ 78
344
+ 79
345
+ 80
346
+ 81
347
+ 82
348
+ 83
349
+ 84
350
+ 85
351
+ 86</pre>
281
352
  </td>
282
353
  <td>
283
- <pre class="code"><span class="info file"># File 'lib/compony/component_mixins/default/labelling.rb', line 58</span>
284
-
285
- <span class='kw'>def</span> <span class='id identifier rubyid_icon'>icon</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
286
- <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
287
- <span class='ivar'>@icon_block</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
288
- <span class='kw'>else</span>
289
- <span class='ivar'>@icon_block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
354
+ <pre class="code"><span class="info file"># File 'lib/compony/component_mixins/default/labelling.rb', line 70</span>
355
+
356
+ <span class='kw'>def</span> <span class='id identifier rubyid_button_defaults'>button_defaults</span><span class='lparen'>(</span><span class='id identifier rubyid_resource'>resource</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
357
+ <span class='kw'>return</span> <span class='ivar'>@button_blocks</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_keyword'>keyword</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='op'>|</span>
358
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_arity'>arity</span>
359
+ <span class='kw'>when</span> <span class='int'>0</span>
360
+ <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
361
+ <span class='kw'>when</span> <span class='int'>1</span>
362
+ <span class='id identifier rubyid_resource'>resource</span> <span class='op'>||=</span> <span class='id identifier rubyid_data'>data</span>
363
+ <span class='kw'>if</span> <span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span>
364
+ <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Button block </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_keyword'>keyword</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> takes a resource, but none was provided and a call to `data` did not return any.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
365
+ <span class='kw'>end</span>
366
+ <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_resource'>resource</span><span class='rparen'>)</span>
367
+ <span class='kw'>else</span>
368
+ <span class='id identifier rubyid_fail'>fail</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> has a button block </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_keyword'>keyword</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> that takes 2 or more arguments, which is unsupported.</span><span class='tstring_end'>&quot;</span></span>
369
+ <span class='kw'>end</span>
370
+ <span class='kw'>next</span> <span class='lbracket'>[</span><span class='id identifier rubyid_keyword'>keyword</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rbracket'>]</span>
290
371
  <span class='kw'>end</span>
291
372
  <span class='kw'>end</span></pre>
292
373
  </td>
@@ -396,7 +477,7 @@
396
477
  </div>
397
478
 
398
479
  <div id="footer">
399
- Generated on Fri Nov 28 10:30:59 2025 by
480
+ Generated on Mon Dec 8 15:19:20 2025 by
400
481
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
401
482
  0.9.34 (ruby-3.3.5).
402
483
  </div>
@@ -529,7 +529,7 @@
529
529
  </div>
530
530
 
531
531
  <div id="footer">
532
- Generated on Fri Nov 28 10:31:00 2025 by
532
+ Generated on Mon Dec 8 15:19:21 2025 by
533
533
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
534
534
  0.9.34 (ruby-3.3.5).
535
535
  </div>
@@ -659,7 +659,7 @@
659
659
  </div>
660
660
 
661
661
  <div id="footer">
662
- Generated on Fri Nov 28 10:31:00 2025 by
662
+ Generated on Mon Dec 8 15:19:21 2025 by
663
663
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
664
664
  0.9.34 (ruby-3.3.5).
665
665
  </div>
@@ -567,7 +567,7 @@
567
567
  </div>
568
568
 
569
569
  <div id="footer">
570
- Generated on Fri Nov 28 10:31:00 2025 by
570
+ Generated on Mon Dec 8 15:19:21 2025 by
571
571
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
572
572
  0.9.34 (ruby-3.3.5).
573
573
  </div>
@@ -868,7 +868,7 @@
868
868
  </div>
869
869
 
870
870
  <div id="footer">
871
- Generated on Fri Nov 28 10:30:59 2025 by
871
+ Generated on Mon Dec 8 15:19:20 2025 by
872
872
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
873
873
  0.9.34 (ruby-3.3.5).
874
874
  </div>
@@ -116,7 +116,7 @@
116
116
  </div>
117
117
 
118
118
  <div id="footer">
119
- Generated on Fri Nov 28 10:30:59 2025 by
119
+ Generated on Mon Dec 8 15:19:20 2025 by
120
120
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
121
121
  0.9.34 (ruby-3.3.5).
122
122
  </div>
@@ -1183,7 +1183,7 @@
1183
1183
  </div>
1184
1184
 
1185
1185
  <div id="footer">
1186
- Generated on Fri Nov 28 10:30:59 2025 by
1186
+ Generated on Mon Dec 8 15:19:20 2025 by
1187
1187
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1188
1188
  0.9.34 (ruby-3.3.5).
1189
1189
  </div>
@@ -116,7 +116,7 @@
116
116
  </div>
117
117
 
118
118
  <div id="footer">
119
- Generated on Fri Nov 28 10:30:59 2025 by
119
+ Generated on Mon Dec 8 15:19:20 2025 by
120
120
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
121
121
  0.9.34 (ruby-3.3.5).
122
122
  </div>
@@ -272,7 +272,7 @@
272
272
  </div>
273
273
 
274
274
  <div id="footer">
275
- Generated on Fri Nov 28 10:31:00 2025 by
275
+ Generated on Mon Dec 8 15:19:21 2025 by
276
276
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
277
277
  0.9.34 (ruby-3.3.5).
278
278
  </div>
@@ -242,7 +242,7 @@
242
242
  </div>
243
243
 
244
244
  <div id="footer">
245
- Generated on Fri Nov 28 10:31:00 2025 by
245
+ Generated on Mon Dec 8 15:19:21 2025 by
246
246
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
247
247
  0.9.34 (ruby-3.3.5).
248
248
  </div>
@@ -116,7 +116,7 @@
116
116
  </div>
117
117
 
118
118
  <div id="footer">
119
- Generated on Fri Nov 28 10:30:59 2025 by
119
+ Generated on Mon Dec 8 15:19:20 2025 by
120
120
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
121
121
  0.9.34 (ruby-3.3.5).
122
122
  </div>
@@ -374,7 +374,7 @@
374
374
  </div>
375
375
 
376
376
  <div id="footer">
377
- Generated on Fri Nov 28 10:31:00 2025 by
377
+ Generated on Mon Dec 8 15:19:21 2025 by
378
378
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
379
379
  0.9.34 (ruby-3.3.5).
380
380
  </div>