class Miniserver::Runner

Attributes

app[R]
options[R]

Public Class Methods

new(options) click to toggle source
# File lib/miniserver/runner.rb, line 5
def initialize(options)
  @options = options
end

Public Instance Methods

restart() click to toggle source
# File lib/miniserver/runner.rb, line 55
def restart
  if File.exist?(options[:pid])
    pid = File.open(options[:pid], 'r').read.to_i
    Process.kill(:HUP, pid)
  else
    raise 'Miniserver is not running.'
  end
end
start() click to toggle source
# File lib/miniserver/runner.rb, line 25
def start
  if File.exist?(options[:pid])
    pid = File.open(options[:pid], 'r').read.to_i

    if Process.running?(pid)
      raise "Miniserver has started in pid #{pid}."
    else
      File.delete(options[:pid])
    end
  end

  require 'rack/builder'

  ENV["RACK_ENV"] = options[:environment]

  @app = Rack::Builder.new_from_string(File.read(options[:rackup]))

  Server.new(app, options).start
end
status() click to toggle source
# File lib/miniserver/runner.rb, line 9
def status
  status = if File.exist?(options[:pid])
             pid = File.open(options[:pid], 'r').read.to_i

             if Process.running?(pid)
               :Started
             else
               :Stopped
             end
           else
             :Stopped
           end

  puts status
end
stop() click to toggle source
# File lib/miniserver/runner.rb, line 45
def stop
  if File.exist?(options[:pid])
    pid = File.open(options[:pid], 'r').read.to_i
    Process.kill(:INT, pid)
    File.delete(options[:pid])
  else
    raise 'Miniserver is not running.'
  end
end