Class: Alchemy::Ingredients::Select
- Inherits:
-
Alchemy::Ingredient
- Object
- ActiveRecord::Base
- BaseRecord
- Alchemy::Ingredient
- Alchemy::Ingredients::Select
- Defined in:
- app/models/alchemy/ingredients/select.rb
Overview
A text value from a select box
Constant Summary
Constants included from SearchableResource
SearchableResource::SEARCHABLE_COLUMN_TYPES
Instance Method Summary collapse
-
#multiple? ⇒ Boolean
Check if multiple selection is enabled in settings.
-
#value ⇒ Object
Override value getter to handle multiple selection.
-
#value=(new_value) ⇒ Object
Override value setter to handle multiple selection.
Methods inherited from Alchemy::Ingredient
allow_settings, allowed_settings, #as_editor_component, #as_view_component, #definition, #deprecated?, #has_tinymce?, #has_validations?, #linked?, normalize_type, #partial_name, #preview_ingredient?, #preview_text, related_object_alias, #settings, translated_label_for, #translated_role
Methods included from ConfigMissing
Methods included from SearchableResource
#ransackable_associations, #ransackable_attributes, #ransackable_scopes, #ransortable_attributes
Instance Method Details
#multiple? ⇒ Boolean
Check if multiple selection is enabled in settings
25 26 27 |
# File 'app/models/alchemy/ingredients/select.rb', line 25 def multiple? settings[:multiple] == true end |
#value ⇒ Object
Override value getter to handle multiple selection
14 15 16 17 |
# File 'app/models/alchemy/ingredients/select.rb', line 14 def value val = self[:value] || [] multiple? ? val : val.first end |
#value=(new_value) ⇒ Object
Override value setter to handle multiple selection
20 21 22 |
# File 'app/models/alchemy/ingredients/select.rb', line 20 def value=(new_value) super(Array(new_value).compact_blank) end |