module ActiveHouse::Querying::Scope

Public Instance Methods

_apply_default_scope() click to toggle source
# File lib/active_house/querying/scope.rb, line 18
def _apply_default_scope
  return self if model_class._default_scope.nil?
  apply_scope(model_class._default_scope)
end
apply_scope(name, *args) click to toggle source
# File lib/active_house/querying/scope.rb, line 35
def apply_scope(name, *args)
  scope = model_class._scopes.fetch(name)
  instance_exec(*args, &scope)
end
method_missing(method_name, *args, &_block) click to toggle source
Calls superclass method
# File lib/active_house/querying/scope.rb, line 27
def method_missing(method_name, *args, &_block)
  if scope?(method_name)
    apply_scope(method_name, *args)
  else
    super
  end
end
new(*) click to toggle source
Calls superclass method
# File lib/active_house/querying/scope.rb, line 13
def new(*)
  super._apply_default_scope
end
respond_to_missing?(method_name, *_args) click to toggle source
Calls superclass method
# File lib/active_house/querying/scope.rb, line 23
def respond_to_missing?(method_name, *_args)
  scope?(method_name) || super
end
scope?(name) click to toggle source
# File lib/active_house/querying/scope.rb, line 40
def scope?(name)
  model_class.scope?(name.to_sym)
end