Sinatra应用程序的宝石

JP.*_*JP. 6 ruby gem sinatra

我有一个我创建的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)
Run Code Online (Sandbox Code Playgroud)

JP.*_*JP. 5

发现:D

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

class MySinatraApp < Sinatra::Application
  # Stuff
end
Run Code Online (Sandbox Code Playgroud)

然后在运行应用程序的文件中,你可以做MySinatraApp.run!简单:)