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