qserver 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in qserver.gemspec
4
+ gemspec
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
data/bin/qs ADDED
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+ require "clamp"
3
+
4
+ class RunServer < Clamp::Command
5
+ option ["-v", "--version"], :flag, "print version"
6
+ option ["-p", "--port"], "PORT", "server port", :default => "8000"
7
+
8
+ parameter "[ROOT]", "server root", :default => "."
9
+
10
+ def execute
11
+ if version?
12
+ require "qserver/version"
13
+ puts "QServer v#{QServer::VERSION} (c) James Birtles"
14
+ else
15
+ require "qserver/server"
16
+ QServer::Server.new(File.expand_path(root), port).start
17
+ end
18
+ end
19
+ end
20
+
21
+ RunServer.run
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+ require "clamp"
3
+
4
+ class RunServer < Clamp::Command
5
+ option ["-v", "--version"], :flag, "print version"
6
+ option ["-p", "--port"], "PORT", "server port", :default => "8000"
7
+
8
+ parameter "[ROOT]", "server root", :default => "."
9
+
10
+ def execute
11
+ if version?
12
+ require "qserver/version"
13
+ puts "QServer v#{QServer::VERSION} (c) James Birtles"
14
+ else
15
+ require "qserver/server"
16
+ QServer::Server.new(File.expand_path(root), port).start
17
+ end
18
+ end
19
+ end
20
+
21
+ RunServer.run
@@ -0,0 +1,2 @@
1
+ require "qserver/version"
2
+ require "qserver/server"
@@ -0,0 +1,16 @@
1
+ require "webrick"
2
+
3
+ module QServer
4
+ class Server
5
+ def initialize doc_root, port
6
+ @server = WEBrick::HTTPServer.new :DocumentRoot => doc_root, :Port => port
7
+
8
+ ['INT', 'TERM'].each { |signal| trap(signal) { @server.shutdown } }
9
+ end
10
+
11
+ def start
12
+ @server.start
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,3 @@
1
+ module QServer
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "qserver/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "qserver"
7
+ s.version = QServer::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["James Birtles"]
10
+ s.email = ["itsme@jamesbirtles.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{Quickly starts a server with current directory or one specified}
13
+ s.description = %q{This class starts a server quickly and easily in either the current directory or the specified document root}
14
+
15
+ s.rubyforge_project = "qserver"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_dependency('clamp')
23
+ end
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qserver
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.0.0
6
+ platform: ruby
7
+ authors:
8
+ - James Birtles
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-05-19 00:00:00 +01:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: clamp
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :runtime
26
+ version_requirements: *id001
27
+ description: This class starts a server quickly and easily in either the current directory or the specified document root
28
+ email:
29
+ - itsme@jamesbirtles.com
30
+ executables:
31
+ - qs
32
+ - qserver
33
+ extensions: []
34
+
35
+ extra_rdoc_files: []
36
+
37
+ files:
38
+ - .gitignore
39
+ - Gemfile
40
+ - Rakefile
41
+ - bin/qs
42
+ - bin/qserver
43
+ - lib/qserver.rb
44
+ - lib/qserver/server.rb
45
+ - lib/qserver/version.rb
46
+ - qserver.gemspec
47
+ has_rdoc: true
48
+ homepage: ""
49
+ licenses: []
50
+
51
+ post_install_message:
52
+ rdoc_options: []
53
+
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: "0"
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ requirements: []
69
+
70
+ rubyforge_project: qserver
71
+ rubygems_version: 1.6.2
72
+ signing_key:
73
+ specification_version: 3
74
+ summary: Quickly starts a server with current directory or one specified
75
+ test_files: []
76
+