class SqlcachedClient::ProxyObject

Public Class Methods

new(context) click to toggle source
# File lib/sqlcached_client/proxy_object.rb, line 4
def initialize(context)
  @context = context
end

Public Instance Methods

execute(*args, &block) click to toggle source
# File lib/sqlcached_client/proxy_object.rb, line 12
def execute(*args, &block)
  instance_exec(*args, &block)
end
method_missing(symbol, *args) click to toggle source
# File lib/sqlcached_client/proxy_object.rb, line 8
def method_missing(symbol, *args)
  @context.send(symbol, *args)
end
plug_method(method_name, &method_body) click to toggle source
# File lib/sqlcached_client/proxy_object.rb, line 16
    def plug_method(method_name, &method_body)
      memoize_var = "@m_#{method_name}"
      instance_variable_set(memoize_var, method_body)
      eval(
        <<-RUBY
          def self.#{method_name}(*args, &block)
            instance_exec(*args, block, &#{memoize_var})
          end
        RUBY
      )
      method_name.to_sym
    end