deas 0.10.0 → 0.11.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.
- data/lib/deas.rb +1 -0
- data/lib/deas/exceptions.rb +11 -0
- data/lib/deas/server.rb +44 -7
- data/lib/deas/sinatra_app.rb +1 -10
- data/lib/deas/version.rb +1 -1
- data/test/unit/exceptions_tests.rb +29 -0
- data/test/unit/server_configuration_tests.rb +146 -0
- data/test/unit/server_tests.rb +4 -64
- data/test/unit/sinatra_app_tests.rb +4 -15
- metadata +28 -23
data/lib/deas.rb
CHANGED
data/lib/deas/server.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'ns-options'
|
2
2
|
require 'ns-options/boolean'
|
3
3
|
require 'pathname'
|
4
|
+
require 'set'
|
5
|
+
require 'deas/exceptions'
|
4
6
|
require 'deas/template'
|
7
|
+
require 'deas/logging'
|
5
8
|
require 'deas/redirect_handler'
|
6
9
|
require 'deas/route'
|
7
10
|
require 'deas/sinatra_app'
|
@@ -15,7 +18,7 @@ module Deas::Server
|
|
15
18
|
# Sinatra based options
|
16
19
|
option :env, String, :default => 'development'
|
17
20
|
|
18
|
-
option :root, Pathname
|
21
|
+
option :root, Pathname, :required => true
|
19
22
|
option :public_folder, Pathname
|
20
23
|
option :views_folder, Pathname
|
21
24
|
|
@@ -31,23 +34,57 @@ module Deas::Server
|
|
31
34
|
option :init_procs, Array, :default => []
|
32
35
|
option :logger, :default => proc{ Deas::NullLogger.new }
|
33
36
|
option :middlewares, Array, :default => []
|
34
|
-
option :settings,
|
37
|
+
option :settings, Hash, :default => {}
|
35
38
|
option :verbose_logging, :default => true
|
36
39
|
option :routes, Array, :default => []
|
37
40
|
option :view_handler_ns, String
|
38
41
|
|
39
42
|
attr_reader :template_helpers
|
40
43
|
|
41
|
-
def initialize
|
44
|
+
def initialize(values=nil)
|
42
45
|
# these are defaulted here because we want to use the Configuration
|
43
46
|
# instance `root`. If we define a proc above, we will be using the
|
44
47
|
# Configuration class `root`, which will not update these options as
|
45
48
|
# expected.
|
46
|
-
super({
|
49
|
+
super((values || {}).merge({
|
47
50
|
:public_folder => proc{ self.root.join('public') },
|
48
51
|
:views_folder => proc{ self.root.join('views') }
|
49
|
-
})
|
52
|
+
}))
|
50
53
|
@template_helpers = []
|
54
|
+
@valid = nil
|
55
|
+
end
|
56
|
+
|
57
|
+
def valid?
|
58
|
+
!!@valid
|
59
|
+
end
|
60
|
+
|
61
|
+
# for the config to be considered "valid", a few things need to happen. The
|
62
|
+
# key here is that this only needs to be done _once_ for each config.
|
63
|
+
|
64
|
+
def validate!
|
65
|
+
return @valid if !@valid.nil? # only need to run this once per config
|
66
|
+
|
67
|
+
# ensure all user and plugin configs/settings are applied
|
68
|
+
self.init_procs.each{ |p| p.call }
|
69
|
+
raise Deas::ServerRootError if self.root.nil?
|
70
|
+
|
71
|
+
# constantize the routes to ensure they are available
|
72
|
+
self.routes.each(&:constantize!)
|
73
|
+
|
74
|
+
# set the :erb :outvar setting if it hasn't been set. this is used
|
75
|
+
# by template helpers and plugins and needs to be queryable. the actual
|
76
|
+
# value doesn't matter - it just needs to be set
|
77
|
+
self.settings[:erb] ||= {}
|
78
|
+
self.settings[:erb][:outvar] ||= '@_out_buf'
|
79
|
+
|
80
|
+
# add the logging middleware args last. This ensures that the logging
|
81
|
+
# happens just before the app gets the request and just after the app
|
82
|
+
# sends a response.
|
83
|
+
[*Deas::Logging.middleware(self.verbose_logging)].tap do |mw_args|
|
84
|
+
self.middlewares << mw_args
|
85
|
+
end
|
86
|
+
|
87
|
+
@valid = true # if it made it this far, its valid!
|
51
88
|
end
|
52
89
|
|
53
90
|
def template_scope
|
@@ -141,8 +178,8 @@ module Deas::Server
|
|
141
178
|
self.configuration.middlewares << args
|
142
179
|
end
|
143
180
|
|
144
|
-
def set(
|
145
|
-
self.configuration.settings
|
181
|
+
def set(name, value)
|
182
|
+
self.configuration.settings[name.to_sym] = value
|
146
183
|
end
|
147
184
|
|
148
185
|
def view_handler_ns(*args)
|
data/lib/deas/sinatra_app.rb
CHANGED
@@ -1,17 +1,11 @@
|
|
1
1
|
require 'sinatra/base'
|
2
2
|
require 'deas/error_handler'
|
3
|
-
require 'deas/logging'
|
4
3
|
|
5
4
|
module Deas
|
6
|
-
|
7
5
|
module SinatraApp
|
8
6
|
|
9
7
|
def self.new(server_config)
|
10
|
-
|
11
|
-
# not considered valid until the init procs have been run and the routes
|
12
|
-
# have been constantized.
|
13
|
-
server_config.init_procs.each{ |p| p.call }
|
14
|
-
server_config.routes.each(&:constantize!)
|
8
|
+
server_config.validate!
|
15
9
|
|
16
10
|
Sinatra.new do
|
17
11
|
|
@@ -38,8 +32,6 @@ module Deas
|
|
38
32
|
server_config.settings.each{ |set_args| set *set_args }
|
39
33
|
server_config.middlewares.each{ |use_args| use *use_args }
|
40
34
|
|
41
|
-
use Deas::Logging.middleware(server_config.verbose_logging)
|
42
|
-
|
43
35
|
# routes
|
44
36
|
server_config.routes.each do |route|
|
45
37
|
send(route.method, route.path){ route.run(self) }
|
@@ -58,5 +50,4 @@ module Deas
|
|
58
50
|
end
|
59
51
|
|
60
52
|
end
|
61
|
-
|
62
53
|
end
|
data/lib/deas/version.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'assert'
|
2
|
+
require 'deas/exceptions'
|
3
|
+
|
4
|
+
module Deas
|
5
|
+
|
6
|
+
class ErrorTests < Assert::Context
|
7
|
+
desc "Deas"
|
8
|
+
|
9
|
+
should "provide an error exception that subclasses `RuntimeError" do
|
10
|
+
assert Deas::Error
|
11
|
+
assert_kind_of RuntimeError, Deas::Error.new
|
12
|
+
end
|
13
|
+
|
14
|
+
should "provide a server exception that subclasses `Error`" do
|
15
|
+
assert Deas::ServerError
|
16
|
+
assert_kind_of Deas::Error, Deas::ServerError.new
|
17
|
+
end
|
18
|
+
|
19
|
+
should "provide a server root exception that subclasses `ServerError`" do
|
20
|
+
assert Deas::ServerRootError
|
21
|
+
|
22
|
+
e = Deas::ServerRootError.new
|
23
|
+
assert_kind_of Deas::ServerError, e
|
24
|
+
assert_equal "server `root` not set but required", e.message
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
require 'assert'
|
2
|
+
require 'set'
|
3
|
+
require 'test/support/view_handlers'
|
4
|
+
require 'deas/exceptions'
|
5
|
+
require 'deas/template'
|
6
|
+
require 'deas/server'
|
7
|
+
|
8
|
+
class Deas::Server::Configuration
|
9
|
+
|
10
|
+
class BaseTests < Assert::Context
|
11
|
+
desc "Deas::Server::Configuration"
|
12
|
+
setup do
|
13
|
+
@configuration = Deas::Server::Configuration.new
|
14
|
+
@configuration.root = TEST_SUPPORT_ROOT
|
15
|
+
end
|
16
|
+
subject{ @configuration }
|
17
|
+
|
18
|
+
# sinatra related options
|
19
|
+
should have_imeths :env, :root, :public_folder, :views_folder
|
20
|
+
should have_imeths :dump_errors, :method_override, :sessions, :show_exceptions
|
21
|
+
should have_imeths :static_files, :reload_templates
|
22
|
+
|
23
|
+
# server handling options
|
24
|
+
should have_imeths :error_procs, :init_procs, :logger, :middlewares, :settings
|
25
|
+
should have_imeths :verbose_logging, :routes, :view_handler_ns
|
26
|
+
|
27
|
+
should have_reader :template_helpers
|
28
|
+
should have_imeths :valid?, :validate!
|
29
|
+
|
30
|
+
should "default the env to 'development'" do
|
31
|
+
assert_equal 'development', subject.env
|
32
|
+
end
|
33
|
+
|
34
|
+
should "default the public and views folders based off the root" do
|
35
|
+
assert_equal subject.root.join('public'), subject.public_folder
|
36
|
+
assert_equal subject.root.join('views'), subject.views_folder
|
37
|
+
end
|
38
|
+
|
39
|
+
should "default the Sinatra flags" do
|
40
|
+
assert_equal false, subject.dump_errors
|
41
|
+
assert_equal true, subject.method_override
|
42
|
+
assert_equal false, subject.sessions
|
43
|
+
assert_equal false, subject.show_exceptions
|
44
|
+
assert_equal true, subject.static_files
|
45
|
+
assert_equal false, subject.reload_templates
|
46
|
+
end
|
47
|
+
|
48
|
+
should "default the handling options" do
|
49
|
+
assert_empty subject.error_procs
|
50
|
+
assert_empty subject.init_procs
|
51
|
+
assert_instance_of Deas::NullLogger, subject.logger
|
52
|
+
assert_empty subject.middlewares
|
53
|
+
assert_empty subject.settings
|
54
|
+
assert_equal true, subject.verbose_logging
|
55
|
+
assert_empty subject.routes
|
56
|
+
assert_nil subject.view_handler_ns
|
57
|
+
assert_empty subject.template_helpers
|
58
|
+
end
|
59
|
+
|
60
|
+
should "build a template scope including its template helpers" do
|
61
|
+
config = Deas::Server::Configuration.new
|
62
|
+
config.template_helpers << (helper_module = Module.new)
|
63
|
+
|
64
|
+
assert_includes Deas::Template::Scope, config.template_scope.ancestors
|
65
|
+
assert_includes helper_module, config.template_scope.included_modules
|
66
|
+
end
|
67
|
+
|
68
|
+
should "not be valid until validate! has been run" do
|
69
|
+
assert_not subject.valid?
|
70
|
+
|
71
|
+
subject.validate!
|
72
|
+
assert subject.valid?
|
73
|
+
end
|
74
|
+
|
75
|
+
should "complain if validating and `root` isn't set" do
|
76
|
+
config = Deas::Server::Configuration.new
|
77
|
+
assert_raises(Deas::ServerRootError){ config.validate! }
|
78
|
+
assert_nothing_raised{ config.root '/path/to/root'; config.validate! }
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
class ValidationTests < BaseTests
|
84
|
+
desc "when successfully validated"
|
85
|
+
setup do
|
86
|
+
@initialized = false
|
87
|
+
@other_initialized = false
|
88
|
+
@route = Deas::Route.new(:get, '/something', 'TestViewHandler')
|
89
|
+
|
90
|
+
@configuration = Deas::Server::Configuration.new.tap do |c|
|
91
|
+
c.env = 'staging'
|
92
|
+
c.root = 'path/to/somewhere'
|
93
|
+
c.dump_errors = true
|
94
|
+
c.method_override = false
|
95
|
+
c.sessions = false
|
96
|
+
c.show_exceptions = true
|
97
|
+
c.static = true
|
98
|
+
c.reload_templates = true
|
99
|
+
c.routes = [ @route ]
|
100
|
+
c.middlewares = [ ['MyMiddleware'] ]
|
101
|
+
end
|
102
|
+
@configuration.init_procs << proc{ @initialized = true }
|
103
|
+
@configuration.init_procs << proc{ @other_initialized = true }
|
104
|
+
end
|
105
|
+
|
106
|
+
should "call init procs" do
|
107
|
+
assert_equal false, @initialized
|
108
|
+
assert_equal false, @other_initialized
|
109
|
+
|
110
|
+
subject.validate!
|
111
|
+
|
112
|
+
assert_equal true, @initialized
|
113
|
+
assert_equal true, @other_initialized
|
114
|
+
end
|
115
|
+
|
116
|
+
should "call constantize! on all routes" do
|
117
|
+
assert_nil @route.handler_class
|
118
|
+
|
119
|
+
subject.validate!
|
120
|
+
|
121
|
+
assert_equal TestViewHandler, @route.handler_class
|
122
|
+
end
|
123
|
+
|
124
|
+
should "default the :erb :outvar setting in the SinatraApp it creates" do
|
125
|
+
assert_nil subject.settings[:erb]
|
126
|
+
|
127
|
+
subject.validate!
|
128
|
+
|
129
|
+
assert_kind_of ::Hash, subject.settings[:erb]
|
130
|
+
assert_equal '@_out_buf', subject.settings[:erb][:outvar]
|
131
|
+
end
|
132
|
+
|
133
|
+
should "add the Deas::Logging middleware to the end of the middlewares" do
|
134
|
+
assert subject.verbose_logging
|
135
|
+
assert_equal 1, subject.middlewares.size
|
136
|
+
assert_not_equal [Deas::VerboseLogging], subject.middlewares.last
|
137
|
+
|
138
|
+
subject.validate!
|
139
|
+
|
140
|
+
assert_equal 2, subject.middlewares.size
|
141
|
+
assert_equal [Deas::VerboseLogging], subject.middlewares.last
|
142
|
+
end
|
143
|
+
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
data/test/unit/server_tests.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'assert'
|
2
|
-
require '
|
2
|
+
require 'set'
|
3
|
+
require 'logger'
|
3
4
|
require 'deas/route'
|
4
5
|
require 'deas/server'
|
5
|
-
require 'logger'
|
6
6
|
|
7
7
|
module Deas::Server
|
8
8
|
|
@@ -62,7 +62,7 @@ module Deas::Server
|
|
62
62
|
assert_equal [ ['MyMiddleware'] ], config.middlewares
|
63
63
|
|
64
64
|
subject.set :testing_set_meth, 'it works!'
|
65
|
-
assert_equal
|
65
|
+
assert_equal({ :testing_set_meth => 'it works!'}, config.settings)
|
66
66
|
|
67
67
|
stdout_logger = Logger.new(STDOUT)
|
68
68
|
subject.logger stdout_logger
|
@@ -162,71 +162,11 @@ module Deas::Server
|
|
162
162
|
assert_equal '::NoNsTest', route.handler_class_name
|
163
163
|
end
|
164
164
|
|
165
|
-
should "add and query helper modules
|
165
|
+
should "add and query helper modules" do
|
166
166
|
subject.template_helpers(helper_module = Module.new)
|
167
167
|
assert subject.template_helper?(helper_module)
|
168
168
|
end
|
169
169
|
|
170
170
|
end
|
171
171
|
|
172
|
-
class ConfigurationTests < BaseTests
|
173
|
-
desc "Configuration"
|
174
|
-
setup do
|
175
|
-
@configuration = Deas::Server::Configuration.new
|
176
|
-
end
|
177
|
-
subject{ @configuration }
|
178
|
-
|
179
|
-
# sinatra related options
|
180
|
-
should have_imeths :env, :root, :public_folder, :views_folder
|
181
|
-
should have_imeths :dump_errors, :method_override, :sessions, :show_exceptions
|
182
|
-
should have_imeths :static_files, :reload_templates
|
183
|
-
|
184
|
-
# server handling options
|
185
|
-
should have_imeths :error_procs, :init_procs, :logger, :middlewares, :settings
|
186
|
-
should have_imeths :verbose_logging, :routes, :view_handler_ns
|
187
|
-
|
188
|
-
should have_reader :template_helpers
|
189
|
-
|
190
|
-
should "default the env to 'development'" do
|
191
|
-
assert_equal 'development', subject.env
|
192
|
-
end
|
193
|
-
|
194
|
-
should "default the public and views folders based off the root" do
|
195
|
-
subject.root = TEST_SUPPORT_ROOT
|
196
|
-
|
197
|
-
assert_equal subject.root.join('public'), subject.public_folder
|
198
|
-
assert_equal subject.root.join('views'), subject.views_folder
|
199
|
-
end
|
200
|
-
|
201
|
-
should "default the Sinatra flags" do
|
202
|
-
assert_equal false, subject.dump_errors
|
203
|
-
assert_equal true, subject.method_override
|
204
|
-
assert_equal false, subject.sessions
|
205
|
-
assert_equal false, subject.show_exceptions
|
206
|
-
assert_equal true, subject.static_files
|
207
|
-
assert_equal false, subject.reload_templates
|
208
|
-
end
|
209
|
-
|
210
|
-
should "default the handling options" do
|
211
|
-
assert_empty subject.error_procs
|
212
|
-
assert_empty subject.init_procs
|
213
|
-
assert_instance_of Deas::NullLogger, subject.logger
|
214
|
-
assert_empty subject.middlewares
|
215
|
-
assert_empty subject.settings
|
216
|
-
assert_equal true, subject.verbose_logging
|
217
|
-
assert_empty subject.routes
|
218
|
-
assert_nil subject.view_handler_ns
|
219
|
-
assert_empty subject.template_helpers
|
220
|
-
end
|
221
|
-
|
222
|
-
should "build a template scope including its template helpers" do
|
223
|
-
config = Deas::Server::Configuration.new
|
224
|
-
config.template_helpers << (helper_module = Module.new)
|
225
|
-
|
226
|
-
assert_includes Deas::Template::Scope, config.template_scope.ancestors
|
227
|
-
assert_includes helper_module, config.template_scope.included_modules
|
228
|
-
end
|
229
|
-
|
230
|
-
end
|
231
|
-
|
232
172
|
end
|
@@ -26,23 +26,12 @@ module Deas::SinatraApp
|
|
26
26
|
end
|
27
27
|
subject{ @sinatra_app }
|
28
28
|
|
29
|
-
should "
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
should "call init procs when initialized" do
|
34
|
-
initialized = false
|
35
|
-
other_initialized = false
|
36
|
-
@configuration.init_procs << proc{ initialized = true }
|
37
|
-
@configuration.init_procs << proc{ other_initialized = true }
|
38
|
-
@sinatra_app = Deas::SinatraApp.new(@configuration)
|
39
|
-
|
40
|
-
assert_equal true, initialized
|
41
|
-
assert_equal true, other_initialized
|
29
|
+
should "ensure its config is valid" do
|
30
|
+
assert @configuration.valid?
|
42
31
|
end
|
43
32
|
|
44
|
-
should "
|
45
|
-
assert_equal
|
33
|
+
should "be a kind of Sinatra::Base" do
|
34
|
+
assert_equal Sinatra::Base, subject.superclass
|
46
35
|
end
|
47
36
|
|
48
37
|
should "have it's configuration set based on the server configuration" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 11
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.11.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kelly Redding
|
@@ -16,11 +16,12 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2013-05-
|
19
|
+
date: 2013-05-17 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
name: ns-options
|
22
23
|
prerelease: false
|
23
|
-
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
25
|
none: false
|
25
26
|
requirements:
|
26
27
|
- - ~>
|
@@ -38,12 +39,12 @@ dependencies:
|
|
38
39
|
- 1
|
39
40
|
- 4
|
40
41
|
version: 1.1.4
|
41
|
-
requirement: *id001
|
42
|
-
name: ns-options
|
43
42
|
type: :runtime
|
43
|
+
version_requirements: *id001
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
|
+
name: rack
|
45
46
|
prerelease: false
|
46
|
-
|
47
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
47
48
|
none: false
|
48
49
|
requirements:
|
49
50
|
- - ~>
|
@@ -53,12 +54,12 @@ dependencies:
|
|
53
54
|
- 1
|
54
55
|
- 5
|
55
56
|
version: "1.5"
|
56
|
-
requirement: *id002
|
57
|
-
name: rack
|
58
57
|
type: :runtime
|
58
|
+
version_requirements: *id002
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
|
+
name: sinatra
|
60
61
|
prerelease: false
|
61
|
-
|
62
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
62
63
|
none: false
|
63
64
|
requirements:
|
64
65
|
- - ~>
|
@@ -68,12 +69,12 @@ dependencies:
|
|
68
69
|
- 1
|
69
70
|
- 4
|
70
71
|
version: "1.4"
|
71
|
-
requirement: *id003
|
72
|
-
name: sinatra
|
73
72
|
type: :runtime
|
73
|
+
version_requirements: *id003
|
74
74
|
- !ruby/object:Gem::Dependency
|
75
|
+
name: assert
|
75
76
|
prerelease: false
|
76
|
-
|
77
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
77
78
|
none: false
|
78
79
|
requirements:
|
79
80
|
- - ">="
|
@@ -82,12 +83,12 @@ dependencies:
|
|
82
83
|
segments:
|
83
84
|
- 0
|
84
85
|
version: "0"
|
85
|
-
requirement: *id004
|
86
|
-
name: assert
|
87
86
|
type: :development
|
87
|
+
version_requirements: *id004
|
88
88
|
- !ruby/object:Gem::Dependency
|
89
|
+
name: assert-mocha
|
89
90
|
prerelease: false
|
90
|
-
|
91
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
91
92
|
none: false
|
92
93
|
requirements:
|
93
94
|
- - ">="
|
@@ -96,12 +97,12 @@ dependencies:
|
|
96
97
|
segments:
|
97
98
|
- 0
|
98
99
|
version: "0"
|
99
|
-
requirement: *id005
|
100
|
-
name: assert-mocha
|
101
100
|
type: :development
|
101
|
+
version_requirements: *id005
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
|
+
name: assert-rack-test
|
103
104
|
prerelease: false
|
104
|
-
|
105
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
105
106
|
none: false
|
106
107
|
requirements:
|
107
108
|
- - ">="
|
@@ -110,9 +111,8 @@ dependencies:
|
|
110
111
|
segments:
|
111
112
|
- 0
|
112
113
|
version: "0"
|
113
|
-
requirement: *id006
|
114
|
-
name: assert-rack-test
|
115
114
|
type: :development
|
115
|
+
version_requirements: *id006
|
116
116
|
description: Handler-based web framework powered by Sinatra
|
117
117
|
email:
|
118
118
|
- kelly@kellyredding.com
|
@@ -132,6 +132,7 @@ files:
|
|
132
132
|
- deas.gemspec
|
133
133
|
- lib/deas.rb
|
134
134
|
- lib/deas/error_handler.rb
|
135
|
+
- lib/deas/exceptions.rb
|
135
136
|
- lib/deas/logging.rb
|
136
137
|
- lib/deas/rack_request_fix.rb
|
137
138
|
- lib/deas/redirect_handler.rb
|
@@ -158,10 +159,12 @@ files:
|
|
158
159
|
- test/support/views/with_layout.erb
|
159
160
|
- test/system/rack_tests.rb
|
160
161
|
- test/unit/error_handler_tests.rb
|
162
|
+
- test/unit/exceptions_tests.rb
|
161
163
|
- test/unit/logging_tests.rb
|
162
164
|
- test/unit/redirect_handler_tests.rb
|
163
165
|
- test/unit/route_tests.rb
|
164
166
|
- test/unit/runner_tests.rb
|
167
|
+
- test/unit/server_configuration_tests.rb
|
165
168
|
- test/unit/server_tests.rb
|
166
169
|
- test/unit/sinatra_app_tests.rb
|
167
170
|
- test/unit/sinatra_runner_tests.rb
|
@@ -197,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
200
|
requirements: []
|
198
201
|
|
199
202
|
rubyforge_project:
|
200
|
-
rubygems_version: 1.8.
|
203
|
+
rubygems_version: 1.8.24
|
201
204
|
signing_key:
|
202
205
|
specification_version: 3
|
203
206
|
summary: Handler-based web framework powered by Sinatra
|
@@ -214,10 +217,12 @@ test_files:
|
|
214
217
|
- test/support/views/with_layout.erb
|
215
218
|
- test/system/rack_tests.rb
|
216
219
|
- test/unit/error_handler_tests.rb
|
220
|
+
- test/unit/exceptions_tests.rb
|
217
221
|
- test/unit/logging_tests.rb
|
218
222
|
- test/unit/redirect_handler_tests.rb
|
219
223
|
- test/unit/route_tests.rb
|
220
224
|
- test/unit/runner_tests.rb
|
225
|
+
- test/unit/server_configuration_tests.rb
|
221
226
|
- test/unit/server_tests.rb
|
222
227
|
- test/unit/sinatra_app_tests.rb
|
223
228
|
- test/unit/sinatra_runner_tests.rb
|