module Queryable::DefaultQuery::ClassMethods

Public Instance Methods

default_query() click to toggle source

Internal: Default query for the object, can be overriden by subclasses.

Returns a criteriable or chainable query of some sort.

# File lib/queryable/default_query.rb, line 27
def default_query
  queryable_class.all
end
queryable(collection) click to toggle source

Public: Sets the default table or collection for this query object.

collection - A model or static query.

# File lib/queryable/default_query.rb, line 20
def queryable(collection)
  @queryable_class = collection
end
queryable_class() click to toggle source

Internal: Attempts to use the parent query collection (if any), and provides a default based on a convention of the query object name.

# File lib/queryable/default_query.rb, line 33
def queryable_class
  unless defined?(@queryable_class)
    @queryable_class = superclass.respond_to?(:queryable_class) &&
    superclass.queryable_class || Object.const_get(name.gsub('sQuery', ''))
  end
  @queryable_class
end