qserver 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
+