Class: CrudComponents::Fields::NumericField

Inherits:
Base
  • Object
show all
Defined in:
lib/crud_components/fields/numeric_field.rb

Overview

numeric column: min–max range plus exact match; unparsable values ignored.

Constant Summary

Constants inherited from Base

Base::NON_EDITABLE_COLUMNS

Instance Attribute Summary

Attributes inherited from Base

#facets, #model, #name, #options

Instance Method Summary collapse

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, #filter_includes_null?, #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, geq: nil, leq: nil) ⇒ Object



12
13
14
15
16
17
# File 'lib/crud_components/fields/numeric_field.rb', line 12

def apply_derived_filter(scope, exact: nil, geq: nil, leq: nil)
  if (v = cast(exact)) then scope = scope.where(name => v) end
  if (v = cast(geq)) then scope = scope.where(arel_column.gteq(v)) end
  if (v = cast(leq)) then scope = scope.where(arel_column.lteq(v)) end
  scope
end

#default_editable?Boolean

Returns:

  • (Boolean)


9
# File 'lib/crud_components/fields/numeric_field.rb', line 9

def default_editable? = !NON_EDITABLE_COLUMNS.include?(name.to_s)

#default_rendererObject



5
# File 'lib/crud_components/fields/numeric_field.rb', line 5

def default_renderer = :number

#derived_filter_controlObject



8
# File 'lib/crud_components/fields/numeric_field.rb', line 8

def derived_filter_control = :number_range

#derived_filterable?Boolean

Returns:

  • (Boolean)


6
# File 'lib/crud_components/fields/numeric_field.rb', line 6

def derived_filterable? = true

#derived_sortable?Boolean

Returns:

  • (Boolean)


7
# File 'lib/crud_components/fields/numeric_field.rb', line 7

def derived_sortable? = true

#form_controlObject



10
# File 'lib/crud_components/fields/numeric_field.rb', line 10

def form_control = :number