aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/middleware/database_selector.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/middleware/database_selector.rb')
-rw-r--r--activerecord/lib/active_record/middleware/database_selector.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/middleware/database_selector.rb b/activerecord/lib/active_record/middleware/database_selector.rb
index adcfca4f8d..3ab50f5f6b 100644
--- a/activerecord/lib/active_record/middleware/database_selector.rb
+++ b/activerecord/lib/active_record/middleware/database_selector.rb
@@ -35,13 +35,14 @@ module ActiveRecord
# config.active_record.database_resolver = MyResolver
# config.active_record.database_operations = MyResolver::MySession
class DatabaseSelector
- def initialize(app, resolver_klass = Resolver, operations_klass = Resolver::Session)
+ def initialize(app, resolver_klass = Resolver, operations_klass = Resolver::Session, options = {})
@app = app
@resolver_klass = resolver_klass
@operations_klass = operations_klass
+ @options = options
end
- attr_reader :resolver_klass, :operations_klass
+ attr_reader :resolver_klass, :operations_klass, :options
# Middleware that determines which database connection to use in a multiple
# database application.
@@ -57,7 +58,7 @@ module ActiveRecord
def select_database(request, &blk)
operations = operations_klass.build(request)
- database_resolver = resolver_klass.call(operations)
+ database_resolver = resolver_klass.call(operations, options)
if reading_request?(request)
database_resolver.read(&blk)