class LinterServer
Public Class Methods
start(port)
click to toggle source
# File lib/servers/linter_server.rb, line 46 def self.start(port) log = WEBrick::Log.new $stdout,1 Rack::Handler::WEBrick.run(LinterServer.new, :Port => port,Logger: log ) end
Public Instance Methods
call(env)
click to toggle source
# File lib/servers/linter_server.rb, line 12 def call(env) req = Rack::Request.new(env) case req.path when "/configuration" if req.post? process_form(req) elsif req.get? configurations_page end end end
configurations_page()
click to toggle source
# File lib/servers/linter_server.rb, line 26 def configurations_page configuration_page = ConfigurationPageFacade.AssemblePage return [200, { 'Content-Type' => 'text/html' }, [configuration_page]] end
process_form(req)
click to toggle source
# File lib/servers/linter_server.rb, line 32 def process_form(req) new_conf = URI.decode_www_form(req.body.read) new_conf_hash = Hash[new_conf.map {|key, value| [key, value]}] begin ConfigurationPageFacade.ApplyConfigurations(new_conf_hash) ConfigurationFileFacade.SaveConfigurations rescue StandardError => error return [400, { 'Content-Type' => 'text/plain' }, ["Error: #{error.message}"]] end return [200, { 'Content-Type' => 'text/plain' }, ["Changes saved successfully"]] end