Class: WorkLogServer

Inherits:
Object
  • Object
show all
Defined in:
worklog/webserver.rb

Overview

def self.call(_env)

  content = ERB.new(File.read(File.join(File.dirname(__FILE__), 'templates', 'favicon.svg.erb')))
  [200, { Rack::CONTENT_TYPE => 'image/svg+xml' }, [content.result]]
end

end

Instance Method Summary collapse

Constructor Details

#initialize(worklog_app) ⇒ WorkLogServer

Main Rack server containing all endpoints.



89
90
91
# File 'worklog/webserver.rb', line 89

def initialize(worklog_app)
  @worklog_app = worklog_app
end

Instance Method Details

#startObject



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'worklog/webserver.rb', line 93

def start
  worklog_app = @worklog_app
  app = Rack::Builder.new do
    use Rack::Deflater
    use Rack::CommonLogger
    use Rack::ShowExceptions
    use Rack::ShowStatus
    use DefaultHeaderMiddleware

    map '/' do
      run worklog_app
    end
    # TODO: Future development
    # map '/favicon.svg' do
    #   run FaviconApp
    # end
  end

  Rackup::Server.start app: app
end