Class: Multibase::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/multibase/railtie.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.database_configurationObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/multibase/railtie.rb', line 50

def self.database_configuration
  path = Rails.root.join config.multibase.path
  yaml = Pathname.new(path) if path
  @configuration ||= if yaml && yaml.exist?
    require 'yaml'
    require 'erb'
    YAML.load(ERB.new(yaml.read).result) || {}
  elsif ENV['DATABASE_URL']
    # Value from ENV['DATABASE_URL'] is set to default database connection
    # by Active Record.
    {}
  else
    raise "Could not load database configuration. No such file - #{paths["config/database"].instance_variable_get(:@paths)}"
  end
  @configuration
end

Instance Method Details

#connection?(name) ⇒ Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/multibase/railtie.rb', line 38

def connection?(name)
  connection_keys.include? name
end

#connection_keysObject



34
35
36
# File 'lib/multibase/railtie.rb', line 34

def connection_keys
  self.class.database_configuration.keys
end

#fullpath(extra = nil) ⇒ Object



29
30
31
32
# File 'lib/multibase/railtie.rb', line 29

def fullpath(extra=nil)
  path = Rails.root.join(config.multibase.db_dir)
  (extra ? path.join(path, extra) : path)
end