module NoBrainer::Document::Criteria::ClassMethods

Public Instance Methods

all() click to toggle source
# File lib/no_brainer/document/criteria.rb, line 38
def all
  NoBrainer::Criteria.new(:initial_run_options => NoBrainer.current_run_options,
                          :model => self)
end
default_scope(criteria=nil, &block) click to toggle source
# File lib/no_brainer/document/criteria.rb, line 51
def default_scope(criteria=nil, &block)
  criteria_proc = block || (criteria.is_a?(Proc) ? criteria : proc { criteria })
  raise "default_scope only accepts a criteria or a proc that returns criteria" unless criteria_proc.is_a?(Proc)

  subclass_tree.each do |subclass|
    subclass.default_scopes << criteria_proc
  end
end
disable_perf_warnings() click to toggle source
# File lib/no_brainer/document/criteria.rb, line 65
def disable_perf_warnings
  self.perf_warnings_disabled = true
end
inherited(subclass) click to toggle source
Calls superclass method
# File lib/no_brainer/document/criteria.rb, line 60
def inherited(subclass)
  subclass.default_scopes = self.default_scopes.dup
  super
end
scope(name, criteria=nil, &block) click to toggle source
# File lib/no_brainer/document/criteria.rb, line 43
def scope(name, criteria=nil, &block)
  criteria ||= block
  criteria_proc = criteria.is_a?(Proc) ? criteria : proc { criteria }
  singleton_class.class_eval do
    define_method(name) { |*args| criteria_proc.call(*args) }
  end
end