Class: CrudComponents::Fields::BooleanField
- Defined in:
- lib/crud_components/fields/boolean_field.rb
Overview
boolean column: ✓/✗ cell, any/yes/no select; values cast & validated, invalid ones leave the scope unchanged.
Constant Summary collapse
- TRUE_VALUES =
Stricter than ActiveModel’s cast (which makes any junk string true): only recognizable values filter, everything else is ignored.
%w[true t 1 yes on].freeze
- FALSE_VALUES =
%w[false f 0 no off].freeze
Constants inherited from Base
CrudComponents::Fields::Base::NON_EDITABLE_COLUMNS
Instance Attribute Summary
Attributes inherited from Base
#facets, #model, #name, #options
Instance Method Summary collapse
- #apply_derived_filter(scope, exact: nil) ⇒ Object
- #default_editable? ⇒ Boolean
- #default_renderer ⇒ Object
- #derived_filter_control ⇒ Object
- #derived_filterable? ⇒ Boolean
- #derived_sortable? ⇒ Boolean
-
#filter_includes_null? ⇒ Boolean
A nullable column offers a “not set” (IS NULL) choice in the filter.
- #form_control ⇒ Object
Methods inherited from Base
#apply_filter, #apply_filter_facet, #apply_sort, #column, #custom_header?, #declared_preloads, #eager_load, #editable?, #editable_permitted?, #filter_choices, #filter_control, #filter_facet, #filterable?, #form_partial, #group_label, #group_model, #header, #header_actions, #human_name, #initialize, #nullable?, #permit_param, #permitted?, #picker_label, #range_filter?, #render_block, #renderer, #renderer_options, #sort_facet, #sortable?, #value
Constructor Details
This class inherits a constructor from CrudComponents::Fields::Base
Instance Method Details
#apply_derived_filter(scope, exact: nil) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/crud_components/fields/boolean_field.rb', line 21 def apply_derived_filter(scope, exact: nil, **) case exact&.downcase when *TRUE_VALUES then scope.where(name => true) when *FALSE_VALUES then scope.where(name => false) when CrudComponents::NULL_FILTER_VALUE then nullable? ? scope.where(name => nil) : scope else scope end end |
#default_editable? ⇒ Boolean
10 |
# File 'lib/crud_components/fields/boolean_field.rb', line 10 def default_editable? = true |
#default_renderer ⇒ Object
6 |
# File 'lib/crud_components/fields/boolean_field.rb', line 6 def default_renderer = :boolean |
#derived_filter_control ⇒ Object
9 |
# File 'lib/crud_components/fields/boolean_field.rb', line 9 def derived_filter_control = :boolean |
#derived_filterable? ⇒ Boolean
7 |
# File 'lib/crud_components/fields/boolean_field.rb', line 7 def derived_filterable? = true |
#derived_sortable? ⇒ Boolean
8 |
# File 'lib/crud_components/fields/boolean_field.rb', line 8 def derived_sortable? = true |
#filter_includes_null? ⇒ Boolean
A nullable column offers a “not set” (IS NULL) choice in the filter.
19 |
# File 'lib/crud_components/fields/boolean_field.rb', line 19 def filter_includes_null? = nullable? |
#form_control ⇒ Object
11 |
# File 'lib/crud_components/fields/boolean_field.rb', line 11 def form_control = :boolean |