Sinatra应用程序的宝石

时间:2010-04-06 09:59:55

标签: ruby sinatra gem

我有一个我创建的Sinatra应用程序,我想将其打包为基于gem的二进制文件。

我设置了gemspec和gem来生成一个指向my_sinatra_app.rb(可执行)的合适的可执行文件,但sinatra服务器永远不会运行。任何想法为什么以及如何使它发挥作用?

my_sinatra_app可执行文件:

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
#
# This file was generated by RubyGems.
require 'rubygems'

version = ">= 0"

if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
  version = $1
  ARGV.shift
end

gem 'my_sinatra_app', version
load Gem.bin_path('my_sinatra_app', 'my_sinatra_app', version)

1 个答案:

答案 0 :(得分:5)

发现:D

您需要将Sinatra应用程序包装在类似的类中:

class MySinatraApp < Sinatra::Application
  # Stuff
end

然后在运行应用程序的文件中,您只需执行MySinatraApp.run!简单:)