padrino-core 0.14.0.rc2 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/padrino-core/loader.rb +2 -1
- data/lib/padrino-core/mounter.rb +1 -0
- data/lib/padrino-core/mounter/application_extension.rb +1 -1
- data/lib/padrino-core/version.rb +1 -1
- data/test/fixtures/apps/mountable_apps/rack_apps.rb +6 -2
- data/test/fixtures/dependencies/linear/h.rb +1 -0
- data/test/fixtures/dependencies/linear/i.rb +1 -0
- data/test/helper.rb +0 -1
- data/test/test_application.rb +0 -1
- data/test/test_dependencies.rb +12 -0
- data/test/test_mounter.rb +10 -0
- data/test/test_routing.rb +3 -3
- metadata +9 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40709f499ebbaa2e4cd92c62e2142eac2f9c2ab9
|
4
|
+
data.tar.gz: ff33963d9f849f0bd9676be85e58083c3b932f41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 057ae19651da64cc6b475f705bbe28f0990d38011883458f7caeec8ed1d2f34e66654e0f8d3da9e1e979757c493b57eaa1c7a21c78f5e20303040c9f8213e968
|
7
|
+
data.tar.gz: 0d2fdf09929e900e98a25a39dbfbfaa7cadf831c10b8a4ac7bc2d26c80ae840fb645d6b6a16abee3f764e1bafd60738bd354508a35830efd72746476b08536f3
|
data/lib/padrino-core/loader.rb
CHANGED
@@ -142,7 +142,7 @@ module Padrino
|
|
142
142
|
# require_dependencies("#{Padrino.root}/lib/**/*.rb")
|
143
143
|
#
|
144
144
|
def require_dependencies(*paths)
|
145
|
-
options = (paths.last.is_a?(Hash) ? paths.pop : {})
|
145
|
+
options = { :cyclic => true }.update(paths.last.is_a?(Hash) ? paths.pop : {})
|
146
146
|
|
147
147
|
files = paths.flatten.flat_map{ |path| Dir.glob(path).sort_by{ |filename| filename.count('/') } }.uniq
|
148
148
|
|
@@ -155,6 +155,7 @@ module Padrino
|
|
155
155
|
files.delete(file)
|
156
156
|
loaded = true
|
157
157
|
rescue NameError, LoadError => error
|
158
|
+
raise if Reloader.exclude.any?{ |path| file.start_with?(path) } || options[:cyclic] == false
|
158
159
|
logger.devel "Cyclic dependency reload for #{error.class}: #{error.message}"
|
159
160
|
rescue Exception => fatal
|
160
161
|
break
|
data/lib/padrino-core/mounter.rb
CHANGED
@@ -108,6 +108,7 @@ module Padrino
|
|
108
108
|
app_obj.set :static, public_folder_exists
|
109
109
|
app_obj.set :cascade, app_data.cascade
|
110
110
|
else
|
111
|
+
app_obj.cascade = app_data.cascade
|
111
112
|
app_obj.uri_root = uri_root
|
112
113
|
app_obj.public_folder = Padrino.root('public', uri_root) unless public_folder_exists
|
113
114
|
end
|
data/lib/padrino-core/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
raise LoadError
|
@@ -0,0 +1 @@
|
|
1
|
+
fail
|
data/test/helper.rb
CHANGED
data/test/test_application.rb
CHANGED
data/test/test_dependencies.rb
CHANGED
@@ -53,5 +53,17 @@ describe "Dependencies" do
|
|
53
53
|
assert_equal ["name"], F.fields
|
54
54
|
assert_equal "", @io.string
|
55
55
|
end
|
56
|
+
|
57
|
+
it 'should not silence LoadError raised in dependencies excluded from reloading' do
|
58
|
+
capture_io do
|
59
|
+
assert_raises(LoadError) do
|
60
|
+
Padrino::Reloader.exclude << Padrino.root("fixtures/dependencies/linear/h.rb")
|
61
|
+
Padrino.require_dependencies(
|
62
|
+
Padrino.root("fixtures/dependencies/linear/h.rb"),
|
63
|
+
Padrino.root("fixtures/dependencies/linear/i.rb"),
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
56
68
|
end
|
57
69
|
end
|
data/test/test_mounter.rb
CHANGED
@@ -272,6 +272,16 @@ describe "Mounter" do
|
|
272
272
|
assert_equal [], RackApp.prerequisites
|
273
273
|
end
|
274
274
|
|
275
|
+
it 'should support the Rack Application with cascading style' do
|
276
|
+
path = File.expand_path(File.dirname(__FILE__) + '/fixtures/apps/mountable_apps/rack_apps')
|
277
|
+
require path
|
278
|
+
Padrino.mount('rack_app', :app_class => 'RackApp', :app_file => path, cascade: false).to('/rack_app')
|
279
|
+
Padrino.mount('sinatra_app', :app_class => 'SinatraApp', :app_file => path).to('/')
|
280
|
+
app = Padrino.application
|
281
|
+
res = Rack::MockRequest.new(app).get("/rack_app/404")
|
282
|
+
assert_equal "not found ;(", res.body
|
283
|
+
end
|
284
|
+
|
275
285
|
it 'should support the Rack Application inside padrino project' do
|
276
286
|
path = File.expand_path(File.dirname(__FILE__) + '/fixtures/apps/demo_project/app')
|
277
287
|
api_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/apps/demo_project/api/app')
|
data/test/test_routing.rb
CHANGED
@@ -550,7 +550,7 @@ describe "Routing" do
|
|
550
550
|
|
551
551
|
it 'should generate routes for format simple' do
|
552
552
|
mock_app do
|
553
|
-
get(:foo, :provides => [:html, :rss]) {
|
553
|
+
get(:foo, :provides => [:html, :rss]) { "Test\n" }
|
554
554
|
end
|
555
555
|
get "/foo"
|
556
556
|
assert_equal "Test\n", body
|
@@ -664,8 +664,8 @@ describe "Routing" do
|
|
664
664
|
it 'should generate routes for format with controller' do
|
665
665
|
mock_app do
|
666
666
|
controller :posts do
|
667
|
-
get(:index, :provides => [:html, :rss, :atom, :js]) {
|
668
|
-
get(:show, :with => :id, :provides => [:html, :rss, :atom]) {
|
667
|
+
get(:index, :provides => [:html, :rss, :atom, :js]) { "Index.#{content_type}\n" }
|
668
|
+
get(:show, :with => :id, :provides => [:html, :rss, :atom]) { "Show.#{content_type}\n" }
|
669
669
|
end
|
670
670
|
end
|
671
671
|
get "/posts"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padrino-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.0
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2017-
|
14
|
+
date: 2017-03-15 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: padrino-support
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.14.0
|
22
|
+
version: 0.14.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.14.0
|
29
|
+
version: 0.14.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: sinatra
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,6 +180,8 @@ files:
|
|
180
180
|
- test/fixtures/dependencies/circular/f.rb
|
181
181
|
- test/fixtures/dependencies/circular/g.rb
|
182
182
|
- test/fixtures/dependencies/d.rb
|
183
|
+
- test/fixtures/dependencies/linear/h.rb
|
184
|
+
- test/fixtures/dependencies/linear/i.rb
|
183
185
|
- test/fixtures/reloadable_apps/external/app/app.rb
|
184
186
|
- test/fixtures/reloadable_apps/external/app/controllers/base.rb
|
185
187
|
- test/fixtures/reloadable_apps/main/app.rb
|
@@ -219,12 +221,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
221
|
version: '0'
|
220
222
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
221
223
|
requirements:
|
222
|
-
- - "
|
224
|
+
- - ">="
|
223
225
|
- !ruby/object:Gem::Version
|
224
|
-
version: 1.3.
|
226
|
+
version: 1.3.6
|
225
227
|
requirements: []
|
226
228
|
rubyforge_project: padrino-core
|
227
|
-
rubygems_version: 2.6.
|
229
|
+
rubygems_version: 2.6.10
|
228
230
|
signing_key:
|
229
231
|
specification_version: 4
|
230
232
|
summary: The required Padrino core gem
|