Sha256: 86a961ea75659dac1248ade7358aa59c5db74634b29e9560d8dc82abda8ad21b

Contents?: true

Size: 1.63 KB

Versions: 14

Compression:

Stored size: 1.63 KB

Contents

#!/usr/bin/env ruby

require 'rbbt-util'
require 'rbbt/util/simpleopt'

$0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_commands

options = SOPT.setup <<EOF
Start an rbbt app

$ rbbt app start [options] <app_name>

-h--help Print this help
-e--environment* Execution environment: production or development
-Ho--Host* Host name
-B--Bind* Bind IP
-p--port* TCP port
-s--server* Server type:  thin, webrick, unicorn, etc
-f--finder Start server with finder functionality
-R--Rserve_session* Rserve session to use, otherwise start new one
--views* Directory with view templates
EOF

if options[:help]
  if defined? rbbt_usage
    rbbt_usage 
  else
    puts SOPT.usage
  end
  exit 0
end

options[:Port] ||= options[:port]
options[:Host] ||= "0.0.0.0"
options[:Bind] ||= "0.0.0.0"

app = ARGV.shift

ENV["RServe-session"] = options[:RServe_session] || app

app_dir = Rbbt.etc.app_dir.exists? ? Path.setup(Rbbt.etc.app_dir.read.strip) : Rbbt.apps.find

app_dir = app_dir[app]

server = options[:server] || 'puma'
Misc.in_dir(app_dir) do
  require 'rack'
  ENV["RBBT_FINDER"] = "true" if options.include?(:finder)
  ENV["RACK_ENV"] = options[:environment] if options.include?(:environment)
  ENV["RBBT_VIEWS_DIR"] = options[:views] if options.include?(:views)

  config_ru_file = File.exists?('./config.ru') ? './config.ru' : Rbbt.share['config.ru'].find

  if server == 'unicorn'
    `unicorn -c #{ Rbbt.share['unicorn.rb'].find } '#{config_ru_file}' -p #{options[:port] || "2887"}`
  else
    options[:config] = config_ru_file
    Rack::Server.start(options)
  end
end




#!/usr/bin/env ruby

require 'rbbt-util'
require 'rbbt/util/simpleopt'



Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rbbt-util-5.19.29 share/rbbt_commands/app/start
rbbt-util-5.19.28 share/rbbt_commands/app/start
rbbt-util-5.19.27 share/rbbt_commands/app/start
rbbt-util-5.19.26 share/rbbt_commands/app/start
rbbt-util-5.19.25 share/rbbt_commands/app/start
rbbt-util-5.19.24 share/rbbt_commands/app/start
rbbt-util-5.19.23 share/rbbt_commands/app/start
rbbt-util-5.19.22 share/rbbt_commands/app/start
rbbt-util-5.19.21 share/rbbt_commands/app/start
rbbt-util-5.19.20 share/rbbt_commands/app/start
rbbt-util-5.19.19 share/rbbt_commands/app/start
rbbt-util-5.19.18 share/rbbt_commands/app/start
rbbt-util-5.19.17 share/rbbt_commands/app/start
rbbt-util-5.19.16 share/rbbt_commands/app/start