Class: Server
Instance Method Summary collapse
- #app ⇒ Object
- #display_welcome ⇒ Object
- 
  
    
      #initialize  ⇒ Server 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Server. 
- #setup_change_listener ⇒ Object
Constructor Details
#initialize ⇒ Server
Returns a new instance of Server.
| 45 46 47 48 49 50 51 52 | # File 'lib/volt/server.rb', line 45 def initialize @app_path = File.(File.join(Dir.pwd, "app")) @component_paths = ComponentPaths.new setup_change_listener display_welcome end | 
Instance Method Details
#app ⇒ Object
| 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | # File 'lib/volt/server.rb', line 66 def app @app = Rack::Builder.new # Should only be used in production # @app.use Rack::Deflater # @app.use Rack::Chunked @app.use Rack::ContentLength @app.use Rack::KeepAlive @app.use Rack::ConditionalGet @app.use Rack::ETag @app.use Rack::CommonLogger @app.use Rack::ShowExceptions component_paths = @component_paths @app.map '/components' do run ComponentHandler.new(component_paths) end # Serve the opal files opal_files = OpalFiles.new(@app, @app_path, @component_paths) # Serve the main html files from public, also figure out # which JS/CSS files to serve. @app.use IndexFiles, @component_paths, opal_files # Handle socks js connection if RUBY_PLATFORM != 'java' component_paths.setup_components_load_path SocketConnectionHandler.dispatcher = Dispatcher.new @app.map "/channel" do run Rack::SockJS.new(SocketConnectionHandler)#, :websocket => false end end @app.use Rack::Static, :urls => ["/"], :root => "public", :index => "", :header_rules => [ [:all, {'Cache-Control' => 'public, max-age=86400'}] ] @app.run lambda{ |env| [ 404, { 'Content-Type' => 'text/html' }, ['404 - page not found'] ] } return @app end | 
#display_welcome ⇒ Object
| 54 55 56 | # File 'lib/volt/server.rb', line 54 def display_welcome puts File.read(File.join(File.dirname(__FILE__), "server/banner.txt")) end | 
#setup_change_listener ⇒ Object
| 58 59 60 61 62 63 64 | # File 'lib/volt/server.rb', line 58 def setup_change_listener # Setup the listeners for file changes listener = Listen.to("#{@app_path}/") do |modified, added, removed| SocketConnectionHandler.(nil, 'reload') end listener.start end |