任务耙,红宝石的问题

时间:2011-03-22 14:43:10

标签: ruby rake sinatra

我有一个rake的任务,运行我的服务器sinatra,它不起作用,ruby中的相同脚本工作。为什么?我可以在rake任务中运行服务器sinatra吗?

task :server do

begin
require 'rubygems' 
require 'sinatra' 
rescue LoadError
  p "first install sinatra using:"
  p "gem install sinatra"
  exit 1
end

get '/:file_name' do |file_name|
  File.read(File.join('public', file_name))
end

exit 0
end

1 个答案:

答案 0 :(得分:3)

创建一个继承自Sinatra :: Base类的类

#app.rb
require 'sinatra'

class TestApp < Sinatra::Base
  get '/' do
    "Test"
  end
end

然后从rake运行你的应用程序:

#Rakefile
$:.unshift File.join(File.dirname(__FILE__), ".")

require 'rake'
require 'app' 

task :server do
  TestApp.run!
end