deas 0.3.0 → 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.
- data/lib/deas/server.rb +2 -2
- data/lib/deas/sinatra_app.rb +4 -1
- data/lib/deas/version.rb +1 -1
- data/test/unit/server_tests.rb +4 -2
- data/test/unit/sinatra_app_tests.rb +4 -1
- metadata +22 -22
data/lib/deas/server.rb
CHANGED
@@ -29,7 +29,7 @@ module Deas
|
|
29
29
|
|
30
30
|
# server handling options
|
31
31
|
option :error_procs, Array, :default => []
|
32
|
-
option :
|
32
|
+
option :init_procs, Array, :default => []
|
33
33
|
option :logger, :default => proc{ Deas::NullLogger.new }
|
34
34
|
option :middlewares, Array, :default => []
|
35
35
|
option :verbose_logging, :default => true
|
@@ -105,7 +105,7 @@ module Deas
|
|
105
105
|
end
|
106
106
|
|
107
107
|
def init(&block)
|
108
|
-
self.configuration.
|
108
|
+
self.configuration.init_procs << block
|
109
109
|
end
|
110
110
|
|
111
111
|
def logger(*args)
|
data/lib/deas/sinatra_app.rb
CHANGED
@@ -7,7 +7,10 @@ module Deas
|
|
7
7
|
module SinatraApp
|
8
8
|
|
9
9
|
def self.new(server_config)
|
10
|
-
|
10
|
+
# the reason this is done here is b/c the below sinatra configuration is
|
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 }
|
11
14
|
server_config.routes.each(&:constantize!)
|
12
15
|
|
13
16
|
Sinatra.new do
|
data/lib/deas/version.rb
CHANGED
data/test/unit/server_tests.rb
CHANGED
@@ -76,9 +76,11 @@ class Deas::Server
|
|
76
76
|
subject.logger stdout_logger
|
77
77
|
assert_equal stdout_logger, config.logger
|
78
78
|
|
79
|
+
assert_equal 0, config.init_procs.size
|
79
80
|
init_proc = proc{ }
|
80
81
|
subject.init(&init_proc)
|
81
|
-
assert_equal
|
82
|
+
assert_equal 1, config.init_procs.size
|
83
|
+
assert_equal init_proc, config.init_procs.first
|
82
84
|
end
|
83
85
|
|
84
86
|
should "add a GET route using #get" do
|
@@ -172,7 +174,7 @@ class Deas::Server
|
|
172
174
|
should have_imeths :static_files, :reload_templates
|
173
175
|
|
174
176
|
# server handling options
|
175
|
-
should have_imeths :
|
177
|
+
should have_imeths :init_procs, :logger, :verbose_logging, :middlewares
|
176
178
|
should have_imeths :routes, :view_handler_ns
|
177
179
|
|
178
180
|
should "default the env to 'development'" do
|
@@ -32,10 +32,13 @@ module Deas::SinatraApp
|
|
32
32
|
|
33
33
|
should "call init procs when initialized" do
|
34
34
|
initialized = false
|
35
|
-
|
35
|
+
other_initialized = false
|
36
|
+
@configuration.init_procs << proc{ initialized = true }
|
37
|
+
@configuration.init_procs << proc{ other_initialized = true }
|
36
38
|
@sinatra_app = Deas::SinatraApp.new(@configuration)
|
37
39
|
|
38
40
|
assert_equal true, initialized
|
41
|
+
assert_equal true, other_initialized
|
39
42
|
end
|
40
43
|
|
41
44
|
should "call constantize! on all routes" 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: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 4
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kelly Redding
|
@@ -19,8 +19,9 @@ cert_chain: []
|
|
19
19
|
date: 2013-05-07 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
|
- - ~>
|
@@ -83,12 +84,12 @@ dependencies:
|
|
83
84
|
- 2
|
84
85
|
- 0
|
85
86
|
version: "2.0"
|
86
|
-
requirement: *id004
|
87
|
-
name: assert
|
88
87
|
type: :development
|
88
|
+
version_requirements: *id004
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
|
+
name: assert-mocha
|
90
91
|
prerelease: false
|
91
|
-
|
92
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
92
93
|
none: false
|
93
94
|
requirements:
|
94
95
|
- - ~>
|
@@ -98,12 +99,12 @@ dependencies:
|
|
98
99
|
- 1
|
99
100
|
- 0
|
100
101
|
version: "1.0"
|
101
|
-
requirement: *id005
|
102
|
-
name: assert-mocha
|
103
102
|
type: :development
|
103
|
+
version_requirements: *id005
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
|
+
name: rack-test
|
105
106
|
prerelease: false
|
106
|
-
|
107
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
107
108
|
none: false
|
108
109
|
requirements:
|
109
110
|
- - ~>
|
@@ -113,9 +114,8 @@ dependencies:
|
|
113
114
|
- 0
|
114
115
|
- 6
|
115
116
|
version: "0.6"
|
116
|
-
requirement: *id006
|
117
|
-
name: rack-test
|
118
117
|
type: :development
|
118
|
+
version_requirements: *id006
|
119
119
|
description: Handler-based web framework powered by Sinatra
|
120
120
|
email:
|
121
121
|
- kelly@kellyredding.com
|
@@ -199,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
199
199
|
requirements: []
|
200
200
|
|
201
201
|
rubyforge_project:
|
202
|
-
rubygems_version: 1.8.
|
202
|
+
rubygems_version: 1.8.24
|
203
203
|
signing_key:
|
204
204
|
specification_version: 3
|
205
205
|
summary: Handler-based web framework powered by Sinatra
|