Почему вы пытаетесь раскошелиться и вызвать Rake из проекта Rails? Просто создайте класс, который сделает всю работу.
# lib/ts_in_delta.rb
class TsInDelta
def run
# code that does all the work here
end
end
Вы можете использовать это из Rake довольно легко:
# lib/tasks/ts_in_delta.rake
namespace :ts do
namespace :in do
task :delta => [:environment] do
TsInDelta.new.run
end
end
end
# shell
$ rake ts:in:delta
Вы также можете использовать это из любого места в вашем проекте Rails, например, из контроллера.
# app/controllers/posts_controller.rb (snippet)
class PostsController < ApplicationController
def ts_in_delta
TsInDelta.new.run
render :json => true
end
end
# config/routes.rb (snippet)
MyApp::Application.routes.draw do
resources :posts do
collection do
post 'ts_in_delta'
end
end
end