servdir 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: []