compony 0.5.9 → 0.6.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 +5 -0
- data/Gemfile.lock +1 -1
- data/README.md +21 -0
- data/VERSION +1 -1
- data/compony.gemspec +3 -3
- data/config/locales/de.yml +13 -0
- data/config/locales/en.yml +13 -0
- data/config/locales/fr.yml +14 -1
- data/doc/ComponentGenerator.html +16 -4
- data/doc/Components.html +3 -3
- data/doc/ComponentsGenerator.html +3 -3
- data/doc/Compony/Component.html +4 -4
- data/doc/Compony/ComponentMixins/Default/Labelling.html +3 -3
- data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +3 -3
- data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +3 -3
- data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +3 -3
- data/doc/Compony/ComponentMixins/Default/Standalone.html +3 -3
- data/doc/Compony/ComponentMixins/Default.html +3 -3
- data/doc/Compony/ComponentMixins/Resourceful.html +4 -4
- data/doc/Compony/ComponentMixins.html +3 -3
- data/doc/Compony/Components/Button.html +3 -3
- data/doc/Compony/Components/Destroy.html +3 -3
- data/doc/Compony/Components/Edit.html +3 -3
- data/doc/Compony/Components/Form.html +3 -3
- data/doc/Compony/Components/Index.html +172 -0
- data/doc/Compony/Components/List.html +2731 -0
- data/doc/Compony/Components/New.html +3 -3
- data/doc/Compony/Components/Show.html +740 -0
- data/doc/Compony/Components/WithForm.html +3 -3
- data/doc/Compony/Components.html +5 -5
- data/doc/Compony/ControllerMixin.html +3 -3
- data/doc/Compony/Engine.html +3 -3
- data/doc/Compony/MethodAccessibleHash.html +3 -3
- data/doc/Compony/ModelFields/Anchormodel.html +136 -4
- data/doc/Compony/ModelFields/Association.html +4 -4
- data/doc/Compony/ModelFields/Attachment.html +4 -4
- data/doc/Compony/ModelFields/Base.html +143 -13
- data/doc/Compony/ModelFields/Boolean.html +136 -4
- data/doc/Compony/ModelFields/Color.html +4 -4
- data/doc/Compony/ModelFields/Currency.html +4 -4
- data/doc/Compony/ModelFields/Date.html +4 -4
- data/doc/Compony/ModelFields/Datetime.html +4 -4
- data/doc/Compony/ModelFields/Decimal.html +4 -4
- data/doc/Compony/ModelFields/Email.html +4 -4
- data/doc/Compony/ModelFields/Float.html +4 -4
- data/doc/Compony/ModelFields/Integer.html +83 -5
- data/doc/Compony/ModelFields/Percentage.html +4 -4
- data/doc/Compony/ModelFields/Phone.html +4 -4
- data/doc/Compony/ModelFields/RichText.html +4 -4
- data/doc/Compony/ModelFields/String.html +4 -4
- data/doc/Compony/ModelFields/Text.html +4 -4
- data/doc/Compony/ModelFields/Time.html +4 -4
- data/doc/Compony/ModelFields/Url.html +4 -4
- data/doc/Compony/ModelFields.html +3 -3
- data/doc/Compony/ModelMixin.html +26 -26
- data/doc/Compony/NaturalOrdering.html +3 -3
- data/doc/Compony/RequestContext.html +3 -3
- data/doc/Compony/Version.html +3 -3
- data/doc/Compony/ViewHelpers.html +3 -3
- data/doc/Compony.html +4 -4
- data/doc/ComponyController.html +3 -3
- data/doc/_index.html +25 -4
- data/doc/class_list.html +3 -6
- data/doc/css/full_list.css +3 -3
- data/doc/css/style.css +0 -6
- data/doc/file.README.html +37 -10
- data/doc/file_list.html +2 -5
- data/doc/frames.html +5 -10
- data/doc/index.html +37 -10
- data/doc/js/app.js +264 -294
- data/doc/js/full_list.js +4 -30
- data/doc/method_list.html +423 -114
- data/doc/top-level-namespace.html +3 -3
- data/lib/compony/components/index.rb +33 -0
- data/lib/compony/components/list.rb +418 -0
- data/lib/compony/components/show.rb +116 -0
- data/lib/compony/model_fields/anchormodel.rb +13 -0
- data/lib/compony/model_fields/base.rb +12 -0
- data/lib/compony/model_fields/boolean.rb +13 -0
- data/lib/compony/model_fields/integer.rb +3 -0
- data/lib/compony/model_mixin.rb +5 -0
- data/lib/compony.rb +3 -0
- data/lib/generators/component/component_generator.rb +6 -0
- data/lib/generators/component/templates/index.rb.erb +2 -0
- data/lib/generators/component/templates/list.rb.erb +7 -0
- data/lib/generators/component/templates/show.rb.erb +2 -0
- metadata +10 -1
data/doc/class_list.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
<html
|
2
|
+
<html>
|
3
3
|
<head>
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
5
|
<meta charset="utf-8" />
|
@@ -38,15 +38,12 @@
|
|
38
38
|
|
39
39
|
</div>
|
40
40
|
|
41
|
-
<div id="search">
|
42
|
-
<label for="search-class">Search:</label>
|
43
|
-
<input id="search-class" type="text" />
|
44
|
-
</div>
|
41
|
+
<div id="search">Search: <input type="text" /></div>
|
45
42
|
</div>
|
46
43
|
|
47
44
|
<ul id="full_list" class="class">
|
48
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>
|
49
|
-
<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 tabindex='0' class='toggle' role='button' aria-label='Compony child nodes' aria-expanded='false' aria-controls='object_Compony'></a> <span class='object_link'><a href="Compony.html" title="Compony (module)">Compony</a></span><small class='search_info'>Top Level Namespace</small></div><div aria-labelledby='object_Compony'><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 tabindex='0' class='toggle' role='button' aria-label='ComponentMixins child nodes' aria-expanded='false' aria-controls='object_Compony::ComponentMixins'></a> <span class='object_link'><a href="Compony/ComponentMixins.html" title="Compony::ComponentMixins (module)">ComponentMixins</a></span><small class='search_info'>Compony</small></div><div aria-labelledby='object_Compony::ComponentMixins'><ul><li id='object_Compony::ComponentMixins::Default' class='collapsed'><div class='item' style='padding-left:60px'><a tabindex='0' class='toggle' role='button' aria-label='Default child nodes' aria-expanded='false' aria-controls='object_Compony::ComponentMixins::Default'></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><div aria-labelledby='object_Compony::ComponentMixins::Default'><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 tabindex='0' class='toggle' role='button' aria-label='Standalone child nodes' aria-expanded='false' aria-controls='object_Compony::ComponentMixins::Default::Standalone'></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><div aria-labelledby='object_Compony::ComponentMixins::Default::Standalone'><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></div></li></ul></div></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></div></li><li id='object_Compony::Components' class='collapsed even'><div class='item' style='padding-left:45px'><a tabindex='0' class='toggle' role='button' aria-label='Components child nodes' aria-expanded='false' aria-controls='object_Compony::Components'></a> <span class='object_link'><a href="Compony/Components.html" title="Compony::Components (module)">Components</a></span><small class='search_info'>Compony</small></div><div aria-labelledby='object_Compony::Components'><ul><li id='object_Compony::Components::Button' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Button.html" title="Compony::Components::Button (class)">Button</a></span> < Component<small class='search_info'>Compony::Components</small></div></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::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::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></div></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::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 tabindex='0' class='toggle' role='button' aria-label='ModelFields child nodes' aria-expanded='false' aria-controls='object_Compony::ModelFields'></a> <span class='object_link'><a href="Compony/ModelFields.html" title="Compony::ModelFields (module)">ModelFields</a></span><small class='search_info'>Compony</small></div><div aria-labelledby='object_Compony::ModelFields'><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></div></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></ul></div></li><li id='object_ComponyController' class='even'><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::Button' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Button.html" title="Compony::Components::Button (class)">Button</a></span> < Component<small class='search_info'>Compony::Components</small></div></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::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></ul></li><li id='object_ComponyController' class='even'><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>
|
50
47
|
|
51
48
|
</ul>
|
52
49
|
</div>
|
data/doc/css/full_list.css
CHANGED
@@ -20,8 +20,8 @@ h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
|
|
20
20
|
#content.insearch #noresults { margin-left: 7px; }
|
21
21
|
li.collapsed ul { display: none; }
|
22
22
|
li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
|
23
|
-
li.collapsed a.toggle { cursor: default; background-position: top left; }
|
24
|
-
li { color: #
|
23
|
+
li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
|
24
|
+
li { color: #888; cursor: pointer; }
|
25
25
|
li.deprecated { text-decoration: line-through; font-style: italic; }
|
26
26
|
li.odd { background: #f0f0f0; }
|
27
27
|
li.even { background: #fafafa; }
|
@@ -47,7 +47,7 @@ li small { display: block; font-size: 0.8em; }
|
|
47
47
|
li small:before { content: ""; }
|
48
48
|
li small:after { content: ""; }
|
49
49
|
li small.search_info { display: none; }
|
50
|
-
#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #
|
50
|
+
#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
|
51
51
|
#content.insearch #search { background-position: center right; }
|
52
52
|
#search input { width: 110px; }
|
53
53
|
|
data/doc/css/style.css
CHANGED
@@ -82,11 +82,6 @@ body {
|
|
82
82
|
#search { display: none; }
|
83
83
|
}
|
84
84
|
|
85
|
-
@media (max-width: 320px) {
|
86
|
-
body { height: 100%; overflow: hidden; overflow-wrap: break-word; }
|
87
|
-
#main { height: 100%; overflow: auto; }
|
88
|
-
}
|
89
|
-
|
90
85
|
#main img { max-width: 100%; }
|
91
86
|
h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
|
92
87
|
h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
|
@@ -111,7 +106,6 @@ h2 small a {
|
|
111
106
|
position: relative;
|
112
107
|
padding: 2px 7px;
|
113
108
|
}
|
114
|
-
a { font-weight: 550; }
|
115
109
|
.clear { clear: both; }
|
116
110
|
.inline { display: inline; }
|
117
111
|
.inline p:first-child { display: inline; }
|
data/doc/file.README.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.34
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -195,7 +195,7 @@
|
|
195
195
|
|
196
196
|
<p>Here is what our Show component looks like when we have a layout with the bare minimum and no styling at all:</p>
|
197
197
|
|
198
|
-
<p><img src="doc/imgs/intro-example-show.png"
|
198
|
+
<p><img src="doc/imgs/intro-example-show.png"></p>
|
199
199
|
|
200
200
|
<p>It is important to note that actions, buttons, navigation, notifications etc. are handled by the application layout. In this and the subsequent screenshots, we explicitely use minimalism, as it makes the generated HTML clearer.</p>
|
201
201
|
|
@@ -209,7 +209,7 @@
|
|
209
209
|
|
210
210
|
<p>Note that this component is fully functional. All is handled by the class it inherits from:</p>
|
211
211
|
|
212
|
-
<p><img src="doc/imgs/intro-example-destroy.png"
|
212
|
+
<p><img src="doc/imgs/intro-example-destroy.png"></p>
|
213
213
|
|
214
214
|
<h3 id="label-The+New+component+and+the+Form+component">The New component and the Form component</h3>
|
215
215
|
|
@@ -243,7 +243,7 @@
|
|
243
243
|
|
244
244
|
<p>This is enough to render a fully functional form that creates new users:</p>
|
245
245
|
|
246
|
-
<p><img src="doc/imgs/intro-example-new.png"
|
246
|
+
<p><img src="doc/imgs/intro-example-new.png"></p>
|
247
247
|
|
248
248
|
<h3 id="label-The+Edit+component">The Edit component</h3>
|
249
249
|
|
@@ -255,7 +255,7 @@
|
|
255
255
|
|
256
256
|
<p>It then looks like this:</p>
|
257
257
|
|
258
|
-
<p><img src="doc/imgs/intro-example-edit.png"
|
258
|
+
<p><img src="doc/imgs/intro-example-edit.png"></p>
|
259
259
|
|
260
260
|
<h3 id="label-The+Index+component">The Index component</h3>
|
261
261
|
|
@@ -307,7 +307,7 @@
|
|
307
307
|
|
308
308
|
<p>The result looks like this:</p>
|
309
309
|
|
310
|
-
<p><img src="doc/imgs/intro-example-index.png"
|
310
|
+
<p><img src="doc/imgs/intro-example-index.png"></p>
|
311
311
|
|
312
312
|
<p>Note how the admin’s delete button is disabled due to the feasibility framework. Pointing the mouse at it causes a tooltip saying: “Cannot destroy admins.”, as specified in the model’s prevention.</p>
|
313
313
|
|
@@ -506,7 +506,7 @@
|
|
506
506
|
<span class='kw'>end</span>
|
507
507
|
</code></pre>
|
508
508
|
|
509
|
-
<p>This results in:
|
509
|
+
<p>This results in: - This appears first. - Welcome to my basic component. - This paragraph is inserted between the others. - Thank you and see you tonight.</p>
|
510
510
|
|
511
511
|
<p>As you see, overusing this feature can lead to messy code as it becomes unclear what happens in what order. For this reason, this feature should only be used to decouple the content of your abstract components for allowing surgical overrides in subclasses.</p>
|
512
512
|
|
@@ -1011,7 +1011,7 @@ The number 8 has the binary form 1000. Enter a number and press ENTER: [8]
|
|
1011
1011
|
<p><code>respond</code> typically shows a flash and redirects to another component.</p>
|
1012
1012
|
</li></ul>
|
1013
1013
|
|
1014
|
-
<p><img src="doc/resourceful_lifecycle.png"
|
1014
|
+
<p><img src="doc/resourceful_lifecycle.png"></p>
|
1015
1015
|
|
1016
1016
|
<h3 id="label-Nesting+resourceful+components">Nesting resourceful components</h3>
|
1017
1017
|
|
@@ -1390,6 +1390,33 @@ my_button = Compony.button(:index, :users, enabled: -> { |controller| control
|
|
1390
1390
|
|
1391
1391
|
<p>You will rarely (or probably never) instantiate a button on your own, but use helpers like <code>Compony.button</code> or <code>compony_button</code>. For this reason, the documentation for instantiating buttons is located in the section documenting those helpers above.</p>
|
1392
1392
|
|
1393
|
+
<h3 id="label-Show">Show</h3>
|
1394
|
+
|
1395
|
+
<p>This resourceful component corresponds to a typical Rails controller’s <code>show</code> action and presents <code>@data</code> which is typically a model instance.</p>
|
1396
|
+
|
1397
|
+
<p>To use it, create a component of the style <code>Components::Users::Show</code> and inherit from <code>Compony::Components::Show</code>. By default, this will display all permitted fields along with their labels. Consult the component’s class to learn about the methods you can use in <code>setup</code> in order to customize the behavior.</p>
|
1398
|
+
|
1399
|
+
<h3 id="label-Index">Index</h3>
|
1400
|
+
|
1401
|
+
<p>This stanalone component is resourceful, holds a collection of records and corresponds to Rail’s <code>index</code> controller action. It is a wrapper for the <code>List</code> component (see below).</p>
|
1402
|
+
|
1403
|
+
<h3 id="label-List">List</h3>
|
1404
|
+
|
1405
|
+
<p>This resourceful component displays a table / list of records. It is meant to be nested within another component, typically <code>Index</code> of the same family or <code>Show</code> of another family. Compony’s implementation of this component features:</p>
|
1406
|
+
<ul><li>
|
1407
|
+
<p>Inferrence of rows from model fields as well as custom rows</p>
|
1408
|
+
</li><li>
|
1409
|
+
<p>Row actions for each displayed record</p>
|
1410
|
+
</li><li>
|
1411
|
+
<p>Pagination</p>
|
1412
|
+
</li><li>
|
1413
|
+
<p>Sorting: if the Ransack gem is installed and at least one sorting column has been specified, the component can automatically generate a select input for sorting as well as sorting links.</p>
|
1414
|
+
</li><li>
|
1415
|
+
<p>Filtering / Searching: if the Ransack gem is installed and at least one filter has been specified, the component can automatically generate a filter / search form that works with Ransack.</p>
|
1416
|
+
</li></ul>
|
1417
|
+
|
1418
|
+
<p>This component serves as a base block for building powerful management interfaces. Consult the component’s class to learn about the various methods you can use in <code>setup</code> in order to customize the behavior. You will likely want to implement your own custom base component based on this component and overwrite the <code>content</code> blocks that you would like to customize.</p>
|
1419
|
+
|
1393
1420
|
<h3 id="label-Destroy">Destroy</h3>
|
1394
1421
|
|
1395
1422
|
<p>This component is the Compony equivalent to a typical Rails controller’s <code>destroy</code> action.</p>
|
@@ -1752,9 +1779,9 @@ my_button = Compony.button(:index, :users, enabled: -> { |controller| control
|
|
1752
1779
|
</div></div>
|
1753
1780
|
|
1754
1781
|
<div id="footer">
|
1755
|
-
Generated on Fri
|
1782
|
+
Generated on Fri Sep 5 14:00:24 2025 by
|
1756
1783
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1757
|
-
0.9.
|
1784
|
+
0.9.34 (ruby-3.3.5).
|
1758
1785
|
</div>
|
1759
1786
|
|
1760
1787
|
</div>
|
data/doc/file_list.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
<html
|
2
|
+
<html>
|
3
3
|
<head>
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
5
|
<meta charset="utf-8" />
|
@@ -38,10 +38,7 @@
|
|
38
38
|
|
39
39
|
</div>
|
40
40
|
|
41
|
-
<div id="search">
|
42
|
-
<label for="search-class">Search:</label>
|
43
|
-
<input id="search-class" type="text" />
|
44
|
-
</div>
|
41
|
+
<div id="search">Search: <input type="text" /></div>
|
45
42
|
</div>
|
46
43
|
|
47
44
|
<ul id="full_list" class="file">
|
data/doc/frames.html
CHANGED
@@ -2,18 +2,13 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8">
|
5
|
-
<title>Documentation by YARD 0.9.
|
5
|
+
<title>Documentation by YARD 0.9.34</title>
|
6
6
|
</head>
|
7
7
|
<script type="text/javascript">
|
8
|
-
var
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
var url = new URL(name, location.href);
|
13
|
-
window.top.location.replace(url.origin === location.origin ? name : mainUrl);
|
14
|
-
} catch (e) {
|
15
|
-
window.top.location.replace(mainUrl);
|
16
|
-
}
|
8
|
+
var match = unescape(window.location.hash).match(/^#!(.+)/);
|
9
|
+
var name = match ? match[1] : 'index.html';
|
10
|
+
name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
|
11
|
+
window.top.location = name;
|
17
12
|
</script>
|
18
13
|
<noscript>
|
19
14
|
<h1>Oops!</h1>
|
data/doc/index.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.34
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -195,7 +195,7 @@
|
|
195
195
|
|
196
196
|
<p>Here is what our Show component looks like when we have a layout with the bare minimum and no styling at all:</p>
|
197
197
|
|
198
|
-
<p><img src="doc/imgs/intro-example-show.png"
|
198
|
+
<p><img src="doc/imgs/intro-example-show.png"></p>
|
199
199
|
|
200
200
|
<p>It is important to note that actions, buttons, navigation, notifications etc. are handled by the application layout. In this and the subsequent screenshots, we explicitely use minimalism, as it makes the generated HTML clearer.</p>
|
201
201
|
|
@@ -209,7 +209,7 @@
|
|
209
209
|
|
210
210
|
<p>Note that this component is fully functional. All is handled by the class it inherits from:</p>
|
211
211
|
|
212
|
-
<p><img src="doc/imgs/intro-example-destroy.png"
|
212
|
+
<p><img src="doc/imgs/intro-example-destroy.png"></p>
|
213
213
|
|
214
214
|
<h3 id="label-The+New+component+and+the+Form+component">The New component and the Form component</h3>
|
215
215
|
|
@@ -243,7 +243,7 @@
|
|
243
243
|
|
244
244
|
<p>This is enough to render a fully functional form that creates new users:</p>
|
245
245
|
|
246
|
-
<p><img src="doc/imgs/intro-example-new.png"
|
246
|
+
<p><img src="doc/imgs/intro-example-new.png"></p>
|
247
247
|
|
248
248
|
<h3 id="label-The+Edit+component">The Edit component</h3>
|
249
249
|
|
@@ -255,7 +255,7 @@
|
|
255
255
|
|
256
256
|
<p>It then looks like this:</p>
|
257
257
|
|
258
|
-
<p><img src="doc/imgs/intro-example-edit.png"
|
258
|
+
<p><img src="doc/imgs/intro-example-edit.png"></p>
|
259
259
|
|
260
260
|
<h3 id="label-The+Index+component">The Index component</h3>
|
261
261
|
|
@@ -307,7 +307,7 @@
|
|
307
307
|
|
308
308
|
<p>The result looks like this:</p>
|
309
309
|
|
310
|
-
<p><img src="doc/imgs/intro-example-index.png"
|
310
|
+
<p><img src="doc/imgs/intro-example-index.png"></p>
|
311
311
|
|
312
312
|
<p>Note how the admin’s delete button is disabled due to the feasibility framework. Pointing the mouse at it causes a tooltip saying: “Cannot destroy admins.”, as specified in the model’s prevention.</p>
|
313
313
|
|
@@ -506,7 +506,7 @@
|
|
506
506
|
<span class='kw'>end</span>
|
507
507
|
</code></pre>
|
508
508
|
|
509
|
-
<p>This results in:
|
509
|
+
<p>This results in: - This appears first. - Welcome to my basic component. - This paragraph is inserted between the others. - Thank you and see you tonight.</p>
|
510
510
|
|
511
511
|
<p>As you see, overusing this feature can lead to messy code as it becomes unclear what happens in what order. For this reason, this feature should only be used to decouple the content of your abstract components for allowing surgical overrides in subclasses.</p>
|
512
512
|
|
@@ -1011,7 +1011,7 @@ The number 8 has the binary form 1000. Enter a number and press ENTER: [8]
|
|
1011
1011
|
<p><code>respond</code> typically shows a flash and redirects to another component.</p>
|
1012
1012
|
</li></ul>
|
1013
1013
|
|
1014
|
-
<p><img src="doc/resourceful_lifecycle.png"
|
1014
|
+
<p><img src="doc/resourceful_lifecycle.png"></p>
|
1015
1015
|
|
1016
1016
|
<h3 id="label-Nesting+resourceful+components">Nesting resourceful components</h3>
|
1017
1017
|
|
@@ -1390,6 +1390,33 @@ my_button = Compony.button(:index, :users, enabled: -> { |controller| control
|
|
1390
1390
|
|
1391
1391
|
<p>You will rarely (or probably never) instantiate a button on your own, but use helpers like <code>Compony.button</code> or <code>compony_button</code>. For this reason, the documentation for instantiating buttons is located in the section documenting those helpers above.</p>
|
1392
1392
|
|
1393
|
+
<h3 id="label-Show">Show</h3>
|
1394
|
+
|
1395
|
+
<p>This resourceful component corresponds to a typical Rails controller’s <code>show</code> action and presents <code>@data</code> which is typically a model instance.</p>
|
1396
|
+
|
1397
|
+
<p>To use it, create a component of the style <code>Components::Users::Show</code> and inherit from <code>Compony::Components::Show</code>. By default, this will display all permitted fields along with their labels. Consult the component’s class to learn about the methods you can use in <code>setup</code> in order to customize the behavior.</p>
|
1398
|
+
|
1399
|
+
<h3 id="label-Index">Index</h3>
|
1400
|
+
|
1401
|
+
<p>This stanalone component is resourceful, holds a collection of records and corresponds to Rail’s <code>index</code> controller action. It is a wrapper for the <code>List</code> component (see below).</p>
|
1402
|
+
|
1403
|
+
<h3 id="label-List">List</h3>
|
1404
|
+
|
1405
|
+
<p>This resourceful component displays a table / list of records. It is meant to be nested within another component, typically <code>Index</code> of the same family or <code>Show</code> of another family. Compony’s implementation of this component features:</p>
|
1406
|
+
<ul><li>
|
1407
|
+
<p>Inferrence of rows from model fields as well as custom rows</p>
|
1408
|
+
</li><li>
|
1409
|
+
<p>Row actions for each displayed record</p>
|
1410
|
+
</li><li>
|
1411
|
+
<p>Pagination</p>
|
1412
|
+
</li><li>
|
1413
|
+
<p>Sorting: if the Ransack gem is installed and at least one sorting column has been specified, the component can automatically generate a select input for sorting as well as sorting links.</p>
|
1414
|
+
</li><li>
|
1415
|
+
<p>Filtering / Searching: if the Ransack gem is installed and at least one filter has been specified, the component can automatically generate a filter / search form that works with Ransack.</p>
|
1416
|
+
</li></ul>
|
1417
|
+
|
1418
|
+
<p>This component serves as a base block for building powerful management interfaces. Consult the component’s class to learn about the various methods you can use in <code>setup</code> in order to customize the behavior. You will likely want to implement your own custom base component based on this component and overwrite the <code>content</code> blocks that you would like to customize.</p>
|
1419
|
+
|
1393
1420
|
<h3 id="label-Destroy">Destroy</h3>
|
1394
1421
|
|
1395
1422
|
<p>This component is the Compony equivalent to a typical Rails controller’s <code>destroy</code> action.</p>
|
@@ -1752,9 +1779,9 @@ my_button = Compony.button(:index, :users, enabled: -> { |controller| control
|
|
1752
1779
|
</div></div>
|
1753
1780
|
|
1754
1781
|
<div id="footer">
|
1755
|
-
Generated on Fri
|
1782
|
+
Generated on Fri Sep 5 14:00:23 2025 by
|
1756
1783
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1757
|
-
0.9.
|
1784
|
+
0.9.34 (ruby-3.3.5).
|
1758
1785
|
</div>
|
1759
1786
|
|
1760
1787
|
</div>
|