compony 0.5.3 → 0.5.5
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/.gitignore +3 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +6 -6
- data/README.md +36 -0
- data/VERSION +1 -1
- data/app/controllers/compony_controller.rb +4 -0
- 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 +1 -1
- data/doc/Compony/ComponentMixins/Default/Labelling.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +96 -27
- 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/Button.html +1 -1
- data/doc/Compony/Components/Destroy.html +1 -1
- data/doc/Compony/Components/Edit.html +1 -1
- data/doc/Compony/Components/Form.html +210 -127
- data/doc/Compony/Components/New.html +1 -1
- 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/MethodAccessibleHash.html +1 -1
- data/doc/Compony/ModelFields/Anchormodel.html +1 -1
- data/doc/Compony/ModelFields/Association.html +1 -1
- 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 +29 -29
- data/doc/Compony/NaturalOrdering.html +1 -1
- data/doc/Compony/RequestContext.html +1 -1
- data/doc/Compony/Version.html +1 -1
- data/doc/Compony/ViewHelpers.html +1 -1
- data/doc/Compony.html +3 -3
- data/doc/ComponyController.html +1 -1
- data/doc/_index.html +1 -1
- data/doc/file.README.html +42 -7
- data/doc/index.html +42 -7
- data/doc/method_list.html +112 -96
- data/doc/top-level-namespace.html +1 -1
- data/lib/compony/component_mixins/default/standalone/standalone_dsl.rb +18 -10
- data/lib/compony/components/form.rb +49 -32
- data/lib/compony/model_mixin.rb +24 -14
- data/lib/compony.rb +2 -2
- metadata +3 -9
@@ -207,7 +207,7 @@
|
|
207
207
|
<li class="public ">
|
208
208
|
<span class="summary_signature">
|
209
209
|
|
210
|
-
<a href="#field-instance_method" title="#field (instance method)">#<strong>field</strong>(name, **input_opts) ⇒ Object </a>
|
210
|
+
<a href="#field-instance_method" title="#field (instance method)">#<strong>field</strong>(name, multilang: false, **input_opts) ⇒ Object </a>
|
211
211
|
|
212
212
|
|
213
213
|
|
@@ -249,6 +249,30 @@
|
|
249
249
|
<p>DSL method, use to set the form content.</p>
|
250
250
|
</div></span>
|
251
251
|
|
252
|
+
</li>
|
253
|
+
|
254
|
+
|
255
|
+
<li class="public ">
|
256
|
+
<span class="summary_signature">
|
257
|
+
|
258
|
+
<a href="#form_params-instance_method" title="#form_params (instance method)">#<strong>form_params</strong>(**new_form_params) ⇒ Object </a>
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
</span>
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
<span class="summary_desc"><div class='inline'>
|
273
|
+
<p>DSL method, allows to customize parameters given to simple_form_for.</p>
|
274
|
+
</div></span>
|
275
|
+
|
252
276
|
</li>
|
253
277
|
|
254
278
|
|
@@ -353,7 +377,7 @@
|
|
353
377
|
<li class="protected ">
|
354
378
|
<span class="summary_signature">
|
355
379
|
|
356
|
-
<a href="#schema_field-instance_method" title="#schema_field (instance method)">#<strong>schema_field</strong>(field_name) ⇒ Object </a>
|
380
|
+
<a href="#schema_field-instance_method" title="#schema_field (instance method)">#<strong>schema_field</strong>(field_name, multilang: false) ⇒ Object </a>
|
357
381
|
|
358
382
|
|
359
383
|
|
@@ -615,12 +639,12 @@
|
|
615
639
|
<pre class="lines">
|
616
640
|
|
617
641
|
|
618
|
-
|
619
|
-
|
620
|
-
|
642
|
+
164
|
643
|
+
165
|
644
|
+
166</pre>
|
621
645
|
</td>
|
622
646
|
<td>
|
623
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
647
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 164</span>
|
624
648
|
|
625
649
|
<span class='kw'>def</span> <span class='id identifier rubyid_collect'>collect</span><span class='lparen'>(</span><span class='op'>...</span><span class='rparen'>)</span>
|
626
650
|
<span class='const'><span class='object_link'><a href="../../Compony.html" title="Compony (module)">Compony</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../ModelFields.html" title="Compony::ModelFields (module)">ModelFields</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../ModelFields/Anchormodel.html" title="Compony::ModelFields::Anchormodel (class)">Anchormodel</a></span></span><span class='period'>.</span><span class='id identifier rubyid_collect'><span class='object_link'><a href="../ModelFields/Anchormodel.html#collect-class_method" title="Compony::ModelFields::Anchormodel.collect (method)">collect</a></span></span><span class='lparen'>(</span><span class='op'>...</span><span class='rparen'>)</span>
|
@@ -656,12 +680,12 @@
|
|
656
680
|
<pre class="lines">
|
657
681
|
|
658
682
|
|
659
|
-
|
660
|
-
|
661
|
-
|
683
|
+
169
|
684
|
+
170
|
685
|
+
171</pre>
|
662
686
|
</td>
|
663
687
|
<td>
|
664
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
688
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 169</span>
|
665
689
|
|
666
690
|
<span class='kw'>def</span> <span class='id identifier rubyid_disable!'>disable!</span>
|
667
691
|
<span class='ivar'>@form_disabled</span> <span class='op'>=</span> <span class='kw'>true</span>
|
@@ -697,13 +721,13 @@
|
|
697
721
|
<pre class="lines">
|
698
722
|
|
699
723
|
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
724
|
+
158
|
725
|
+
159
|
726
|
+
160
|
727
|
+
161</pre>
|
704
728
|
</td>
|
705
729
|
<td>
|
706
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
730
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 158</span>
|
707
731
|
|
708
732
|
<span class='kw'>def</span> <span class='id identifier rubyid_f'>f</span>
|
709
733
|
<span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>The `f` method may only be called inside `form_fields` for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='ivar'>@simpleform</span>
|
@@ -717,7 +741,7 @@
|
|
717
741
|
<div class="method_details ">
|
718
742
|
<h3 class="signature " id="field-instance_method">
|
719
743
|
|
720
|
-
#<strong>field</strong>(name, **input_opts) ⇒ <tt>Object</tt>
|
744
|
+
#<strong>field</strong>(name, multilang: false, **input_opts) ⇒ <tt>Object</tt>
|
721
745
|
|
722
746
|
|
723
747
|
|
@@ -726,7 +750,7 @@
|
|
726
750
|
</h3><div class="docstring">
|
727
751
|
<div class="discussion">
|
728
752
|
|
729
|
-
<p>Called inside the form_fields block. This makes the method <code>field</code> available in the block. See also notes for <code>with_simpleform</code
|
753
|
+
<p>Called inside the form_fields block. This makes the method <code>field</code> available in the block. See also notes for <code>with_simpleform</code>. If multilang is true, a suffixed field is generated for every available locale (useful with gem “mobility”). Render the array as you wish.</p>
|
730
754
|
|
731
755
|
|
732
756
|
</div>
|
@@ -740,8 +764,6 @@
|
|
740
764
|
<pre class="lines">
|
741
765
|
|
742
766
|
|
743
|
-
98
|
744
|
-
99
|
745
767
|
100
|
746
768
|
101
|
747
769
|
102
|
@@ -767,37 +789,49 @@
|
|
767
789
|
122
|
768
790
|
123
|
769
791
|
124
|
770
|
-
125
|
792
|
+
125
|
793
|
+
126
|
794
|
+
127
|
795
|
+
128
|
796
|
+
129
|
797
|
+
130
|
798
|
+
131
|
799
|
+
132</pre>
|
771
800
|
</td>
|
772
801
|
<td>
|
773
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
802
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 100</span>
|
774
803
|
|
775
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_field'>field</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_input_opts'>input_opts</span><span class='rparen'>)</span>
|
804
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_field'>field</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>multilang:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_input_opts'>input_opts</span><span class='rparen'>)</span>
|
776
805
|
<span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>The `field` method may only be called inside `form_fields` for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='ivar'>@simpleform</span>
|
777
|
-
<span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
778
806
|
|
779
|
-
<span class='
|
807
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_multilang'>multilang</span>
|
808
|
+
<span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_available_locales'>available_locales</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_locale'>locale</span><span class='op'>|</span> <span class='id identifier rubyid_field'>field</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_locale'>locale</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_input_opts'>input_opts</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
809
|
+
<span class='kw'>else</span>
|
810
|
+
<span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
811
|
+
|
812
|
+
<span class='id identifier rubyid_input_opts'>input_opts</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='label'>disabled:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@form_disabled</span>
|
780
813
|
|
781
|
-
|
782
|
-
</span>
|
783
|
-
|
784
|
-
|
814
|
+
<span class='comment'># Check per-field authorization
|
815
|
+
</span> <span class='kw'>if</span> <span class='ivar'>@cancancan_action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&&</span> <span class='ivar'>@controller</span><span class='period'>.</span><span class='id identifier rubyid_current_ability'>current_ability</span><span class='period'>.</span><span class='id identifier rubyid_permitted_attributes'>permitted_attributes</span><span class='lparen'>(</span><span class='ivar'>@cancancan_action</span><span class='comma'>,</span> <span class='ivar'>@simpleform</span><span class='period'>.</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_exclude?'>exclude?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
816
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='kw'>do</span>
|
817
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipping form field </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> because the current user is not allowed to perform </span><span class='embexpr_beg'>#{</span><span class='ivar'>@cancancan_action</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> on </span><span class='embexpr_beg'>#{</span><span class='ivar'>@simpleform</span><span class='period'>.</span><span class='id identifier rubyid_object'>object</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
818
|
+
<span class='kw'>end</span>
|
819
|
+
<span class='kw'>return</span>
|
785
820
|
<span class='kw'>end</span>
|
786
|
-
<span class='kw'>return</span>
|
787
|
-
<span class='kw'>end</span>
|
788
821
|
|
789
|
-
|
790
|
-
|
791
|
-
|
822
|
+
<span class='id identifier rubyid_hidden'>hidden</span> <span class='op'>=</span> <span class='id identifier rubyid_input_opts'>input_opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:hidden</span><span class='rparen'>)</span>
|
823
|
+
<span class='id identifier rubyid_model_field'>model_field</span> <span class='op'>=</span> <span class='ivar'>@simpleform</span><span class='period'>.</span><span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
|
824
|
+
<span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Field </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> is not defined on </span><span class='embexpr_beg'>#{</span><span class='ivar'>@simpleform</span><span class='period'>.</span><span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> but was requested in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_model_field'>model_field</span>
|
792
825
|
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
826
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_hidden'>hidden</span>
|
827
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_model_field'>model_field</span><span class='period'>.</span><span class='id identifier rubyid_simpleform_input_hidden'>simpleform_input_hidden</span><span class='lparen'>(</span><span class='ivar'>@simpleform</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_input_opts'>input_opts</span><span class='rparen'>)</span>
|
828
|
+
<span class='kw'>else</span>
|
829
|
+
<span class='kw'>unless</span> <span class='ivar'>@focus_given</span> <span class='op'>||</span> <span class='ivar'>@skip_autofocus</span>
|
830
|
+
<span class='id identifier rubyid_input_opts'>input_opts</span><span class='lbracket'>[</span><span class='symbol'>:autofocus</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>unless</span> <span class='id identifier rubyid_input_opts'>input_opts</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span> <span class='symbol'>:autofocus</span>
|
831
|
+
<span class='ivar'>@focus_given</span> <span class='op'>=</span> <span class='kw'>true</span>
|
832
|
+
<span class='kw'>end</span>
|
833
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_model_field'>model_field</span><span class='period'>.</span><span class='id identifier rubyid_simpleform_input'>simpleform_input</span><span class='lparen'>(</span><span class='ivar'>@simpleform</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_input_opts'>input_opts</span><span class='rparen'>)</span>
|
799
834
|
<span class='kw'>end</span>
|
800
|
-
<span class='kw'>return</span> <span class='id identifier rubyid_model_field'>model_field</span><span class='period'>.</span><span class='id identifier rubyid_simpleform_input'>simpleform_input</span><span class='lparen'>(</span><span class='ivar'>@simpleform</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_input_opts'>input_opts</span><span class='rparen'>)</span>
|
801
835
|
<span class='kw'>end</span>
|
802
836
|
<span class='kw'>end</span></pre>
|
803
837
|
</td>
|
@@ -831,13 +865,13 @@
|
|
831
865
|
<pre class="lines">
|
832
866
|
|
833
867
|
|
834
|
-
52
|
835
868
|
53
|
836
869
|
54
|
837
|
-
55
|
870
|
+
55
|
871
|
+
56</pre>
|
838
872
|
</td>
|
839
873
|
<td>
|
840
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
874
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 53</span>
|
841
875
|
|
842
876
|
<span class='kw'>def</span> <span class='id identifier rubyid_form_fields'>form_fields</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
843
877
|
<span class='kw'>return</span> <span class='ivar'>@form_fields</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
|
@@ -846,6 +880,47 @@
|
|
846
880
|
</td>
|
847
881
|
</tr>
|
848
882
|
</table>
|
883
|
+
</div>
|
884
|
+
|
885
|
+
<div class="method_details ">
|
886
|
+
<h3 class="signature " id="form_params-instance_method">
|
887
|
+
|
888
|
+
#<strong>form_params</strong>(**new_form_params) ⇒ <tt>Object</tt>
|
889
|
+
|
890
|
+
|
891
|
+
|
892
|
+
|
893
|
+
|
894
|
+
</h3><div class="docstring">
|
895
|
+
<div class="discussion">
|
896
|
+
|
897
|
+
<p>DSL method, allows to customize parameters given to simple_form_for</p>
|
898
|
+
|
899
|
+
|
900
|
+
</div>
|
901
|
+
</div>
|
902
|
+
<div class="tags">
|
903
|
+
|
904
|
+
|
905
|
+
</div><table class="source_code">
|
906
|
+
<tr>
|
907
|
+
<td>
|
908
|
+
<pre class="lines">
|
909
|
+
|
910
|
+
|
911
|
+
174
|
912
|
+
175
|
913
|
+
176</pre>
|
914
|
+
</td>
|
915
|
+
<td>
|
916
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 174</span>
|
917
|
+
|
918
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_form_params'>form_params</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_new_form_params'>new_form_params</span><span class='rparen'>)</span>
|
919
|
+
<span class='ivar'>@form_params</span> <span class='op'>=</span> <span class='id identifier rubyid_new_form_params'>new_form_params</span>
|
920
|
+
<span class='kw'>end</span></pre>
|
921
|
+
</td>
|
922
|
+
</tr>
|
923
|
+
</table>
|
849
924
|
</div>
|
850
925
|
|
851
926
|
<div class="method_details ">
|
@@ -874,13 +949,6 @@
|
|
874
949
|
<pre class="lines">
|
875
950
|
|
876
951
|
|
877
|
-
130
|
878
|
-
131
|
879
|
-
132
|
880
|
-
133
|
881
|
-
134
|
882
|
-
135
|
883
|
-
136
|
884
952
|
137
|
885
953
|
138
|
886
954
|
139
|
@@ -891,10 +959,17 @@
|
|
891
959
|
144
|
892
960
|
145
|
893
961
|
146
|
894
|
-
147
|
962
|
+
147
|
963
|
+
148
|
964
|
+
149
|
965
|
+
150
|
966
|
+
151
|
967
|
+
152
|
968
|
+
153
|
969
|
+
154</pre>
|
895
970
|
</td>
|
896
971
|
<td>
|
897
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
972
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 137</span>
|
898
973
|
|
899
974
|
<span class='kw'>def</span> <span class='id identifier rubyid_pw_field'>pw_field</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_input_opts'>input_opts</span><span class='rparen'>)</span>
|
900
975
|
<span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>The `pw_field` method may only be called inside `form_fields` for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='ivar'>@simpleform</span>
|
@@ -945,17 +1020,17 @@
|
|
945
1020
|
<pre class="lines">
|
946
1021
|
|
947
1022
|
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
954
|
-
|
955
|
-
|
1023
|
+
232
|
1024
|
+
233
|
1025
|
+
234
|
1026
|
+
235
|
1027
|
+
236
|
1028
|
+
237
|
1029
|
+
238
|
1030
|
+
239</pre>
|
956
1031
|
</td>
|
957
1032
|
<td>
|
958
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1033
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 232</span>
|
959
1034
|
|
960
1035
|
<span class='kw'>def</span> <span class='id identifier rubyid_schema'>schema</span><span class='lparen'>(</span><span class='id identifier rubyid_wrapper_key'>wrapper_key</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
961
1036
|
<span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
|
@@ -996,7 +1071,6 @@
|
|
996
1071
|
<pre class="lines">
|
997
1072
|
|
998
1073
|
|
999
|
-
68
|
1000
1074
|
69
|
1001
1075
|
70
|
1002
1076
|
71
|
@@ -1009,10 +1083,11 @@
|
|
1009
1083
|
78
|
1010
1084
|
79
|
1011
1085
|
80
|
1012
|
-
81
|
1086
|
+
81
|
1087
|
+
82</pre>
|
1013
1088
|
</td>
|
1014
1089
|
<td>
|
1015
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1090
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 69</span>
|
1016
1091
|
|
1017
1092
|
<span class='kw'>def</span> <span class='id identifier rubyid_schema_block_for'>schema_block_for</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
|
1018
1093
|
<span class='kw'>if</span> <span class='ivar'>@schema_block</span>
|
@@ -1036,7 +1111,7 @@
|
|
1036
1111
|
<div class="method_details ">
|
1037
1112
|
<h3 class="signature " id="schema_field-instance_method">
|
1038
1113
|
|
1039
|
-
#<strong>schema_field</strong>(field_name) ⇒ <tt>Object</tt> <span class="extras">(protected)</span>
|
1114
|
+
#<strong>schema_field</strong>(field_name, multilang: false) ⇒ <tt>Object</tt> <span class="extras">(protected)</span>
|
1040
1115
|
|
1041
1116
|
|
1042
1117
|
|
@@ -1045,7 +1120,7 @@
|
|
1045
1120
|
</h3><div class="docstring">
|
1046
1121
|
<div class="discussion">
|
1047
1122
|
|
1048
|
-
<p>DSL method, adds a new field to the schema whitelisting a single field of data_class This auto-generates the correct schema line for the field
|
1123
|
+
<p>DSL method, adds a new field to the schema whitelisting a single field of data_class This auto-generates the correct schema line for the field. If multilang is true, a suffixed field is generated for every available locale (useful with gem “mobility”)</p>
|
1049
1124
|
|
1050
1125
|
|
1051
1126
|
</div>
|
@@ -1059,38 +1134,46 @@
|
|
1059
1134
|
<pre class="lines">
|
1060
1135
|
|
1061
1136
|
|
1062
|
-
176
|
1063
|
-
177
|
1064
|
-
178
|
1065
|
-
179
|
1066
|
-
180
|
1067
|
-
181
|
1068
|
-
182
|
1069
|
-
183
|
1070
|
-
184
|
1071
|
-
185
|
1072
|
-
186
|
1073
|
-
187
|
1074
|
-
188
|
1075
1137
|
189
|
1076
|
-
190
|
1138
|
+
190
|
1139
|
+
191
|
1140
|
+
192
|
1141
|
+
193
|
1142
|
+
194
|
1143
|
+
195
|
1144
|
+
196
|
1145
|
+
197
|
1146
|
+
198
|
1147
|
+
199
|
1148
|
+
200
|
1149
|
+
201
|
1150
|
+
202
|
1151
|
+
203
|
1152
|
+
204
|
1153
|
+
205
|
1154
|
+
206
|
1155
|
+
207</pre>
|
1077
1156
|
</td>
|
1078
1157
|
<td>
|
1079
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1158
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 189</span>
|
1080
1159
|
|
1081
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_schema_field'>schema_field</span><span class='lparen'>(</span><span class='id identifier rubyid_field_name'>field_name</span><span class='rparen'>)</span>
|
1082
|
-
<span class='
|
1083
|
-
</span>
|
1084
|
-
|
1085
|
-
|
1086
|
-
<span class='
|
1087
|
-
|
1088
|
-
<span class='
|
1089
|
-
|
1160
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_schema_field'>schema_field</span><span class='lparen'>(</span><span class='id identifier rubyid_field_name'>field_name</span><span class='comma'>,</span> <span class='label'>multilang:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1161
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_multilang'>multilang</span>
|
1162
|
+
<span class='const'>I18n</span><span class='period'>.</span><span class='id identifier rubyid_available_locales'>available_locales</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_locale'>locale</span><span class='op'>|</span> <span class='id identifier rubyid_schema_field'>schema_field</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field_name'>field_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_locale'>locale</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
1163
|
+
<span class='kw'>else</span>
|
1164
|
+
<span class='comment'># This runs upon component setup.
|
1165
|
+
</span> <span class='ivar'>@schema_lines_for_data</span> <span class='op'><<</span> <span class='id identifier rubyid_proc'>proc</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_controller'>controller</span><span class='op'>|</span>
|
1166
|
+
<span class='comment'># This runs within a request context.
|
1167
|
+
</span> <span class='id identifier rubyid_field'>field</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='id identifier rubyid_field_name'>field_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No field </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field_name'>field_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> found for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1168
|
+
<span class='comment'># Check per-field authorization
|
1169
|
+
</span> <span class='kw'>if</span> <span class='ivar'>@cancancan_action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&&</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_current_ability'>current_ability</span><span class='period'>.</span><span class='id identifier rubyid_permitted_attributes'>permitted_attributes</span><span class='lparen'>(</span><span class='ivar'>@cancancan_action</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_exclude?'>exclude?</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
|
1170
|
+
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='kw'>do</span>
|
1171
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipping form schema_field </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field_name'>field_name</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> because the current user is not allowed to perform </span><span class='embexpr_beg'>#{</span><span class='ivar'>@cancancan_action</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> on </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data'>data</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
1172
|
+
<span class='kw'>end</span>
|
1173
|
+
<span class='kw'>next</span> <span class='kw'>nil</span>
|
1090
1174
|
<span class='kw'>end</span>
|
1091
|
-
<span class='kw'>next</span> <span class='
|
1175
|
+
<span class='kw'>next</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_schema_line'>schema_line</span>
|
1092
1176
|
<span class='kw'>end</span>
|
1093
|
-
<span class='kw'>next</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_schema_line'>schema_line</span>
|
1094
1177
|
<span class='kw'>end</span>
|
1095
1178
|
<span class='kw'>end</span></pre>
|
1096
1179
|
</td>
|
@@ -1124,12 +1207,12 @@
|
|
1124
1207
|
<pre class="lines">
|
1125
1208
|
|
1126
1209
|
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1210
|
+
227
|
1211
|
+
228
|
1212
|
+
229</pre>
|
1130
1213
|
</td>
|
1131
1214
|
<td>
|
1132
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1215
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 227</span>
|
1133
1216
|
|
1134
1217
|
<span class='kw'>def</span> <span class='id identifier rubyid_schema_fields'>schema_fields</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_field_names'>field_names</span><span class='rparen'>)</span>
|
1135
1218
|
<span class='id identifier rubyid_field_names'>field_names</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_field_name'>field_name</span><span class='op'>|</span> <span class='id identifier rubyid_schema_field'>schema_field</span><span class='lparen'>(</span><span class='id identifier rubyid_field_name'>field_name</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
@@ -1165,12 +1248,12 @@
|
|
1165
1248
|
<pre class="lines">
|
1166
1249
|
|
1167
1250
|
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1251
|
+
182
|
1252
|
+
183
|
1253
|
+
184</pre>
|
1171
1254
|
</td>
|
1172
1255
|
<td>
|
1173
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1256
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 182</span>
|
1174
1257
|
|
1175
1258
|
<span class='kw'>def</span> <span class='id identifier rubyid_schema_line'>schema_line</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1176
1259
|
<span class='ivar'>@schema_lines_for_data</span> <span class='op'><<</span> <span class='id identifier rubyid_proc'>proc</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid__data'>_data</span><span class='comma'>,</span> <span class='id identifier rubyid__controller'>_controller</span><span class='op'>|</span> <span class='id identifier rubyid_block'>block</span> <span class='rbrace'>}</span>
|
@@ -1206,23 +1289,23 @@
|
|
1206
1289
|
<pre class="lines">
|
1207
1290
|
|
1208
1291
|
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1292
|
+
211
|
1293
|
+
212
|
1294
|
+
213
|
1295
|
+
214
|
1296
|
+
215
|
1297
|
+
216
|
1298
|
+
217
|
1299
|
+
218
|
1300
|
+
219
|
1301
|
+
220
|
1302
|
+
221
|
1303
|
+
222
|
1304
|
+
223
|
1305
|
+
224</pre>
|
1223
1306
|
</td>
|
1224
1307
|
<td>
|
1225
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1308
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 211</span>
|
1226
1309
|
|
1227
1310
|
<span class='kw'>def</span> <span class='id identifier rubyid_schema_pw_field'>schema_pw_field</span><span class='lparen'>(</span><span class='id identifier rubyid_field_name'>field_name</span><span class='rparen'>)</span>
|
1228
1311
|
<span class='comment'># This runs upon component setup.
|
@@ -1231,7 +1314,7 @@
|
|
1231
1314
|
</span> <span class='comment'># Check per-field authorization
|
1232
1315
|
</span> <span class='kw'>unless</span> <span class='ivar'>@cancancan_action</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_current_ability'>current_ability</span><span class='period'>.</span><span class='id identifier rubyid_can?'>can?</span><span class='lparen'>(</span><span class='symbol'>:set_password</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
1233
1316
|
<span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='kw'>do</span>
|
1234
|
-
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipping form schema_pw_field </span><span class='embexpr_beg'>#{</span><span class='id identifier
|
1317
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipping form schema_pw_field </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_field_name'>field_name</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> because the current user is not allowed to perform :set_password on </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data'>data</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
1235
1318
|
<span class='kw'>end</span>
|
1236
1319
|
<span class='kw'>next</span> <span class='kw'>nil</span>
|
1237
1320
|
<span class='kw'>end</span>
|
@@ -1269,17 +1352,17 @@
|
|
1269
1352
|
<pre class="lines">
|
1270
1353
|
|
1271
1354
|
|
1272
|
-
58
|
1273
1355
|
59
|
1274
1356
|
60
|
1275
1357
|
61
|
1276
1358
|
62
|
1277
1359
|
63
|
1278
1360
|
64
|
1279
|
-
65
|
1361
|
+
65
|
1362
|
+
66</pre>
|
1280
1363
|
</td>
|
1281
1364
|
<td>
|
1282
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1365
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 59</span>
|
1283
1366
|
|
1284
1367
|
<span class='kw'>def</span> <span class='id identifier rubyid_schema_wrapper_key_for'>schema_wrapper_key_for</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
|
1285
1368
|
<span class='kw'>if</span> <span class='ivar'>@schema_wrapper_key</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
|
@@ -1320,12 +1403,12 @@
|
|
1320
1403
|
<pre class="lines">
|
1321
1404
|
|
1322
1405
|
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1406
|
+
242
|
1407
|
+
243
|
1408
|
+
244</pre>
|
1326
1409
|
</td>
|
1327
1410
|
<td>
|
1328
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1411
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 242</span>
|
1329
1412
|
|
1330
1413
|
<span class='kw'>def</span> <span class='id identifier rubyid_skip_autofocus'>skip_autofocus</span>
|
1331
1414
|
<span class='ivar'>@skip_autofocus</span> <span class='op'>=</span> <span class='kw'>true</span>
|
@@ -1369,17 +1452,17 @@
|
|
1369
1452
|
<pre class="lines">
|
1370
1453
|
|
1371
1454
|
|
1372
|
-
87
|
1373
1455
|
88
|
1374
1456
|
89
|
1375
1457
|
90
|
1376
1458
|
91
|
1377
1459
|
92
|
1378
1460
|
93
|
1379
|
-
94
|
1461
|
+
94
|
1462
|
+
95</pre>
|
1380
1463
|
</td>
|
1381
1464
|
<td>
|
1382
|
-
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line
|
1465
|
+
<pre class="code"><span class="info file"># File 'lib/compony/components/form.rb', line 88</span>
|
1383
1466
|
|
1384
1467
|
<span class='kw'>def</span> <span class='id identifier rubyid_with_simpleform'>with_simpleform</span><span class='lparen'>(</span><span class='id identifier rubyid_simpleform'>simpleform</span><span class='comma'>,</span> <span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
|
1385
1468
|
<span class='ivar'>@simpleform</span> <span class='op'>=</span> <span class='id identifier rubyid_simpleform'>simpleform</span>
|
@@ -1399,7 +1482,7 @@
|
|
1399
1482
|
</div>
|
1400
1483
|
|
1401
1484
|
<div id="footer">
|
1402
|
-
Generated on
|
1485
|
+
Generated on Mon Apr 7 13:00:53 2025 by
|
1403
1486
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1404
1487
|
0.9.37 (ruby-3.3.5).
|
1405
1488
|
</div>
|