Sha256: a4ee06e265f80ee8cdcc07d699326e323566d07d6cf90d8ea3f0b86c63140ff6
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
require 'pathname' require 'extlib/pathname' require 'rails_datamapper/session_store' module Rails module DataMapper class << self extend ActiveSupport::Memoizable def create_connection # TODO: handle Rails and Merb style database.yml files conf = config.dup repositories = conf.delete(:repositories) ::DataMapper.setup(:default, conf) unless conf.empty? end private def config_file Rails.root / 'config' / 'database.yml' end def full_config YAML::load(ERB.new(config_file.read).result) end memoize :full_config def config if hash = full_config[Rails.env] || full_config[Rails.env.to_sym] normalize_config(hash) else raise ArgumentError, "missing environment '#{Rails.env}' in config file #{config_file}" end end memoize :config def normalize_config(hash) config = {} hash.symbolize_keys.each do |key, value| config[key] = if value.kind_of?(Hash) normalize_config(value) elsif key == :port value.to_i elsif key == :adapter && value == 'postgresql' 'postgres' else value end end config end end end end Rails::DataMapper.create_connection
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rails_datamapper-0.10.2 | lib/rails_datamapper.rb |
rails_datamapper-0.10.1 | lib/rails_datamapper.rb |
rails_datamapper-0.10.0 | lib/rails_datamapper.rb |