module LinkedRails::Model::Indexable::ClassMethods

Public Instance Methods

collection_from_parent(params) click to toggle source
# File lib/linked_rails/model/indexable.rb, line 9
def collection_from_parent(params)
  parent = parent_from_params(params, params[:user_context])
  return if parent.blank?

  collection_name = collection_from_parent_name(parent, params)

  parent.send(collection_name, params) if collection_name
end
root_collection(params = {}) click to toggle source
# File lib/linked_rails/model/indexable.rb, line 18
def root_collection(params = {})
  return unless root_collection?

  root_collection_class.collection_or_view(root_collection_opts, params)
end
root_collection_class() click to toggle source
# File lib/linked_rails/model/indexable.rb, line 24
def root_collection_class
  LinkedRails.collection_class
end

Private Instance Methods

collection_from_parent_name(parent, _params) click to toggle source
# File lib/linked_rails/model/indexable.rb, line 30
def collection_from_parent_name(parent, _params)
  collection_name = "#{name.underscore}_collection"

  collection_name if parent.respond_to?(collection_name, true)
end
grid_max_columns() click to toggle source
# File lib/linked_rails/model/indexable.rb, line 36
def grid_max_columns; end
root_collection?() click to toggle source
# File lib/linked_rails/model/indexable.rb, line 45
def root_collection?
  true
end
root_collection_opts() click to toggle source
# File lib/linked_rails/model/indexable.rb, line 38
def root_collection_opts
  {
    association_class: self,
    grid_max_columns: grid_max_columns
  }
end