ActiveWrapper ============= Wraps ActiveRecord and Logger for use in non-Rails environments. Setup -----
sudo gem install active_wrapper
Usage -----
require 'rubygems'
require 'active_wrapper'

$db, $log, $mail = ActiveWrapper.setup(
  :base => File.dirname(__FILE__),
  :env => 'development',
  :log => 'custom',
  :stdout => true
)

$db.establish_connection
$db.generate_migration('my_migration')
$db.migrate('001')
$db.migrate_reset
$log.info('log this')
$log.clear
$mail.deliver(:from => 'me@me.com', :to => 'you@you.com', :subject => 'subject', :body => 'body')
ActiveWrapper looks for the following files within the :base directory: * config/database.yml * config/mail.yml * db/migrate/*.rb The :env option is "development" by default. Logger ------ In the previous example, the log is stored in log/custom.log. If no :log name is specified, the :env option is used for the log name. You may also set :log to false to disable logging entirely. Setting :stdout to true causes stdout and stderr to redirect to the logger. It is false by default. Mailer ------ Your mail.yml should look something like this:
development:
  smtp:
    address: smtp.gmail.com
    authentication: :plain
    domain: gmail.com
    password: password
    port: 587
    enable_starttls_auto: true
    user_name: user@gmail.com
This file is optional. Rakefile -------- Add this to your project's Rakefile for database migration and log tasks:
require 'rubygems'
require 'rake'
require 'active_wrapper/tasks'

ActiveWrapper::Tasks.new(:log => 'custom') do
  # Put stuff you would normally put in the environment task here
end
Pass the same options to ActiveWrapper::Tasks.new as you would ActiveWrapper.new.