Class: ActiveRecord::ConnectionAdapters::ConnectionManagement::Proxy

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/connection_adapters/abstract/connection_pool.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(body, testing = false) ⇒ Proxy

Returns a new instance of Proxy.



410
411
412
413
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 410

def initialize(body, testing = false)
  @body    = body
  @testing = testing
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_sym, *arguments, &block) ⇒ Object



415
416
417
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 415

def method_missing(method_sym, *arguments, &block)
  @body.send(method_sym, *arguments, &block)
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



408
409
410
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 408

def body
  @body
end

#testingObject (readonly)

Returns the value of attribute testing.



408
409
410
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 408

def testing
  @testing
end

Instance Method Details

#closeObject



427
428
429
430
431
432
433
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 427

def close
  body.close if body.respond_to?(:close)

  # Don't return connection (and perform implicit rollback) if
  # this request is a part of integration test
  ActiveRecord::Base.clear_active_connections! unless testing
end

#each(&block) ⇒ Object



423
424
425
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 423

def each(&block)
  body.each(&block)
end

#respond_to?(method_sym, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


419
420
421
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 419

def respond_to?(method_sym, include_private = false)
  super || @body.respond_to?(method_sym)
end