madness 0.3.1 → 0.4.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.
- checksums.yaml +4 -4
- data/lib/madness.rb +1 -1
- data/lib/madness/server_base.rb +1 -1
- data/lib/madness/try_static.rb +39 -0
- data/lib/madness/version.rb +1 -1
- metadata +27 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9d689d84e942b4202cd7f75774377232bbff486a
|
|
4
|
+
data.tar.gz: e7ca04820360f55634fdf4bc7e43bc51e9711709
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 194295cd30781107963f1c9af70fe64b748ec5184e2ccfd97f1dd6c671878686fa7fde367fae16ecd8c642f96326209c6f24fd88577669386ee36db0fb2110fc
|
|
7
|
+
data.tar.gz: 79c1de311e52ef1ddb55b7afd06837ee2a02561c38a271c5a3d1241460852e9a72f799a0c90e09939744c435cecbd0546265c2361cb010c62c02263a3658daeb
|
data/lib/madness.rb
CHANGED
|
@@ -11,10 +11,10 @@ require 'sinatra/reloader'
|
|
|
11
11
|
require 'sass/plugin/rack'
|
|
12
12
|
require 'docopt'
|
|
13
13
|
require 'colsole'
|
|
14
|
-
require 'rack/contrib/try_static'
|
|
15
14
|
require 'ferret'
|
|
16
15
|
|
|
17
16
|
require 'madness/version'
|
|
17
|
+
require 'madness/try_static'
|
|
18
18
|
require 'madness/settings'
|
|
19
19
|
require 'madness/server_helper'
|
|
20
20
|
require 'madness/server_base'
|
data/lib/madness/server_base.rb
CHANGED
|
@@ -24,7 +24,7 @@ module Madness
|
|
|
24
24
|
# The CommandLine class and the test suite should both call
|
|
25
25
|
# `Server.prepare` before calling Server.run!
|
|
26
26
|
def self.prepare
|
|
27
|
-
use
|
|
27
|
+
use TryStatic, root: "#{config.path}/public/", :urls => %w[/]
|
|
28
28
|
set :bind, config.bind
|
|
29
29
|
set :port, config.port
|
|
30
30
|
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module Madness
|
|
2
|
+
# This class allows multiple public folders so that we can load our
|
|
3
|
+
# CSS from the gem-domain public folder, and other things from the
|
|
4
|
+
# user-domain public folder
|
|
5
|
+
#
|
|
6
|
+
# TryStatic is borrowed from rack-contrib, since the gem is out of date
|
|
7
|
+
# and does not work with Sinatra 2
|
|
8
|
+
#
|
|
9
|
+
# It is used in `server_base.rb` like so:
|
|
10
|
+
#
|
|
11
|
+
# use TryStatic, :root => "#{config.path}/public/", :urls => %w[/]
|
|
12
|
+
#
|
|
13
|
+
# Ref:
|
|
14
|
+
# - https://stackoverflow.com/questions/18966318/sinatra-multiple-public-directories
|
|
15
|
+
# - https://github.com/rack/rack-contrib/blob/master/lib/rack/contrib/try_static.rb
|
|
16
|
+
# - https://github.com/rack/rack-contrib/pull/129
|
|
17
|
+
#
|
|
18
|
+
class TryStatic
|
|
19
|
+
def initialize(app, options)
|
|
20
|
+
@app = app
|
|
21
|
+
@try = ['', *options[:try]]
|
|
22
|
+
# :nocov:
|
|
23
|
+
@static = ::Rack::Static.new(
|
|
24
|
+
lambda { |_| [404, {}, []] },
|
|
25
|
+
options)
|
|
26
|
+
# :nocov:
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def call(env)
|
|
30
|
+
orig_path = env['PATH_INFO']
|
|
31
|
+
found = nil
|
|
32
|
+
@try.each do |path|
|
|
33
|
+
resp = @static.call(env.merge!({'PATH_INFO' => orig_path + path}))
|
|
34
|
+
break if !(403..405).include?(resp[0]) && found = resp
|
|
35
|
+
end
|
|
36
|
+
found or @app.call(env.merge!('PATH_INFO' => orig_path))
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
data/lib/madness/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: madness
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Danny Ben Shitrit
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-10-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: sass
|
|
@@ -30,42 +30,28 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '2.0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '2.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: sinatra-contrib
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '2.0'
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rack-contrib
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '1.4'
|
|
62
|
-
type: :runtime
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '1.4'
|
|
54
|
+
version: '2.0'
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
56
|
name: slim
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -178,6 +164,20 @@ dependencies:
|
|
|
178
164
|
- - "~>"
|
|
179
165
|
- !ruby/object:Gem::Version
|
|
180
166
|
version: '0.9'
|
|
167
|
+
- !ruby/object:Gem::Dependency
|
|
168
|
+
name: rack-test
|
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - "~>"
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: '0.7'
|
|
174
|
+
type: :development
|
|
175
|
+
prerelease: false
|
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - "~>"
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: '0.7'
|
|
181
181
|
- !ruby/object:Gem::Dependency
|
|
182
182
|
name: runfile-tasks
|
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -198,14 +198,14 @@ dependencies:
|
|
|
198
198
|
requirements:
|
|
199
199
|
- - "~>"
|
|
200
200
|
- !ruby/object:Gem::Version
|
|
201
|
-
version: '9.
|
|
201
|
+
version: '9.1'
|
|
202
202
|
type: :development
|
|
203
203
|
prerelease: false
|
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
205
|
requirements:
|
|
206
206
|
- - "~>"
|
|
207
207
|
- !ruby/object:Gem::Version
|
|
208
|
-
version: '9.
|
|
208
|
+
version: '9.1'
|
|
209
209
|
- !ruby/object:Gem::Dependency
|
|
210
210
|
name: rspec
|
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -240,14 +240,14 @@ dependencies:
|
|
|
240
240
|
requirements:
|
|
241
241
|
- - "~>"
|
|
242
242
|
- !ruby/object:Gem::Version
|
|
243
|
-
version: '0.
|
|
243
|
+
version: '0.15'
|
|
244
244
|
type: :development
|
|
245
245
|
prerelease: false
|
|
246
246
|
version_requirements: !ruby/object:Gem::Requirement
|
|
247
247
|
requirements:
|
|
248
248
|
- - "~>"
|
|
249
249
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: '0.
|
|
250
|
+
version: '0.15'
|
|
251
251
|
- !ruby/object:Gem::Dependency
|
|
252
252
|
name: yard
|
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -321,6 +321,7 @@ files:
|
|
|
321
321
|
- lib/madness/server_base.rb
|
|
322
322
|
- lib/madness/server_helper.rb
|
|
323
323
|
- lib/madness/settings.rb
|
|
324
|
+
- lib/madness/try_static.rb
|
|
324
325
|
- lib/madness/version.rb
|
|
325
326
|
homepage: https://github.com/DannyBen/madness
|
|
326
327
|
licenses:
|
|
@@ -334,7 +335,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
334
335
|
requirements:
|
|
335
336
|
- - ">="
|
|
336
337
|
- !ruby/object:Gem::Version
|
|
337
|
-
version: 2.
|
|
338
|
+
version: 2.2.2
|
|
338
339
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
339
340
|
requirements:
|
|
340
341
|
- - ">="
|
|
@@ -342,7 +343,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
342
343
|
version: '0'
|
|
343
344
|
requirements: []
|
|
344
345
|
rubyforge_project:
|
|
345
|
-
rubygems_version: 2.
|
|
346
|
+
rubygems_version: 2.6.13
|
|
346
347
|
signing_key:
|
|
347
348
|
specification_version: 4
|
|
348
349
|
summary: Instant Markdown Server
|