webify 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.md +7 -0
  2. data/bin/webify +3 -0
  3. data/lib/webify.rb +49 -0
  4. metadata +51 -0
@@ -0,0 +1,7 @@
1
+ # Webify
2
+
3
+ A simple utility that loads WEBrick for a particular directory to serve static files to your browser. Handy to test Javascript apps.
4
+
5
+ Written by Rida Al Barazi and Peter Kieltyka from Nulayer Inc.
6
+
7
+ Enjoy.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift File.expand_path(File.join(__FILE__, '../../lib'))
3
+ require 'webify'
@@ -0,0 +1,49 @@
1
+ require 'webrick'
2
+ require 'optparse'
3
+
4
+ require 'ruby-debug'
5
+
6
+ class Webify
7
+ include WEBrick
8
+
9
+ DEFAULT_PORT = 3000
10
+
11
+ def self.start(options={})
12
+ dir = File.expand_path(options[:dir] || Dir::pwd)
13
+ port = options[:port] || DEFAULT_PORT
14
+
15
+ msg = "Serving: #{dir}\nURL: http://#{Socket.gethostname}:#{port}"
16
+
17
+ puts "="*80
18
+ puts "#{msg}\n"
19
+ puts ("="*80)+"\n\n"
20
+
21
+ server = HTTPServer.new(
22
+ :Port => port,
23
+ :DocumentRoot => dir
24
+ )
25
+
26
+ trap('INT') { server.shutdown }
27
+ server.start
28
+ end
29
+ end
30
+
31
+ options = {
32
+ :port => Webify::DEFAULT_PORT,
33
+ :dir => Dir.pwd
34
+ }
35
+
36
+ options_parser = OptionParser.new do |opts|
37
+ opts.banner = "Webify -- serve any directory to your browser\n"+
38
+ "Usage: webify [options]"
39
+
40
+ opts.separator ""
41
+ opts.separator "Server options:"
42
+
43
+ opts.on('-p', '--port PORT', "Use PORT (default: #{options[:port]})") {|val| options[:port] = val }
44
+ opts.on('-d', '--dir DIRECTORY', "Document root DIRECTORY (default: #{options[:dir]})") {|val| options[:dir] = val }
45
+ opts.on('-h', '--help', 'Display this help message') { puts opts; exit! }
46
+ end
47
+ options_parser.parse!(ARGV)
48
+
49
+ Webify.start(options)
metadata ADDED
@@ -0,0 +1,51 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: webify
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rida Al Barazi
9
+ - Peter Kieltyka
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2011-09-28 00:00:00.000000000Z
14
+ dependencies: []
15
+ description: Serve any directory to your browser
16
+ email:
17
+ - rida@nulayer.com
18
+ - peter@nulayer.com
19
+ executables:
20
+ - webify
21
+ extensions: []
22
+ extra_rdoc_files: []
23
+ files:
24
+ - README.md
25
+ - lib/webify.rb
26
+ - bin/webify
27
+ homepage: http://github.com/nulayer/webify
28
+ licenses: []
29
+ post_install_message:
30
+ rdoc_options: []
31
+ require_paths:
32
+ - lib
33
+ required_ruby_version: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ required_rubygems_version: !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: 1.3.6
45
+ requirements: []
46
+ rubyforge_project:
47
+ rubygems_version: 1.8.9
48
+ signing_key:
49
+ specification_version: 3
50
+ summary: Serve any directory to your browser
51
+ test_files: []