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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -0
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/VERSION +1 -1
- data/compony.gemspec +4 -4
- data/doc/ComponentGenerator.html +1 -1
- data/doc/Components.html +1 -1
- data/doc/ComponentsGenerator.html +1 -1
- data/doc/Compony/Component.html +2 -2
- data/doc/Compony/ComponentMixins/Default/Labelling.html +120 -39
- data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone.html +1 -1
- data/doc/Compony/ComponentMixins/Default.html +1 -1
- data/doc/Compony/ComponentMixins/Resourceful.html +1 -1
- data/doc/Compony/ComponentMixins.html +1 -1
- data/doc/Compony/Components/Buttons/CssButton.html +1 -1
- data/doc/Compony/Components/Buttons/Link.html +1 -1
- data/doc/Compony/Components/Buttons.html +1 -1
- data/doc/Compony/Components/Destroy.html +1 -1
- data/doc/Compony/Components/Edit.html +13 -13
- data/doc/Compony/Components/Form.html +49 -49
- data/doc/Compony/Components/Index.html +1 -1
- data/doc/Compony/Components/List.html +346 -473
- data/doc/Compony/Components/New.html +13 -13
- data/doc/Compony/Components/Show.html +25 -25
- data/doc/Compony/Components/WithForm.html +1 -1
- data/doc/Compony/Components.html +1 -1
- data/doc/Compony/ControllerMixin.html +1 -1
- data/doc/Compony/Engine.html +1 -1
- data/doc/Compony/ExposedIntentsDsl.html +1 -1
- data/doc/Compony/Intent.html +157 -103
- data/doc/Compony/MethodAccessibleHash.html +1 -1
- data/doc/Compony/ModelFields/Anchormodel.html +1 -1
- data/doc/Compony/ModelFields/Association.html +2 -2
- data/doc/Compony/ModelFields/Attachment.html +1 -1
- data/doc/Compony/ModelFields/Base.html +1 -1
- data/doc/Compony/ModelFields/Boolean.html +1 -1
- data/doc/Compony/ModelFields/Color.html +1 -1
- data/doc/Compony/ModelFields/Currency.html +1 -1
- data/doc/Compony/ModelFields/Date.html +1 -1
- data/doc/Compony/ModelFields/Datetime.html +1 -1
- data/doc/Compony/ModelFields/Decimal.html +1 -1
- data/doc/Compony/ModelFields/Email.html +1 -1
- data/doc/Compony/ModelFields/Float.html +1 -1
- data/doc/Compony/ModelFields/Integer.html +1 -1
- data/doc/Compony/ModelFields/Percentage.html +1 -1
- data/doc/Compony/ModelFields/Phone.html +1 -1
- data/doc/Compony/ModelFields/RichText.html +1 -1
- data/doc/Compony/ModelFields/String.html +1 -1
- data/doc/Compony/ModelFields/Text.html +1 -1
- data/doc/Compony/ModelFields/Time.html +1 -1
- data/doc/Compony/ModelFields/Url.html +1 -1
- data/doc/Compony/ModelFields.html +1 -1
- data/doc/Compony/ModelMixin.html +1 -1
- data/doc/Compony/NaturalOrdering.html +1 -1
- data/doc/Compony/RequestContext.html +26 -36
- data/doc/Compony/Version.html +1 -1
- data/doc/Compony/ViewHelpers.html +1 -1
- data/doc/Compony/VirtualModel.html +1 -1
- data/doc/Compony.html +10 -10
- data/doc/ComponyController.html +1 -1
- data/doc/_index.html +8 -8
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +2 -2
- data/doc/guide/intents.md +3 -3
- data/doc/guide/nesting.md +26 -4
- data/doc/index.html +2 -2
- data/doc/method_list.html +174 -182
- data/doc/top-level-namespace.html +1 -1
- data/lib/compony/component.rb +1 -1
- data/lib/compony/component_mixins/default/labelling.rb +28 -17
- data/lib/compony/components/destroy.rb +3 -3
- data/lib/compony/components/edit.rb +3 -2
- data/lib/compony/components/form.rb +0 -1
- data/lib/compony/components/index.rb +1 -1
- data/lib/compony/components/list.rb +57 -62
- data/lib/compony/components/new.rb +0 -1
- data/lib/compony/components/show.rb +5 -9
- data/lib/compony/intent.rb +30 -19
- data/lib/compony/{exposed_intents_dsl.rb → manage_intents_dsl.rb} +6 -3
- data/lib/compony/model_fields/association.rb +1 -1
- data/lib/compony/model_mixin.rb +1 -1
- data/lib/compony/request_context.rb +12 -6
- data/lib/compony.rb +6 -6
- metadata +3 -3
data/doc/class_list.html
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
<ul id="full_list" class="class">
|
|
45
45
|
<li id="object_" class="odd"><div class="item" style="padding-left:30px"><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></div></li>
|
|
46
|
-
<li id='object_ComponentGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentGenerator.html" title="ComponentGenerator (class)">ComponentGenerator</a></span> < NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Components' class='odd'><div class='item' style='padding-left:30px'><span class='object_link'><a href="Components.html" title="Components (module)">Components</a></span><small class='search_info'>Top Level Namespace</small></div></li><li id='object_ComponentsGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentsGenerator.html" title="ComponentsGenerator (class)">ComponentsGenerator</a></span> < NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Compony' class='odd'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Compony.html" title="Compony (module)">Compony</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Compony::Component' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Component.html" title="Compony::Component (class)">Component</a></span> < Object<small class='search_info'>Compony</small></div></li><li id='object_Compony::ComponentMixins' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins.html" title="Compony::ComponentMixins (module)">ComponentMixins</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::ComponentMixins::Default' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default.html" title="Compony::ComponentMixins::Default (module)">Default</a></span><small class='search_info'>Compony::ComponentMixins</small></div><ul><li id='object_Compony::ComponentMixins::Default::Labelling' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Labelling.html" title="Compony::ComponentMixins::Default::Labelling (module)">Labelling</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone' class='collapsed'><div class='item' style='padding-left:75px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone.html" title="Compony::ComponentMixins::Default::Standalone (module)">Standalone</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div><ul><li id='object_Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl (class)">ResourcefulVerbDsl</a></span> < VerbDsl<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::StandaloneDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html" title="Compony::ComponentMixins::Default::Standalone::StandaloneDsl (class)">StandaloneDsl</a></span> < Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::VerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/VerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::VerbDsl (class)">VerbDsl</a></span> < Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li></ul></li></ul></li><li id='object_Compony::ComponentMixins::Resourceful' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Resourceful</a></span><small class='search_info'>Compony::ComponentMixins</small></div></li></ul></li><li id='object_Compony::Components' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/Components.html" title="Compony::Components (module)">Components</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::Components::Buttons' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Compony/Components/Buttons.html" title="Compony::Components::Buttons (module)">Buttons</a></span><small class='search_info'>Compony::Components</small></div><ul><li id='object_Compony::Components::Buttons::CssButton' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/Components/Buttons/CssButton.html" title="Compony::Components::Buttons::CssButton (class)">CssButton</a></span> < Link<small class='search_info'>Compony::Components::Buttons</small></div></li><li id='object_Compony::Components::Buttons::Link' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/Components/Buttons/Link.html" title="Compony::Components::Buttons::Link (class)">Link</a></span> < Component<small class='search_info'>Compony::Components::Buttons</small></div></li></ul></li><li id='object_Compony::Components::Destroy' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Destroy.html" title="Compony::Components::Destroy (class)">Destroy</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Edit' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Edit.html" title="Compony::Components::Edit (class)">Edit</a></span> < WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Form' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Form.html" title="Compony::Components::Form (class)">Form</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Index' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Index.html" title="Compony::Components::Index (class)">Index</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::List' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/List.html" title="Compony::Components::List (class)">List</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::New' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/New.html" title="Compony::Components::New (class)">New</a></span> < WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Show' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Show.html" title="Compony::Components::Show (class)">Show</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::WithForm' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/WithForm.html" title="Compony::Components::WithForm (class)">WithForm</a></span> < Component<small class='search_info'>Compony::Components</small></div></li></ul></li><li id='object_Compony::ControllerMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ControllerMixin.html" title="Compony::ControllerMixin (module)">ControllerMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::Engine' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Engine.html" title="Compony::Engine (class)">Engine</a></span> < Engine<small class='search_info'>Compony</small></div></li><li id='object_Compony::ExposedIntentsDsl' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ExposedIntentsDsl.html" title="Compony::ExposedIntentsDsl (class)">ExposedIntentsDsl</a></span> < Base<small class='search_info'>Compony</small></div></li><li id='object_Compony::Intent' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Intent.html" title="Compony::Intent (class)">Intent</a></span> < Object<small class='search_info'>Compony</small></div></li><li id='object_Compony::MethodAccessibleHash' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/MethodAccessibleHash.html" title="Compony::MethodAccessibleHash (class)">MethodAccessibleHash</a></span> < Hash<small class='search_info'>Compony</small></div></li><li id='object_Compony::ModelFields' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ModelFields.html" title="Compony::ModelFields (module)">ModelFields</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::ModelFields::Anchormodel' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Anchormodel.html" title="Compony::ModelFields::Anchormodel (class)">Anchormodel</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Association' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Association.html" title="Compony::ModelFields::Association (class)">Association</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Attachment' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Attachment.html" title="Compony::ModelFields::Attachment (class)">Attachment</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Base' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Base.html" title="Compony::ModelFields::Base (class)">Base</a></span> < Object<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Boolean' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Boolean.html" title="Compony::ModelFields::Boolean (class)">Boolean</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Color' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Color.html" title="Compony::ModelFields::Color (class)">Color</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Currency' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Currency.html" title="Compony::ModelFields::Currency (class)">Currency</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Date' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Date.html" title="Compony::ModelFields::Date (class)">Date</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Datetime' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Datetime.html" title="Compony::ModelFields::Datetime (class)">Datetime</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Decimal' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Decimal.html" title="Compony::ModelFields::Decimal (class)">Decimal</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Email' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Email.html" title="Compony::ModelFields::Email (class)">Email</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Float' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Float.html" title="Compony::ModelFields::Float (class)">Float</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Integer' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Integer.html" title="Compony::ModelFields::Integer (class)">Integer</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Percentage' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Percentage.html" title="Compony::ModelFields::Percentage (class)">Percentage</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Phone' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Phone.html" title="Compony::ModelFields::Phone (class)">Phone</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::RichText' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/RichText.html" title="Compony::ModelFields::RichText (class)">RichText</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::String' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/String.html" title="Compony::ModelFields::String (class)">String</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Text' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Text.html" title="Compony::ModelFields::Text (class)">Text</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Time' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Time.html" title="Compony::ModelFields::Time (class)">Time</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Url' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Url.html" title="Compony::ModelFields::Url (class)">Url</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li></ul></li><li id='object_Compony::ModelMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ModelMixin.html" title="Compony::ModelMixin (module)">ModelMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::NaturalOrdering' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span> < Array<small class='search_info'>Compony</small></div></li><li id='object_Compony::RequestContext' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/RequestContext.html" title="Compony::RequestContext (class)">RequestContext</a></span> < Base<small class='search_info'>Compony</small></div></li><li id='object_Compony::Version' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Version.html" title="Compony::Version (module)">Version</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::ViewHelpers' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ViewHelpers.html" title="Compony::ViewHelpers (module)">ViewHelpers</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::VirtualModel' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/VirtualModel.html" title="Compony::VirtualModel (class)">VirtualModel</a></span> < Object<small class='search_info'>Compony</small></div></li></ul></li><li id='object_ComponyController' class='odd'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponyController.html" title="ComponyController (class)">ComponyController</a></span> < ApplicationController<small class='search_info'>Top Level Namespace</small></div></li>
|
|
46
|
+
<li id='object_ComponentGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentGenerator.html" title="ComponentGenerator (class)">ComponentGenerator</a></span> < NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Components' class='odd'><div class='item' style='padding-left:30px'><span class='object_link'><a href="Components.html" title="Components (module)">Components</a></span><small class='search_info'>Top Level Namespace</small></div></li><li id='object_ComponentsGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentsGenerator.html" title="ComponentsGenerator (class)">ComponentsGenerator</a></span> < NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Compony' class='odd'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Compony.html" title="Compony (module)">Compony</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Compony::Component' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Component.html" title="Compony::Component (class)">Component</a></span> < Object<small class='search_info'>Compony</small></div></li><li id='object_Compony::ComponentMixins' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins.html" title="Compony::ComponentMixins (module)">ComponentMixins</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::ComponentMixins::Default' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default.html" title="Compony::ComponentMixins::Default (module)">Default</a></span><small class='search_info'>Compony::ComponentMixins</small></div><ul><li id='object_Compony::ComponentMixins::Default::Labelling' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Labelling.html" title="Compony::ComponentMixins::Default::Labelling (module)">Labelling</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone' class='collapsed'><div class='item' style='padding-left:75px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone.html" title="Compony::ComponentMixins::Default::Standalone (module)">Standalone</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div><ul><li id='object_Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl (class)">ResourcefulVerbDsl</a></span> < VerbDsl<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::StandaloneDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html" title="Compony::ComponentMixins::Default::Standalone::StandaloneDsl (class)">StandaloneDsl</a></span> < Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::VerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/VerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::VerbDsl (class)">VerbDsl</a></span> < Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li></ul></li></ul></li><li id='object_Compony::ComponentMixins::Resourceful' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Resourceful</a></span><small class='search_info'>Compony::ComponentMixins</small></div></li></ul></li><li id='object_Compony::Components' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/Components.html" title="Compony::Components (module)">Components</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::Components::Buttons' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Compony/Components/Buttons.html" title="Compony::Components::Buttons (module)">Buttons</a></span><small class='search_info'>Compony::Components</small></div><ul><li id='object_Compony::Components::Buttons::CssButton' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/Components/Buttons/CssButton.html" title="Compony::Components::Buttons::CssButton (class)">CssButton</a></span> < Link<small class='search_info'>Compony::Components::Buttons</small></div></li><li id='object_Compony::Components::Buttons::Link' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/Components/Buttons/Link.html" title="Compony::Components::Buttons::Link (class)">Link</a></span> < Component<small class='search_info'>Compony::Components::Buttons</small></div></li></ul></li><li id='object_Compony::Components::Destroy' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Destroy.html" title="Compony::Components::Destroy (class)">Destroy</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Edit' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Edit.html" title="Compony::Components::Edit (class)">Edit</a></span> < WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Form' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Form.html" title="Compony::Components::Form (class)">Form</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Index' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Index.html" title="Compony::Components::Index (class)">Index</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::List' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/List.html" title="Compony::Components::List (class)">List</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::New' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/New.html" title="Compony::Components::New (class)">New</a></span> < WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Show' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Show.html" title="Compony::Components::Show (class)">Show</a></span> < Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::WithForm' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/WithForm.html" title="Compony::Components::WithForm (class)">WithForm</a></span> < Component<small class='search_info'>Compony::Components</small></div></li></ul></li><li id='object_Compony::ControllerMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ControllerMixin.html" title="Compony::ControllerMixin (module)">ControllerMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::Engine' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Engine.html" title="Compony::Engine (class)">Engine</a></span> < Engine<small class='search_info'>Compony</small></div></li><li id='object_Compony::Intent' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Intent.html" title="Compony::Intent (class)">Intent</a></span> < Object<small class='search_info'>Compony</small></div></li><li id='object_Compony::ManageIntentsDsl' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ManageIntentsDsl.html" title="Compony::ManageIntentsDsl (class)">ManageIntentsDsl</a></span> < Base<small class='search_info'>Compony</small></div></li><li id='object_Compony::MethodAccessibleHash' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/MethodAccessibleHash.html" title="Compony::MethodAccessibleHash (class)">MethodAccessibleHash</a></span> < Hash<small class='search_info'>Compony</small></div></li><li id='object_Compony::ModelFields' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ModelFields.html" title="Compony::ModelFields (module)">ModelFields</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::ModelFields::Anchormodel' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Anchormodel.html" title="Compony::ModelFields::Anchormodel (class)">Anchormodel</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Association' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Association.html" title="Compony::ModelFields::Association (class)">Association</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Attachment' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Attachment.html" title="Compony::ModelFields::Attachment (class)">Attachment</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Base' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Base.html" title="Compony::ModelFields::Base (class)">Base</a></span> < Object<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Boolean' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Boolean.html" title="Compony::ModelFields::Boolean (class)">Boolean</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Color' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Color.html" title="Compony::ModelFields::Color (class)">Color</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Currency' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Currency.html" title="Compony::ModelFields::Currency (class)">Currency</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Date' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Date.html" title="Compony::ModelFields::Date (class)">Date</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Datetime' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Datetime.html" title="Compony::ModelFields::Datetime (class)">Datetime</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Decimal' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Decimal.html" title="Compony::ModelFields::Decimal (class)">Decimal</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Email' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Email.html" title="Compony::ModelFields::Email (class)">Email</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Float' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Float.html" title="Compony::ModelFields::Float (class)">Float</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Integer' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Integer.html" title="Compony::ModelFields::Integer (class)">Integer</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Percentage' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Percentage.html" title="Compony::ModelFields::Percentage (class)">Percentage</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Phone' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Phone.html" title="Compony::ModelFields::Phone (class)">Phone</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::RichText' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/RichText.html" title="Compony::ModelFields::RichText (class)">RichText</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::String' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/String.html" title="Compony::ModelFields::String (class)">String</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Text' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Text.html" title="Compony::ModelFields::Text (class)">Text</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Time' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Time.html" title="Compony::ModelFields::Time (class)">Time</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Url' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Url.html" title="Compony::ModelFields::Url (class)">Url</a></span> < Base<small class='search_info'>Compony::ModelFields</small></div></li></ul></li><li id='object_Compony::ModelMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ModelMixin.html" title="Compony::ModelMixin (module)">ModelMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::NaturalOrdering' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span> < Array<small class='search_info'>Compony</small></div></li><li id='object_Compony::RequestContext' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/RequestContext.html" title="Compony::RequestContext (class)">RequestContext</a></span> < Base<small class='search_info'>Compony</small></div></li><li id='object_Compony::Version' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Version.html" title="Compony::Version (module)">Version</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::ViewHelpers' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ViewHelpers.html" title="Compony::ViewHelpers (module)">ViewHelpers</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::VirtualModel' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/VirtualModel.html" title="Compony::VirtualModel (class)">VirtualModel</a></span> < Object<small class='search_info'>Compony</small></div></li></ul></li><li id='object_ComponyController' class='odd'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponyController.html" title="ComponyController (class)">ComponyController</a></span> < ApplicationController<small class='search_info'>Top Level Namespace</small></div></li>
|
|
47
47
|
|
|
48
48
|
</ul>
|
|
49
49
|
</div>
|
data/doc/file.README.html
CHANGED
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
</li><li>
|
|
91
91
|
<p>Compony seamlessly integrates with Rails and does not interfere with existing code. Using Compony, you <strong>can</strong> 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.</p>
|
|
92
92
|
</li><li>
|
|
93
|
-
<p>Compony is built for Rails 7, 7.1 and 8, and fully supports Stimulus and Turbo Drive. Turbo Frames and Streams
|
|
93
|
+
<p>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..</p>
|
|
94
94
|
</li><li>
|
|
95
95
|
<p>Compony uses <a href="https://github.com/CanCanCommunity/cancancan">CanCanCan</a> 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 <code>Compony.authentication_before_action</code> setter. I have also successfully tested Compony to work with <a href="https://github.com/heartcombo/devise">Devise</a>.</p>
|
|
96
96
|
</li></ul>
|
|
@@ -199,7 +199,7 @@
|
|
|
199
199
|
</div></div>
|
|
200
200
|
|
|
201
201
|
<div id="footer">
|
|
202
|
-
Generated on
|
|
202
|
+
Generated on Mon Dec 8 15:19:19 2025 by
|
|
203
203
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
204
204
|
0.9.34 (ruby-3.3.5).
|
|
205
205
|
</div>
|
data/doc/guide/intents.md
CHANGED
|
@@ -64,7 +64,7 @@ Use the `button` argument to customize the generated button. Example:
|
|
|
64
64
|
```ruby
|
|
65
65
|
setup do
|
|
66
66
|
content do
|
|
67
|
-
div render_intent(:show, User.first,
|
|
67
|
+
div render_intent(:show, User.first, style: :link, label: { format: :short })`
|
|
68
68
|
end
|
|
69
69
|
end
|
|
70
70
|
```
|
|
@@ -114,7 +114,7 @@ All button styles support the following keyword arguments to their initializer:
|
|
|
114
114
|
|
|
115
115
|
Note that since buttons are full components, they can be [nested](/doc/guide/nesting.md) into another component by providing `parent_comp`. If called from within a component's `content` block, the helper `render_intent` does this automatically.
|
|
116
116
|
|
|
117
|
-
As implicitely mentioned above, Compony buttons are referenced to by a name called a style (`:css_button` actually points to `Compony::Components::Buttons::CssButton`). When rendering an intent, the style can be passed as an argument: `render_intent(:show, User.first,
|
|
117
|
+
As implicitely mentioned above, Compony buttons are referenced to by a name called a style (`:css_button` actually points to `Compony::Components::Buttons::CssButton`). When rendering an intent, the style can be passed as an argument: `render_intent(:show, User.first, style: :link)` and the intent will automatically instanciate the desired component class.
|
|
118
118
|
|
|
119
119
|
Note: it is possible to use a button component to submit a form. In order to achieve this, you must implement a hidden submit button (for handling keyboard Enter and Return), as well as pass `onclick: "this.closest('form').requestSubmit(); return false;"` as an argument. See the pre-built Form component's implementation for an example.
|
|
120
120
|
|
|
@@ -124,7 +124,7 @@ In your application, you will likely want to implement your own button styles. C
|
|
|
124
124
|
|
|
125
125
|
Once your button class is ready, register it in `config/initializers/compony.rb` with: `Compony.register_button_style :my_button, '::Components::Commons::MyButton'`. You can also change the default button style there using: `Compony.default_button_style = :my_button`.
|
|
126
126
|
|
|
127
|
-
If you have multiple kinds of buttons (e.g. dropdown items, pill-style buttons, compact forms etc.), you should create a separate style and button component class for every kind. This will make it easy to refer to them by supplying something like `
|
|
127
|
+
If you have multiple kinds of buttons (e.g. dropdown items, pill-style buttons, compact forms etc.), you should create a separate style and button component class for every kind. This will make it easy to refer to them by supplying something like `style: :dropdown_item` in `render_intent`.
|
|
128
128
|
|
|
129
129
|
## Exposed intents
|
|
130
130
|
|
data/doc/guide/nesting.md
CHANGED
|
@@ -49,9 +49,9 @@ class Components::Nestings::BinaryComparator < Compony::Component
|
|
|
49
49
|
setup do
|
|
50
50
|
# standalone and other configs are omitted in this example.
|
|
51
51
|
content do
|
|
52
|
-
concat
|
|
53
|
-
concat
|
|
54
|
-
concat
|
|
52
|
+
concat render_sub_comp(Components::Nestings::Binary, number: 1)
|
|
53
|
+
concat render_sub_comp(Components::Nestings::Binary, number: 2)
|
|
54
|
+
concat render_sub_comp(Components::Nestings::Binary, number: 3)
|
|
55
55
|
end
|
|
56
56
|
end
|
|
57
57
|
end
|
|
@@ -99,7 +99,7 @@ class Components::Nestings::BinaryComparator < Compony::Component
|
|
|
99
99
|
# standalone and other configs are omitted in this example.
|
|
100
100
|
content do
|
|
101
101
|
3.times do
|
|
102
|
-
concat
|
|
102
|
+
concat render_sub_comp(Components::Nestings::Binary)
|
|
103
103
|
end
|
|
104
104
|
end
|
|
105
105
|
end
|
|
@@ -131,4 +131,26 @@ The number 8 has the binary form 1000. Enter a number and press ENTER: [8]
|
|
|
131
131
|
|
|
132
132
|
Note that this example is completely stateless, as all the info is encoded in the URL.
|
|
133
133
|
|
|
134
|
+
## Rendering `List` as sub comp in `Show`
|
|
135
|
+
|
|
136
|
+
A pattern often used is the following:
|
|
137
|
+
|
|
138
|
+
```ruby
|
|
139
|
+
class Components::Users::Show < Compony::Components::Show
|
|
140
|
+
setup do
|
|
141
|
+
content :quotes do
|
|
142
|
+
h1 "Quotes of #{@data.label}"
|
|
143
|
+
concat render_sub_comp(:list, @data.quotes.accessible_by(current_ability), turbo_frame: :"user_#{@data.id}_quotes")
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Again, there is a lot going on here:
|
|
150
|
+
|
|
151
|
+
- Since the component inherits from the [pre-built Show component](/doc/guide/pre_built_components/show.md), it automatically displays all fields of user in its `main` content block.
|
|
152
|
+
- We add a second content block `:quotes` with a title displaying "Quotes of John Deer" and tell compony to render the appropriate list as a sub comp, giving it all quotes of John Deer that are accessible by the user currently logged in (this is a cancancan feature).
|
|
153
|
+
- `render_sub_comp` is thus given an `ActiveRecord` collection of `Quote` models and it builts an [Intent](/doc/guide/intents.md) to figure out that `Components::Quotes::List` is the component that will be instanciated, given the appropriate quotes, and rendered here.
|
|
154
|
+
- We also give `:"user_#{@data.id}_quotes"` to the parameter `turbo_frame`, which causes `render_sub_comp` to place the sub comp inside a frame that is named something like `:user_1_quotes`. Since compony's [pre-built List component](/doc/guide/pre_built_components/list.md) contains search and filter forms, the turbo frame makes sure that anything entered there does not interfere with other parameters.
|
|
155
|
+
|
|
134
156
|
[Guide index](/README.md#guide--documentation)
|
data/doc/index.html
CHANGED
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
</li><li>
|
|
91
91
|
<p>Compony seamlessly integrates with Rails and does not interfere with existing code. Using Compony, you <strong>can</strong> 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.</p>
|
|
92
92
|
</li><li>
|
|
93
|
-
<p>Compony is built for Rails 7, 7.1 and 8, and fully supports Stimulus and Turbo Drive. Turbo Frames and Streams
|
|
93
|
+
<p>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..</p>
|
|
94
94
|
</li><li>
|
|
95
95
|
<p>Compony uses <a href="https://github.com/CanCanCommunity/cancancan">CanCanCan</a> 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 <code>Compony.authentication_before_action</code> setter. I have also successfully tested Compony to work with <a href="https://github.com/heartcombo/devise">Devise</a>.</p>
|
|
96
96
|
</li></ul>
|
|
@@ -199,7 +199,7 @@
|
|
|
199
199
|
</div></div>
|
|
200
200
|
|
|
201
201
|
<div id="footer">
|
|
202
|
-
Generated on
|
|
202
|
+
Generated on Mon Dec 8 15:19:19 2025 by
|
|
203
203
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
204
204
|
0.9.34 (ruby-3.3.5).
|
|
205
205
|
</div>
|