class Replicat::ScopeProxy

Public Class Methods

new(attributes) click to toggle source
# File lib/replicat/scope_proxy.rb, line 3
def initialize(attributes)
  @klass = attributes[:klass]
  @connection_name = attributes[:connection_name]
end

Private Instance Methods

method_missing(method_name, *args, &block) click to toggle source
# File lib/replicat/scope_proxy.rb, line 10
def method_missing(method_name, *args, &block)
  result = using { @klass.send(method_name, *args, &block) }
  if result.respond_to?(:scoped)
    @klass = result
    self
  else
    result
  end
end
using() { || ... } click to toggle source
# File lib/replicat/scope_proxy.rb, line 20
def using
  @klass.using(@connection_name) { yield }
end