class Earth::Tasks

Public Class Methods

logger() click to toggle source
# File lib/earth/tasks.rb, line 35
def self.logger
  @logger ||= Logger.new(STDOUT)
end
new() click to toggle source
# File lib/earth/tasks.rb, line 9
def initialize
  init_earth_tasks
  init_bare unless rails?

  namespace :db do
    unless rails?
      task :create => 'earth:db:create'
      task :drop => 'earth:db:drop'
    end
    task :migrate do
      Rake::Task['earth:db:migrate'].invoke
    end
    task :seed do
      Rake::Task['earth:db:seed'].invoke
    end
  end
end

Public Instance Methods

config() click to toggle source
# File lib/earth/tasks.rb, line 50
def config
  spec = ENV['DATABASE_URL']
  resolver = ActiveRecord::Base::ConnectionSpecification::Resolver.new spec, {}
  resolver.spec.config.stringify_keys
end
init_bare() click to toggle source
# File lib/earth/tasks.rb, line 32
def init_bare
  Object.const_set 'Rails', Earth
  Earth.module_eval do
    def self.logger
      @logger ||= Logger.new(STDOUT)
    end
  end

  require 'active_record'
  load 'active_record/railties/databases.rake'

  Rake::Task['db:load_config'].clear
  Rake::Task['db:create'].clear
  Rake::Task['db:drop'].clear
  Rake::Task['db:migrate'].clear
  Rake::Task['db:seed'].clear
end
init_earth_tasks() click to toggle source
# File lib/earth/tasks.rb, line 56
def init_earth_tasks
  namespace :earth do
    namespace :db do
      task :create do
        create_database(config)
      end
      task :drop do
        drop_database_and_rescue(config)
      end
      task :load_config do
        if rails?
          Rake::Task['db:load_config'].invoke
        else
          Earth.connect
        end
      end
      task :migrate => :load_config do
        DataMiner::Run.auto_upgrade!
        Earth.reset_schemas!
      end
      task :seed => :load_config do
        require 'falls_back_on'

        FallsBackOn.clear if CacheMethod.config.generational?
        Earth.run_data_miner!
      end
    end
  end
end
rails?() click to toggle source
# File lib/earth/tasks.rb, line 27
def rails?
  return @rails unless @rails.nil?
  @rails = Object.const_defined?('Rails')
end