Module: FormCore::Concerns::Models::Field
- Extended by:
- ActiveSupport::Concern
- Included in:
- Field
- Defined in:
- lib/form_core/concerns/models/field.rb
Constant Summary collapse
- NAME_REGEX =
/\A[a-z][a-z_0-9]*\z/.freeze
Instance Method Summary collapse
- #accessibility ⇒ Object
- #default_value ⇒ Object
- #interpret_to(model, overrides: {}) ⇒ Object
- #name ⇒ Object
- #stored_type ⇒ Object
Instance Method Details
#accessibility ⇒ Object
36 37 38 |
# File 'lib/form_core/concerns/models/field.rb', line 36 def accessibility self[:accessibility]&.to_sym end |
#default_value ⇒ Object
44 45 46 |
# File 'lib/form_core/concerns/models/field.rb', line 44 def default_value nil end |
#interpret_to(model, overrides: {}) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/form_core/concerns/models/field.rb', line 48 def interpret_to(model, overrides: {}) check_model_validity!(model) accessibility = overrides.fetch(:accessibility, self.accessibility) return model if accessibility == :hidden default_value = overrides.fetch(:default_value, self.default_value) model.attribute name, stored_type, default: default_value model.attr_readonly name if accessibility == :readonly interpret_validations_to model, accessibility, overrides interpret_extra_to model, accessibility, overrides model end |
#name ⇒ Object
32 33 34 |
# File 'lib/form_core/concerns/models/field.rb', line 32 def name self[:name]&.to_sym end |
#stored_type ⇒ Object
40 41 42 |
# File 'lib/form_core/concerns/models/field.rb', line 40 def stored_type raise NotImplementedError end |