Class: RailsMultisite::ConnectionManagement::NullInstance
- Inherits:
-
Object
- Object
- RailsMultisite::ConnectionManagement::NullInstance
- Includes:
- Singleton
- Defined in:
- lib/rails_multisite/connection_management/null_instance.rb
Instance Method Summary collapse
- #all_dbs ⇒ Object
- #clear_settings! ⇒ Object
- #config_filename ⇒ Object
- #connection_spec(_opts) ⇒ Object
- #current_db ⇒ Object
- #default_connection_handler=(_connection_handler) ⇒ Object
- #each_connection(_opts = nil, &blk) ⇒ Object
- #establish_connection(db: nil, host: nil, raise_on_missing: true) ⇒ Object
- #has_db?(db) ⇒ Boolean
- #host(env) ⇒ Object
- #reload ⇒ Object
- #with_connection(db = DEFAULT, raise_on_missing: true, &blk) ⇒ Object
- #with_hostname(hostname, raise_on_missing: true, &blk) ⇒ Object
Instance Method Details
#all_dbs ⇒ Object
26 27 28 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 26 def all_dbs [DEFAULT] end |
#clear_settings! ⇒ Object
8 9 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 8 def clear_settings! end |
#config_filename ⇒ Object
11 12 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 11 def config_filename end |
#connection_spec(_opts) ⇒ Object
30 31 32 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 30 def connection_spec(_opts) ConnectionSpecification.current end |
#current_db ⇒ Object
34 35 36 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 34 def current_db DEFAULT end |
#default_connection_handler=(_connection_handler) ⇒ Object
14 15 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 14 def default_connection_handler=(_connection_handler) end |
#each_connection(_opts = nil, &blk) ⇒ Object
38 39 40 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 38 def each_connection(_opts = nil, &blk) with_connection(&blk) end |
#establish_connection(db: nil, host: nil, raise_on_missing: true) ⇒ Object
17 18 19 20 21 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 17 def establish_connection(db: nil, host: nil, raise_on_missing: true) if !host && !has_db?(db.to_s) && raise_on_missing raise UnknownSiteError.new(db) end end |
#has_db?(db) ⇒ Boolean
42 43 44 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 42 def has_db?(db) db == DEFAULT end |
#host(env) ⇒ Object
46 47 48 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 46 def host(env) env["HTTP_HOST"] end |
#reload ⇒ Object
23 24 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 23 def reload end |
#with_connection(db = DEFAULT, raise_on_missing: true, &blk) ⇒ Object
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 50 def with_connection(db = DEFAULT, raise_on_missing: true, &blk) raise UnknownSiteError.new(db) if !has_db?(db.to_s) && raise_on_missing connected = ActiveRecord::Base.connection_pool.connected? result = blk.call(db) if !connected ActiveRecord::Base.connection_handler.clear_active_connections! end result end |
#with_hostname(hostname, raise_on_missing: true, &blk) ⇒ Object
61 62 63 |
# File 'lib/rails_multisite/connection_management/null_instance.rb', line 61 def with_hostname(hostname, raise_on_missing: true, &blk) blk.call(hostname) end |