module Formalism::ModelForms::List
Base
form for model listing
Constants
- EAGER
Public Instance Methods
dataset()
click to toggle source
# File lib/formalism/model_forms/list.rb, line 44 def dataset return select_cached if @cached dataset = ordered_unfiltered_dataset .where(conditions_for_dataset) .eager(*self.class::EAGER) return dataset unless dataset.respond_to? :search dataset.search(search_query, self.class.search_fields) end
dataset_edges()
click to toggle source
# File lib/formalism/model_forms/list.rb, line 57 def dataset_edges [dataset.first, dataset.last] end
Private Instance Methods
cached_dataset_for_execute()
click to toggle source
# File lib/formalism/model_forms/list.rb, line 85 def cached_dataset_for_execute limit_by_page ? dataset[limit_by_page] : dataset end
execute()
click to toggle source
# File lib/formalism/model_forms/list.rb, line 63 def execute self.instance = if dataset if @cached then cached_dataset_for_execute else non_cached_dataset_for_execute.all end else [] end end
non_cached_dataset_for_execute()
click to toggle source
# File lib/formalism/model_forms/list.rb, line 89 def non_cached_dataset_for_execute dataset.where( primary_field_name => dataset.select(primary_field_name).limit(limit_by_page) ) end
ordered_unfiltered_dataset()
click to toggle source
# File lib/formalism/model_forms/list.rb, line 79 def ordered_unfiltered_dataset result = unfiltered_dataset.from_self(alias: model.table_name) result = result.reverse_order(:created_at) unless unfiltered_dataset.opts[:order] result end
unfiltered_dataset()
click to toggle source
# File lib/formalism/model_forms/list.rb, line 75 def unfiltered_dataset model.dataset end