module Mobb::ActiveRecordExtension
Public Class Methods
registered(app)
click to toggle source
# File lib/mobb/activerecord.rb, line 18 def self.registered(app) if ENV['DATABASE_URL'] app.set :database, ENV['DATABASE_URL'] elsif File.exist?("#{Dir.pwd}/config/database.yml") app.set :database_file, "#{Dir.pwd}/config/database.yml" end unless defined?(Rake) || [:test, :production].include?(app.settings.environment) ActiveRecord::Base.logger = Logger.new(STDOUT) end app.helpers ActiveRecordHelper # re-connect if database connection dropped (Rails 3 only) app.before { ActiveRecord::Base.verify_active_connections! if ActiveRecord::Base.respond_to?(:verify_active_connections!) } app.after { ActiveRecord::Base.clear_active_connections! } end
Public Instance Methods
database()
click to toggle source
# File lib/mobb/activerecord.rb, line 56 def database ActiveRecord::Base end
database=(spec)
click to toggle source
# File lib/mobb/activerecord.rb, line 42 def database=(spec) if spec.is_a?(Hash) and spec.symbolize_keys[environment.to_sym] ActiveRecord::Base.configurations = spec.stringify_keys ActiveRecord::Base.establish_connection(environment.to_sym) elsif spec.is_a?(Hash) ActiveRecord::Base.configurations[environment.to_s] = spec.stringify_keys ActiveRecord::Base.establish_connection(spec.stringify_keys) else ActiveRecord::Base.establish_connection(spec) ActiveRecord::Base.configurations ||= {} ActiveRecord::Base.configurations[environment.to_s] = ActiveRecord::ConnectionAdapters::ConnectionSpecification::ConnectionUrlResolver.new(spec).to_hash end end
database_file=(path)
click to toggle source
# File lib/mobb/activerecord.rb, line 36 def database_file=(path) path = File.join(root, path) if Pathname(path).relative? and root spec = YAML.load(ERB.new(File.read(path)).result) || {} set :database, spec end