class Daneel::Server
Attributes
logger[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/daneel/server.rb, line 8 def initialize(options = {}) require 'daneel/web' @logger = options[:logger] || Daneel::Logger.new @options = {:app => Daneel::Web, :server => "puma"}.merge(options) @options[:port] = ENV["PORT"] if ENV["PORT"] # Rack expects the port key to be capitalized. Sad day. @options[:Port] = @options.delete(:port) if @options[:port] logger.debug "Server with options: #{@options}" end
Public Instance Methods
run()
click to toggle source
# File lib/daneel/server.rb, line 18 def run Thread.new { run_server } sleep 0.1 # boot server before allowing possible interaction Thread.new { run_self_ping } end
run_self_ping()
click to toggle source
# File lib/daneel/server.rb, line 28 def run_self_ping return unless ENV['HEROKU_URL'] uri = URI(ENV['HEROKU_URL']) http = Net::HTTP::Persistent.new 'daneel' loop do http.request uri sleep (60 * 20) # 20m end end
run_server()
click to toggle source
# File lib/daneel/server.rb, line 24 def run_server Rack::Server.start(@options) end