servdir 0.0.4 → 0.1.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.
Files changed (7) hide show
  1. data/Gemfile +7 -4
  2. data/Gemfile.lock +71 -0
  3. data/Rakefile +1 -1
  4. data/VERSION +1 -1
  5. data/bin/servdir +23 -20
  6. data/lib/servdir.rb +9 -13
  7. metadata +107 -86
data/Gemfile CHANGED
@@ -3,11 +3,14 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
+ gem 'thin'
7
+ gem 'rack'
8
+
6
9
  # Add dependencies to develop your gem here.
7
10
  # Include everything needed to run rake, tests, features, etc.
8
11
  group :development do
9
- gem "rspec", "~> 2.3.0"
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
12
- gem "rcov", ">= 0"
12
+ gem "rspec"
13
+ gem "bundler"
14
+ gem "jeweler"
15
+ gem "rake"
13
16
  end
data/Gemfile.lock ADDED
@@ -0,0 +1,71 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.3.5)
5
+ builder (3.2.2)
6
+ daemons (1.1.9)
7
+ diff-lcs (1.2.5)
8
+ eventmachine (1.0.3)
9
+ faraday (0.8.8)
10
+ multipart-post (~> 1.2.0)
11
+ git (1.2.6)
12
+ github_api (0.10.1)
13
+ addressable
14
+ faraday (~> 0.8.1)
15
+ hashie (>= 1.2)
16
+ multi_json (~> 1.4)
17
+ nokogiri (~> 1.5.2)
18
+ oauth2
19
+ hashie (2.0.5)
20
+ highline (1.6.20)
21
+ httpauth (0.2.0)
22
+ jeweler (1.8.8)
23
+ builder
24
+ bundler (~> 1.0)
25
+ git (>= 1.2.5)
26
+ github_api (= 0.10.1)
27
+ highline (>= 1.6.15)
28
+ nokogiri (= 1.5.10)
29
+ rake
30
+ rdoc
31
+ json (1.8.1)
32
+ jwt (0.1.8)
33
+ multi_json (>= 1.5)
34
+ multi_json (1.8.2)
35
+ multi_xml (0.5.5)
36
+ multipart-post (1.2.0)
37
+ nokogiri (1.5.10)
38
+ oauth2 (0.9.2)
39
+ faraday (~> 0.8)
40
+ httpauth (~> 0.2)
41
+ jwt (~> 0.1.4)
42
+ multi_json (~> 1.0)
43
+ multi_xml (~> 0.5)
44
+ rack (~> 1.2)
45
+ rack (1.5.2)
46
+ rake (10.1.0)
47
+ rdoc (4.0.1)
48
+ json (~> 1.4)
49
+ rspec (2.14.1)
50
+ rspec-core (~> 2.14.0)
51
+ rspec-expectations (~> 2.14.0)
52
+ rspec-mocks (~> 2.14.0)
53
+ rspec-core (2.14.7)
54
+ rspec-expectations (2.14.4)
55
+ diff-lcs (>= 1.1.3, < 2.0)
56
+ rspec-mocks (2.14.4)
57
+ thin (1.6.1)
58
+ daemons (>= 1.0.9)
59
+ eventmachine (>= 1.0.0)
60
+ rack (>= 1.0.0)
61
+
62
+ PLATFORMS
63
+ ruby
64
+
65
+ DEPENDENCIES
66
+ bundler
67
+ jeweler
68
+ rack
69
+ rake
70
+ rspec
71
+ thin
data/Rakefile CHANGED
@@ -39,7 +39,7 @@ end
39
39
 
40
40
  task :default => :spec
41
41
 
42
- require 'rake/rdoctask'
42
+ require 'rdoc/task'
43
43
  Rake::RDocTask.new do |rdoc|
44
44
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
45
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.1.0
data/bin/servdir CHANGED
@@ -7,28 +7,31 @@
7
7
  require 'optparse'
8
8
  require 'servdir'
9
9
 
10
- options = {:port => 2000, :dir => "."}
11
- opts = OptionParser.new do |opts|
12
- opts.banner = "\nUse Webrick to serve a directory or a file over HTTP \n
13
- Usage: servdir.rb [-d dir] [-p port]"
14
- opts.separator ""
10
+ options = {}
11
+ cliopts = OptionParser.new do |opts|
12
+ opts.banner = "\nUse Webrick to serve a directory or a file over HTTP \n
13
+ Usage: servdir.rb [-d dir] [-p port]"
14
+ opts.separator ""
15
15
  opts.separator "Options:"
16
16
 
17
- opts.on("-d [dir]", "--directory [dir]", String,
18
- "The directory you want to serve. You can also serve a single file.") do |d|
19
- options[:dir] = d
20
- end
21
-
22
- opts.on("-p [port]", "--port [port]", String,
23
- "Port number, default is 2000") do |p|
24
- options[:port] = p.to_i
25
- end
17
+ options[:dir] = Dir.pwd
18
+ opts.on("-d [dir]", "--directory [dir]", String,
19
+ "The directory you want to serve. You can also serve a single file.") do |d|
20
+ options[:dir] = d
21
+ end
26
22
 
27
- opts.on_tail("-h", "--help", "Show this message") do
28
- puts opts
29
- exit
30
- end
23
+ options[:port] = 2000
24
+ opts.on("-p [port]", "--port [port]", String,
25
+ "Port number, default is 2000") do |p|
26
+ options[:port] = p.to_i
27
+ end
28
+
29
+ opts.on_tail("-h", "--help", "Show this message") do
30
+ puts opts
31
+ exit
32
+ end
31
33
  end
32
-
33
- opts.parse(ARGV)
34
+
35
+ cliopts.parse(ARGV)
36
+
34
37
  Servdir.new(options[:dir], options[:port])
data/lib/servdir.rb CHANGED
@@ -3,19 +3,15 @@
3
3
  # Serves the files in a folder over HTTP
4
4
  #
5
5
 
6
- require 'webrick'
6
+ require 'thin'
7
+ require 'rack'
8
+ require 'socket'
7
9
 
8
10
  class Servdir
9
- def initialize(dir = ".", port = 2000)
10
- @dir = dir
11
- @port = port
12
-
13
- s = WEBrick::HTTPServer.new(
14
- :Port => @port,
15
- :DocumentRoot => @dir,
16
- :FancyIndexing => true
17
- )
18
- trap("INT"){ s.shutdown }
19
- s.start
20
- end
11
+ def initialize(dir, port)
12
+ Thin::Server.start("0.0.0.0", port) do
13
+ #use Rack::CommonLogger
14
+ run Rack::Directory.new(dir)
15
+ end
16
+ end
21
17
  end
metadata CHANGED
@@ -1,97 +1,125 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: servdir
3
- version: !ruby/object:Gem::Version
4
- hash: 23
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 4
10
- version: 0.0.4
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Doug P.
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-05-13 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-11-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: thin
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rack
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
21
39
  prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
22
47
  name: rspec
23
- requirement: &id001 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
24
49
  none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 2
31
- - 3
32
- - 0
33
- version: 2.3.0
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
34
54
  type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
55
  prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
38
63
  name: bundler
39
- requirement: &id002 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
40
65
  none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 23
45
- segments:
46
- - 1
47
- - 0
48
- - 0
49
- version: 1.0.0
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
50
70
  type: :development
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
71
  prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
54
79
  name: jeweler
55
- requirement: &id003 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
56
81
  none: false
57
- requirements:
58
- - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 7
61
- segments:
62
- - 1
63
- - 5
64
- - 2
65
- version: 1.5.2
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
66
86
  type: :development
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
87
  prerelease: false
70
- name: rcov
71
- requirement: &id004 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
72
89
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 3
77
- segments:
78
- - 0
79
- version: "0"
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rake
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
80
102
  type: :development
81
- version_requirements: *id004
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
82
110
  description: Quickly and easily serve a directory or file over HTTP.
83
111
  email: dougtko@gmail.com
84
- executables:
112
+ executables:
85
113
  - servdir
86
114
  extensions: []
87
-
88
- extra_rdoc_files:
115
+ extra_rdoc_files:
89
116
  - LICENSE.txt
90
117
  - README.rdoc
91
- files:
118
+ files:
92
119
  - .document
93
120
  - .rspec
94
121
  - Gemfile
122
+ - Gemfile.lock
95
123
  - LICENSE.txt
96
124
  - README.rdoc
97
125
  - Rakefile
@@ -101,38 +129,31 @@ files:
101
129
  - spec/servdir_spec.rb
102
130
  - spec/spec_helper.rb
103
131
  homepage: http://github.com/dougsko/servdir
104
- licenses:
132
+ licenses:
105
133
  - MIT
106
134
  post_install_message:
107
135
  rdoc_options: []
108
-
109
- require_paths:
136
+ require_paths:
110
137
  - lib
111
- required_ruby_version: !ruby/object:Gem::Requirement
138
+ required_ruby_version: !ruby/object:Gem::Requirement
112
139
  none: false
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- hash: 3
117
- segments:
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ segments:
118
145
  - 0
119
- version: "0"
120
- required_rubygems_version: !ruby/object:Gem::Requirement
146
+ hash: 3281873461375501607
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
148
  none: false
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- hash: 3
126
- segments:
127
- - 0
128
- version: "0"
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
129
153
  requirements: []
130
-
131
154
  rubyforge_project:
132
- rubygems_version: 1.7.2
155
+ rubygems_version: 1.8.23
133
156
  signing_key:
134
157
  specification_version: 3
135
158
  summary: Quickly and easily serve a directory or file over HTTP.
136
- test_files:
137
- - spec/servdir_spec.rb
138
- - spec/spec_helper.rb
159
+ test_files: []