Class: Formwandler::Field
- Inherits:
-
Object
- Object
- Formwandler::Field
- Defined in:
- lib/formwandler/field.rb
Instance Attribute Summary collapse
-
#field_definition ⇒ Object
readonly
Returns the value of attribute field_definition.
-
#form ⇒ Object
readonly
Returns the value of attribute form.
Instance Method Summary collapse
- #array? ⇒ Boolean
- #default ⇒ Object
- #default? ⇒ Boolean
- #delocalize ⇒ Object
- #disabled? ⇒ Boolean
- #hidden? ⇒ Boolean
-
#initialize(form:, field_definition:) ⇒ Field
constructor
A new instance of Field.
- #options ⇒ Object
- #raw_value ⇒ Object
- #readonly? ⇒ Boolean
- #value ⇒ Object
- #value=(new_value) ⇒ Object
- #visible? ⇒ Boolean
Constructor Details
#initialize(form:, field_definition:) ⇒ Field
9 10 11 12 |
# File 'lib/formwandler/field.rb', line 9 def initialize(form:, field_definition:) @form = form @field_definition = field_definition end |
Instance Attribute Details
#field_definition ⇒ Object (readonly)
Returns the value of attribute field_definition.
5 6 7 |
# File 'lib/formwandler/field.rb', line 5 def field_definition @field_definition end |
#form ⇒ Object (readonly)
Returns the value of attribute form.
5 6 7 |
# File 'lib/formwandler/field.rb', line 5 def form @form end |
Instance Method Details
#array? ⇒ Boolean
63 64 65 |
# File 'lib/formwandler/field.rb', line 63 def array? field_definition.array end |
#default ⇒ Object
55 56 57 |
# File 'lib/formwandler/field.rb', line 55 def default _evaluate_field_definition_value(:default) end |
#default? ⇒ Boolean
51 52 53 |
# File 'lib/formwandler/field.rb', line 51 def default? !field_definition.default.nil? end |
#delocalize ⇒ Object
59 60 61 |
# File 'lib/formwandler/field.rb', line 59 def delocalize _evaluate_field_definition_value(:delocalize) end |
#disabled? ⇒ Boolean
39 40 41 |
# File 'lib/formwandler/field.rb', line 39 def disabled? _evaluate_field_definition_value(:disabled) end |
#hidden? ⇒ Boolean
31 32 33 |
# File 'lib/formwandler/field.rb', line 31 def hidden? _evaluate_field_definition_value(:hidden) end |
#options ⇒ Object
47 48 49 |
# File 'lib/formwandler/field.rb', line 47 def - end |
#raw_value ⇒ Object
27 28 29 |
# File 'lib/formwandler/field.rb', line 27 def raw_value model_instance ? model_instance.public_send(field_definition.source) : @value end |
#readonly? ⇒ Boolean
43 44 45 |
# File 'lib/formwandler/field.rb', line 43 def readonly? _evaluate_field_definition_value(:readonly) end |
#value ⇒ Object
23 24 25 |
# File 'lib/formwandler/field.rb', line 23 def value transform_value(raw_value, field_definition.out_transformation) end |
#value=(new_value) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/formwandler/field.rb', line 14 def value=(new_value) new_value = transform_value(new_value, field_definition.in_transformation) if model_instance model_instance.public_send("#{field_definition.source}=", new_value) else @value = new_value end end |
#visible? ⇒ Boolean
35 36 37 |
# File 'lib/formwandler/field.rb', line 35 def visible? !hidden? end |