racket-mvc 0.4.0 → 0.5.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/README.md +7 -5
- data/lib/racket.rb +25 -7
- data/lib/racket/application.rb +70 -136
- data/lib/racket/controller.rb +95 -38
- data/lib/racket/current.rb +1 -1
- data/lib/racket/helpers/file.rb +7 -5
- data/lib/racket/helpers/routing.rb +5 -5
- data/lib/racket/helpers/sass.rb +11 -11
- data/lib/racket/helpers/view.rb +8 -5
- data/lib/racket/plugins/base.rb +1 -1
- data/lib/racket/plugins/sass.rb +1 -1
- data/lib/racket/request.rb +3 -3
- data/lib/racket/response.rb +1 -1
- data/lib/racket/router.rb +31 -12
- data/lib/racket/session.rb +3 -3
- data/lib/racket/settings/application.rb +27 -33
- data/lib/racket/settings/base.rb +19 -8
- data/lib/racket/settings/controller.rb +9 -7
- data/lib/racket/settings/defaults.rb +81 -0
- data/lib/racket/utils.rb +19 -15
- data/lib/racket/utils/application.rb +4 -114
- data/lib/racket/utils/application/handler_stack.rb +163 -0
- data/lib/racket/utils/application/logger.rb +72 -0
- data/lib/racket/utils/application/registry_builder.rb +88 -0
- data/lib/racket/utils/application/stateless_services.rb +73 -0
- data/lib/racket/utils/exceptions.rb +3 -3
- data/lib/racket/utils/file_system.rb +75 -47
- data/lib/racket/utils/helpers.rb +35 -13
- data/lib/racket/utils/routing.rb +62 -46
- data/lib/racket/utils/views.rb +19 -187
- data/lib/racket/utils/views/renderer.rb +75 -0
- data/lib/racket/utils/views/template_cache.rb +126 -0
- data/lib/racket/utils/views/template_locator.rb +83 -0
- data/lib/racket/utils/views/template_resolver.rb +112 -0
- data/lib/racket/version.rb +2 -2
- data/lib/racket/view_manager.rb +12 -4
- data/rake/utils.rb +5 -5
- data/spec/_custom.rb +69 -19
- data/spec/_default.rb +60 -44
- data/spec/_plugin.rb +12 -14
- data/spec/_template_cache.rb +176 -0
- data/spec/racket.rb +10 -13
- data/spec/test_custom_app/controllers/sub1/custom_sub_controller_1.rb +1 -1
- data/spec/test_custom_app/controllers/sub3/custom_sub_controller_3.rb +19 -1
- data/spec/test_custom_app/controllers/sub5/custom_sub_controller_5.rb +8 -0
- data/spec/test_custom_app/files/stuff.rb +3 -0
- data/spec/test_custom_app/files/triplet.erb +5 -0
- data/spec/test_custom_app/templates/sub5/text.erb +3 -0
- data/spec/test_default_app/controllers/default_root_controller.rb +3 -0
- data/spec/test_default_app/controllers/sub1/default_sub_controller_1.rb +1 -1
- metadata +52 -11
data/spec/racket.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'simplecov'
|
2
2
|
require 'stringio'
|
3
|
-
require 'tilt/erb'
|
4
3
|
|
5
4
|
SimpleCov.start do
|
6
5
|
add_filter 'spec'
|
@@ -18,6 +17,11 @@ TEST_PLUGIN_APP_DIR = File.join(TEST_DIR, 'test_plugin_app')
|
|
18
17
|
|
19
18
|
require 'racket'
|
20
19
|
|
20
|
+
# Force use of ERB (not Erubis) during testing.
|
21
|
+
# This is a workaround for Rubinius not finding ERubis.
|
22
|
+
# @see https://gist.github.com/jodosha/9662268
|
23
|
+
Tilt.register Tilt::ERBTemplate, 'erb'
|
24
|
+
|
21
25
|
# Make sure some files that are loaded dynamically get coverage as well.
|
22
26
|
require 'racket/helpers/file.rb'
|
23
27
|
|
@@ -27,6 +31,9 @@ require 'bacon'
|
|
27
31
|
# Method tests should always be run first.
|
28
32
|
require File.join(TEST_DIR, '_request.rb')
|
29
33
|
|
34
|
+
# Next up, tests for Template caching.
|
35
|
+
require File.join(TEST_DIR, '_template_cache.rb')
|
36
|
+
|
30
37
|
# Application tests.
|
31
38
|
suites = [
|
32
39
|
-> { Dir.chdir(TEST_DEFAULT_APP_DIR) { require File.join(TEST_DIR, '_default.rb') } },
|
@@ -38,17 +45,7 @@ suites = [
|
|
38
45
|
# suites.shuffle!
|
39
46
|
|
40
47
|
# Run application tests.
|
41
|
-
suites.each
|
42
|
-
# Make sure Racket::Application and Racket::Settings::Application is reset between the suites.
|
43
|
-
# Racket::Application@application and Racket::Settings::Application must be pristine on each run!
|
44
|
-
Racket.class_eval { remove_const(:Application) }
|
45
|
-
Racket::Settings.class_eval { remove_const(:Application) }
|
46
|
-
load('lib/racket/application.rb')
|
47
|
-
load('lib/racket/settings/application.rb')
|
48
|
-
|
49
|
-
# Run suite
|
50
|
-
suite.call
|
51
|
-
end
|
48
|
+
suites.each { |suite| suite.call }
|
52
49
|
|
53
50
|
# Invalid application test should always be run last.
|
54
|
-
require File.join(TEST_DIR, '_invalid.rb')
|
51
|
+
# require File.join(TEST_DIR, '_invalid.rb')
|
@@ -15,7 +15,7 @@ class CustomSubController3 < Racket::Controller
|
|
15
15
|
end
|
16
16
|
|
17
17
|
after :not_so_secret do
|
18
|
-
|
18
|
+
raise 'Should not happen!'
|
19
19
|
end
|
20
20
|
|
21
21
|
def render_a_file
|
@@ -23,4 +23,22 @@ class CustomSubController3 < Racket::Controller
|
|
23
23
|
obj.instance_eval { @secret = 42 }
|
24
24
|
render_template('files/secret.erb', obj)
|
25
25
|
end
|
26
|
+
|
27
|
+
def render_a_file_with_controller
|
28
|
+
@one = 1
|
29
|
+
@two = 2
|
30
|
+
@three = 3
|
31
|
+
render_template('files/triplet.erb', self)
|
32
|
+
end
|
33
|
+
|
34
|
+
def render_a_file_with_settings
|
35
|
+
obj = Object.new
|
36
|
+
obj.instance_eval do
|
37
|
+
@one = 1
|
38
|
+
@two = 2
|
39
|
+
@three = 3
|
40
|
+
end
|
41
|
+
settings = { trim: '-' }
|
42
|
+
render_template('files/triplet.erb', obj, settings)
|
43
|
+
end
|
26
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: racket-mvc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lars Olsson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http_router
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: racket-registry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.5'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.5'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: tilt
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +86,28 @@ dependencies:
|
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
89
|
+
version: 0.1.5
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
96
|
+
version: 0.1.5
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: json
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "<"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "<"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '2'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: rack-test
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +128,14 @@ dependencies:
|
|
100
128
|
requirements:
|
101
129
|
- - "~>"
|
102
130
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
131
|
+
version: '11'
|
104
132
|
type: :development
|
105
133
|
prerelease: false
|
106
134
|
version_requirements: !ruby/object:Gem::Requirement
|
107
135
|
requirements:
|
108
136
|
- - "~>"
|
109
137
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
138
|
+
version: '11'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: sass
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +156,14 @@ dependencies:
|
|
128
156
|
requirements:
|
129
157
|
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0.
|
159
|
+
version: '0.11'
|
132
160
|
type: :development
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
164
|
- - "~>"
|
137
165
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0.
|
166
|
+
version: '0.11'
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: yard
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,13 +204,22 @@ files:
|
|
176
204
|
- lib/racket/settings/application.rb
|
177
205
|
- lib/racket/settings/base.rb
|
178
206
|
- lib/racket/settings/controller.rb
|
207
|
+
- lib/racket/settings/defaults.rb
|
179
208
|
- lib/racket/utils.rb
|
180
209
|
- lib/racket/utils/application.rb
|
210
|
+
- lib/racket/utils/application/handler_stack.rb
|
211
|
+
- lib/racket/utils/application/logger.rb
|
212
|
+
- lib/racket/utils/application/registry_builder.rb
|
213
|
+
- lib/racket/utils/application/stateless_services.rb
|
181
214
|
- lib/racket/utils/exceptions.rb
|
182
215
|
- lib/racket/utils/file_system.rb
|
183
216
|
- lib/racket/utils/helpers.rb
|
184
217
|
- lib/racket/utils/routing.rb
|
185
218
|
- lib/racket/utils/views.rb
|
219
|
+
- lib/racket/utils/views/renderer.rb
|
220
|
+
- lib/racket/utils/views/template_cache.rb
|
221
|
+
- lib/racket/utils/views/template_locator.rb
|
222
|
+
- lib/racket/utils/views/template_resolver.rb
|
186
223
|
- lib/racket/version.rb
|
187
224
|
- lib/racket/view_manager.rb
|
188
225
|
- rake/utils.rb
|
@@ -191,22 +228,27 @@ files:
|
|
191
228
|
- spec/_invalid.rb
|
192
229
|
- spec/_plugin.rb
|
193
230
|
- spec/_request.rb
|
231
|
+
- spec/_template_cache.rb
|
194
232
|
- spec/racket.rb
|
195
233
|
- spec/test_custom_app/controllers/sub1/custom_sub_controller_1.rb
|
196
234
|
- spec/test_custom_app/controllers/sub2/custom_sub_controller_2.rb
|
197
235
|
- spec/test_custom_app/controllers/sub3/custom_sub_controller_3.rb
|
198
236
|
- spec/test_custom_app/controllers/sub3/inherited/custom_inherited_controller.rb
|
199
237
|
- spec/test_custom_app/controllers/sub4/custom_sub_controller_4.rb
|
238
|
+
- spec/test_custom_app/controllers/sub5/custom_sub_controller_5.rb
|
200
239
|
- spec/test_custom_app/extra/blob.rb
|
201
240
|
- spec/test_custom_app/extra/blob/inner_blob.rb
|
202
241
|
- spec/test_custom_app/files/plain_text.txt
|
203
242
|
- spec/test_custom_app/files/secret.erb
|
243
|
+
- spec/test_custom_app/files/stuff.rb
|
244
|
+
- spec/test_custom_app/files/triplet.erb
|
204
245
|
- spec/test_custom_app/layouts/sub2/zebra.erb
|
205
246
|
- spec/test_custom_app/layouts/sub4/layout.erb
|
206
247
|
- spec/test_custom_app/templates/sub2/template.erb
|
207
248
|
- spec/test_custom_app/templates/sub4/default.erb
|
208
249
|
- spec/test_custom_app/templates/sub4/mybar.erb
|
209
250
|
- spec/test_custom_app/templates/sub4/myfoo.erb
|
251
|
+
- spec/test_custom_app/templates/sub5/text.erb
|
210
252
|
- spec/test_default_app/controllers/default_root_controller.rb
|
211
253
|
- spec/test_default_app/controllers/sub1/default_sub_controller_1.rb
|
212
254
|
- spec/test_default_app/controllers/sub2/default_sub_controller_2.rb
|
@@ -219,7 +261,7 @@ files:
|
|
219
261
|
- spec/test_plugin_app/sass/test.scss
|
220
262
|
homepage: https://github.com/lasso/racket
|
221
263
|
licenses:
|
222
|
-
-
|
264
|
+
- AGPL-3.0
|
223
265
|
metadata: {}
|
224
266
|
post_install_message:
|
225
267
|
rdoc_options: []
|
@@ -237,9 +279,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
279
|
version: '0'
|
238
280
|
requirements: []
|
239
281
|
rubyforge_project:
|
240
|
-
rubygems_version: 2.
|
282
|
+
rubygems_version: 2.5.1
|
241
283
|
signing_key:
|
242
284
|
specification_version: 4
|
243
285
|
summary: Racket - The noisy Rack MVC framework
|
244
286
|
test_files: []
|
245
|
-
has_rdoc:
|