Sha256: ab9ac3ba9c898201f6341526137f0e24273fa6179df911edcda1ec5252831dad

Contents?: true

Size: 896 Bytes

Versions: 13

Compression:

Stored size: 896 Bytes

Contents

module Distil
  
  def self.start_server(project, options)
    require 'webrick'
    require 'directory_watcher'
    
    port= options['server_port'] || 8888;
    path= options['url']
    config= {
      :Port => port
    }

    server= WEBrick::HTTPServer.new(config)
    server.mount(path || '/', WEBrick::HTTPServlet::FileHandler, project.output_path)

    ['INT', 'TERM'].each { |signal|
       trap(signal){ server.shutdown }
    }

    puts "watching #{project.folder}"
    dw = DirectoryWatcher.new(project.folder, {
      :glob=>"**/*",
      :pre_load => true,
      :interval => 1
    })
    dw.add_observer { |*args|
      args.each { |event|
        puts event
        if :modified==event.type
          puts event.path
        end
      }
    }

    dw.start
    gets
    # b= Browser.new
    # b.open("http://localhost:#{port}/#{path}")
    # server.start
    dw.stop
  end
  
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
distil-0.14.5.a lib/distil/server.rb
distil-0.14.4 lib/distil/server.rb
distil-0.14.3 lib/distil/server.rb
distil-0.14.2 lib/distil/server.rb
distil-0.14.2.a lib/distil/server.rb
distil-0.14.1 lib/distil/server.rb
distil-0.14.1.a lib/distil/server.rb
distil-0.14.0 lib/distil/server.rb
distil-0.14.0.i lib/distil/server.rb
distil-0.14.0.h lib/distil/server.rb
distil-0.14.0.g lib/distil/server.rb
distil-0.14.0.d lib/distil/server.rb
distil-0.14.0.c lib/distil/server.rb