Как мне запустить задачи Rake в моем приложении / среде Sinantra?

Я использую Sinatra, и я хотел настроить некоторые из удобных задач rake, которые есть в Rails, в частности ] rake db: seed .

Мой первый проход был следующим:

namespace :db do
  desc 'Load the seed data from db/seeds.rb'
  task :seed do
    seed_file = File.join(File.dirname(__FILE__), 'db', 'seeds.rb')
    system("racksh < #{seed_file}")
  end
end

racksh - жемчужина, имитирующая консоль Rails. Поэтому я просто вводил код из исходного файла прямо в него. Это работает, но явно не идеально. Что я' Я бы хотел создать задачу среды, которая позволяет запускать команды в приложении / среде Sinanta, например:

task :environment do
  # what goes here?
end

task :seed => :environment do
  seed_file = File.join(File.dirname(__FILE__), 'db', 'seeds.rb')
  load(seed_file) if File.exist?(seed_file)
end

Но я не могу понять, как настроить среду, чтобы задачи с граблями могли выполняться под Это. Любая помощь будет принята с благодарностью.

10
задан Brandon Weiss 11 September 2010 в 18:34
поделиться