class Slaver::ScopeProxy

Attributes

config_name[R]
klass[R]

Public Class Methods

new(klass, config_name) click to toggle source
# File lib/slaver/scope_proxy.rb, line 5
def initialize(klass, config_name)
  @klass = klass
  @config_name = config_name
end

Public Instance Methods

method_missing(method, *args, &block) click to toggle source
# File lib/slaver/scope_proxy.rb, line 15
def method_missing(method, *args, &block)
  result = self
  ::ActiveRecord::Base.within(config_name) do
    result = klass.send(method, *args, &block)

    if result.is_a?(ActiveRecord::Relation)
      @klass = result
      return self
    end
  end

  result
end
on(config_name) click to toggle source
# File lib/slaver/scope_proxy.rb, line 10
def on(config_name)
  @config_name = config_name
  self
end