class Apartment::RakeTaskEnhancer

Public Class Methods

enhance!() click to toggle source
# File lib/apartment/tasks/enhancements.rb, line 18
def enhance!
  return unless should_enhance?

  # insert task before
  TASKS::ENHANCE_BEFORE.each do |name|
    task = Rake::Task[name]
    enhance_before_task(task)
  end

  # insert task after
  TASKS::ENHANCE_AFTER.each do |name|
    task = Rake::Task[name]
    enhance_after_task(task)
  end
end
enhance_after_task(task) click to toggle source
# File lib/apartment/tasks/enhancements.rb, line 42
def enhance_after_task(task)
  task.enhance do
    Rake::Task[inserted_task_name(task)].invoke
  end
end
enhance_before_task(task) click to toggle source
# File lib/apartment/tasks/enhancements.rb, line 38
def enhance_before_task(task)
  task.enhance([inserted_task_name(task)])
end
inserted_task_name(task) click to toggle source
# File lib/apartment/tasks/enhancements.rb, line 48
def inserted_task_name(task)
  task.name.sub(/db:/, 'apartment:')
end
should_enhance?() click to toggle source
# File lib/apartment/tasks/enhancements.rb, line 34
def should_enhance?
  Apartment.db_migrate_tenants
end