Class: RailsMultisite::ConnectionManagement::NullInstance

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/rails_multisite/connection_management/null_instance.rb

Instance Method Summary collapse

Instance Method Details

#all_dbsObject



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_filenameObject



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_dbObject



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

Returns:

  • (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

#reloadObject



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

Raises:



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