class Baza

Attributes

default_db[W]

Public Class Methods

default_db() click to toggle source
# File lib/baza.rb, line 15
def self.default_db
  unless @default_db
    config_file = "#{Dir.pwd}/config/baza_database.rb"
    init_file = "#{Dir.pwd}/config/initializers/baza_database.rb"

    begin
      load(config_file)
    rescue LoadError
      load(init_file)
    end

    unless @default_db.is_a?(Baza::Db)
      raise "Config file didn't return a Baza::Db: #{@default_db.class.name}"
    end
  end

  @default_db
end
drivers() click to toggle source
# File lib/baza.rb, line 34
def self.drivers
  Enumerator.new do |yielder|
    Dir.foreach("#{File.dirname(__FILE__)}/baza/driver") do |file|
      if (match = file.match(/\A(.+?)\.rb\Z/))
        load_driver(match[1])

        driver_name = StringCases.snake_to_camel(match[1])
        yielder << {
          class: Baza::Driver.const_get(driver_name),
          snake_name: match[1],
          camel_name: driver_name
        }
      end
    end
  end
end
load_driver(name) click to toggle source
# File lib/baza.rb, line 51
def self.load_driver(name)
  require_relative "baza/driver/#{name}"

  loads = %w(databases database tables table columns column indexes index result commands)
  loads.each do |load|
    file_path = "#{File.dirname(__FILE__)}/baza/driver/#{name}/#{load}"
    require_relative file_path if File.exist?(file_path) || File.exist?("#{file_path}.rb")
  end
end