Как создать сервер в Ruby (например, сервер rails или сервер gem)? - PullRequest
2 голосов
/ 20 сентября 2010

Многие ruby-фреймворки реализуют сервер для обслуживания динамических HTML-документов. Я ищу создать свой собственный сервер, чтобы я мог обслуживать свою собственную локальную документацию rdoc. Как создать сервер в ruby, например rails server или gem server? Может кто-нибудь дать мне старт или указать мне какую-то документацию о том, как это сделать? Спасибо

Ответы [ 2 ]

3 голосов
/ 20 сентября 2010

Синатра - хороший способ, особенно если вы генерируете HTML на лету. Вот быстрый пример инструмента командной строки:

example.rb:

options = {}

parser = OptionParser.new do |opts|
  opts.banner = "Usage: example [command] [options]"

  opts.on("-a", "--address HOST") { |arg| options[:bind] = arg }
  opts.on("-p", "--port PORT")    { |arg| options[:port] = arg }
end

parser.parse(ARGV)

case command = ARGV.first.to_sym
when :serve
  require "server"
  Example::Server.run! options
else
  raise "Unknown command: #{command}"
end

server.rb:

require "rubygems"
require "sinatra/base"

module Example
  class Server < Sinatra::Base
    get "/" do
      "Generate some HTML here."
    end
  end
end
2 голосов
/ 20 сентября 2010

Лично я бы использовал rdoc для создания моих документов HTML на основе комментариев в моем коде, а затем использовал стандартный сервер HTML, такой как nginx или apache, для обработки обслуживающей части. Попытка изобрести эти httpd-колеса потребует большого количества кода с вашей стороны.

В противном случае, Sinatra, как упомянуто Тоддом, и / или Rack будут хорошими отправными точками, на которых можно будет строить свою работу без полного развертывания собственного сервера. В частности, Rack был написан, чтобы упростить создание веб-сервисов, поэтому знакомство с тем, что он предлагает, сэкономит вам много работы.

http://rack.rubyforge.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...