padrino-core 0.12.0.rc2 → 0.12.0.rc3
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/padrino-core.rb +7 -3
- data/lib/padrino-core/application.rb +5 -1
- data/lib/padrino-core/application/rendering.rb +2 -2
- data/lib/padrino-core/application/routing.rb +9 -3
- data/lib/padrino-core/application/{showexceptions.rb → show_exceptions.rb} +0 -0
- data/lib/padrino-core/caller.rb +1 -1
- data/lib/padrino-core/cli/base.rb +1 -1
- data/lib/padrino-core/locale/zh_cn.yml +6 -6
- data/lib/padrino-core/reloader.rb +2 -2
- data/lib/padrino-core/version.rb +1 -1
- data/test/fixtures/app_gem/lib/app_gem.rb +1 -1
- data/test/fixtures/apps/simple.rb +1 -1
- data/test/fixtures/layouts/layout.erb +1 -0
- data/test/helper.rb +1 -1
- data/test/test_core.rb +13 -0
- data/test/test_rendering.rb +7 -0
- data/test/test_routing.rb +45 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6ea54a7ca6507bdf5a70d33d0474da425b14980
|
4
|
+
data.tar.gz: e614251aa0601ede038832b7b3c0b198320f90d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29acbac657d342ba26fe4c728cda9d4822daba4055301530aca6e91761f5f96c8a2a1d92c4cc8e48971a31126c24439dcb4befc9859d7ac95b9e861f0fadb8b4
|
7
|
+
data.tar.gz: 0675c7fe47f31dc155cc8d1b8f4707bdbf05c2790e98d47313dae2dff0f701d3671d590266ea3df8e13c029c8eec2c8c3faacd63d37f0ff39d6b5587052dabf5
|
data/lib/padrino-core.rb
CHANGED
@@ -14,7 +14,11 @@ require 'padrino-core/server'
|
|
14
14
|
require 'padrino-core/tasks'
|
15
15
|
require 'padrino-core/module'
|
16
16
|
|
17
|
-
|
17
|
+
if ENV["PADRINO_ENV"]
|
18
|
+
warn 'Environment variable PADRINO_ENV is deprecated. Please, use RACK_ENV.'
|
19
|
+
ENV["RACK_ENV"] ||= ENV["PADRINO_ENV"]
|
20
|
+
end
|
21
|
+
RACK_ENV = ENV["RACK_ENV"] ||= "development" unless defined?(RACK_ENV)
|
18
22
|
PADRINO_ROOT = ENV["PADRINO_ROOT"] ||= File.dirname(Padrino.first_caller) unless defined?(PADRINO_ROOT)
|
19
23
|
|
20
24
|
module Padrino
|
@@ -43,13 +47,13 @@ module Padrino
|
|
43
47
|
end
|
44
48
|
|
45
49
|
##
|
46
|
-
# Helper method that return {
|
50
|
+
# Helper method that return {RACK_ENV}.
|
47
51
|
#
|
48
52
|
# @return [Symbol]
|
49
53
|
# The Padrino Environment.
|
50
54
|
#
|
51
55
|
def env
|
52
|
-
@_env ||=
|
56
|
+
@_env ||= RACK_ENV.to_s.downcase.to_sym
|
53
57
|
end
|
54
58
|
|
55
59
|
##
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'padrino-core/application/flash'
|
2
2
|
require 'padrino-core/application/rendering'
|
3
3
|
require 'padrino-core/application/routing'
|
4
|
-
require 'padrino-core/application/
|
4
|
+
require 'padrino-core/application/show_exceptions'
|
5
5
|
require 'padrino-core/application/authenticity_token'
|
6
6
|
|
7
7
|
module Padrino
|
@@ -201,6 +201,10 @@ module Padrino
|
|
201
201
|
@_prerequisites ||= []
|
202
202
|
end
|
203
203
|
|
204
|
+
def default(option, *args, &block)
|
205
|
+
set(option, *args, &block) unless respond_to?(option)
|
206
|
+
end
|
207
|
+
|
204
208
|
protected
|
205
209
|
|
206
210
|
##
|
@@ -204,7 +204,7 @@ module Padrino
|
|
204
204
|
options[:layout] = false unless is_included_extension ? layout_engine : layout_engine == engine
|
205
205
|
options[:layout_engine] = layout_engine || engine if options[:layout]
|
206
206
|
elsif options[:layout].present?
|
207
|
-
options[:layout], options[:layout_engine] = *resolve_template(settings.fetch_layout_path(options[:layout]))
|
207
|
+
options[:layout], options[:layout_engine] = *resolve_template(settings.fetch_layout_path(options[:layout]), options)
|
208
208
|
end
|
209
209
|
# Default to original layout value if none found.
|
210
210
|
options[:layout] ||= layout_was
|
@@ -274,7 +274,7 @@ module Padrino
|
|
274
274
|
end
|
275
275
|
|
276
276
|
# Resolve view path and options.
|
277
|
-
options.
|
277
|
+
options = DEFAULT_RENDERING_OPTIONS.merge(options)
|
278
278
|
view_path = options.delete(:views) || settings.views || "./views"
|
279
279
|
target_extension = File.extname(template_path)[1..-1] || "none" # explicit template extension
|
280
280
|
template_path = template_path.chomp(".#{target_extension}")
|
@@ -514,7 +514,13 @@ module Padrino
|
|
514
514
|
|
515
515
|
def compiled_router
|
516
516
|
if @deferred_routes
|
517
|
-
deferred_routes.each
|
517
|
+
deferred_routes.each do |routes|
|
518
|
+
routes.each do |(route, dest)|
|
519
|
+
route.to(dest)
|
520
|
+
route.before_filters.flatten!
|
521
|
+
route.after_filters.flatten!
|
522
|
+
end
|
523
|
+
end
|
518
524
|
@deferred_routes = nil
|
519
525
|
router.sort!
|
520
526
|
end
|
@@ -724,8 +730,8 @@ module Padrino
|
|
724
730
|
invoke_hook(:padrino_route_added, route, verb, path, args, options, block)
|
725
731
|
|
726
732
|
# Add Application defaults.
|
727
|
-
route.before_filters
|
728
|
-
route.after_filters
|
733
|
+
route.before_filters << @filters[:before]
|
734
|
+
route.after_filters << @filters[:after]
|
729
735
|
if @_controller
|
730
736
|
route.use_layout = @layout
|
731
737
|
route.controller = Array(@_controller)[0].to_s
|
File without changes
|
data/lib/padrino-core/caller.rb
CHANGED
@@ -124,7 +124,7 @@ module Padrino
|
|
124
124
|
help(task.to_s)
|
125
125
|
raise SystemExit
|
126
126
|
end
|
127
|
-
ENV["
|
127
|
+
ENV["RACK_ENV"] ||= options.environment.to_s
|
128
128
|
chdir(options.chdir)
|
129
129
|
unless File.exist?('config/boot.rb')
|
130
130
|
puts "=> Could not find boot file in: #{options.chdir}/config/boot.rb !!!"
|
@@ -4,9 +4,9 @@ zh_cn:
|
|
4
4
|
# Use the strftime parameters for formats.
|
5
5
|
# When no format has been given, it uses default.
|
6
6
|
# You can provide other formats here if you like!
|
7
|
-
default: "%Y
|
8
|
-
short: "%b
|
9
|
-
long: "
|
7
|
+
default: "%Y年%m月%d日"
|
8
|
+
short: "%b月%d日"
|
9
|
+
long: "%Y年%B月%d日"
|
10
10
|
only_day: "%e"
|
11
11
|
|
12
12
|
day_names: [星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
|
@@ -20,9 +20,9 @@ zh_cn:
|
|
20
20
|
|
21
21
|
time:
|
22
22
|
formats:
|
23
|
-
default: "%Y
|
24
|
-
short: "%d
|
25
|
-
long: "%Y
|
23
|
+
default: "%Y年%b月%d日 %H:%M:%S %z"
|
24
|
+
short: "%b月%d日 %H:%M"
|
25
|
+
long: "%Y年%B%d日 %H时%M分"
|
26
26
|
am: "上午"
|
27
27
|
pm: "下午"
|
28
28
|
|
@@ -89,7 +89,7 @@ module Padrino
|
|
89
89
|
return unless options[:force] || file_changed?(file)
|
90
90
|
|
91
91
|
Storage.prepare(file) # might call #safe_load recursively
|
92
|
-
logger.
|
92
|
+
logger.devel(file_new?(file) ? :loading : :reload, began_at, file)
|
93
93
|
begin
|
94
94
|
with_silence{ require(file) }
|
95
95
|
Storage.commit(file)
|
@@ -153,7 +153,7 @@ module Padrino
|
|
153
153
|
began_at = Time.now
|
154
154
|
I18n.reload!
|
155
155
|
update_modification_time(file)
|
156
|
-
logger.
|
156
|
+
logger.devel :reload, began_at, file
|
157
157
|
end
|
158
158
|
true
|
159
159
|
end
|
data/lib/padrino-core/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
|
2
|
-
# Remove this comment if you want do some like this: ruby
|
2
|
+
# Remove this comment if you want do some like this: ruby RACK_ENV=test app.rb
|
3
3
|
#
|
4
4
|
# require 'rubygems'
|
5
5
|
# require 'padrino-core'
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= yield %> absolute layout
|
data/test/helper.rb
CHANGED
data/test/test_core.rb
CHANGED
@@ -69,5 +69,18 @@ describe "Core" do
|
|
69
69
|
res = Rack::MockRequest.new(Padrino.application).get("/")
|
70
70
|
assert_equal "yes", res["Middleware-Called"]
|
71
71
|
end
|
72
|
+
|
73
|
+
should "properly set default options" do
|
74
|
+
mock_app do
|
75
|
+
default :foo, :bar
|
76
|
+
default :zoo, :baz
|
77
|
+
set :foo, :bam
|
78
|
+
set :moo, :bam
|
79
|
+
default :moo, :ban
|
80
|
+
end
|
81
|
+
assert_equal @app.settings.foo, :bam
|
82
|
+
assert_equal @app.settings.zoo, :baz
|
83
|
+
assert_equal @app.settings.moo, :bam
|
84
|
+
end
|
72
85
|
end
|
73
86
|
end
|
data/test/test_rendering.rb
CHANGED
@@ -446,7 +446,14 @@ describe "Rendering" do
|
|
446
446
|
I18n.locale = :en
|
447
447
|
get "/foo.pk"
|
448
448
|
assert_equal 404, status
|
449
|
+
end
|
449
450
|
|
451
|
+
should 'resolve templates and layouts located in absolute paths' do
|
452
|
+
mock_app do
|
453
|
+
get("/foo") { render 'apps/views/blog/post', :layout => 'layout', :views => File.dirname(__FILE__)+'/fixtures' }
|
454
|
+
end
|
455
|
+
get '/foo'
|
456
|
+
assert_match /okay absolute layout/, body
|
450
457
|
end
|
451
458
|
|
452
459
|
should 'resolve template content_type and locale with layout' do
|
data/test/test_routing.rb
CHANGED
@@ -1488,6 +1488,51 @@ describe "Routing" do
|
|
1488
1488
|
assert_equal '{"test"=>"what"}', body
|
1489
1489
|
end
|
1490
1490
|
|
1491
|
+
should "work only for the given controller and route when using before-filter with route's name" do
|
1492
|
+
mock_app do
|
1493
|
+
controller :foo do
|
1494
|
+
before(:index) { @a = "only to :index" }
|
1495
|
+
get(:index) { @a }
|
1496
|
+
get(:main) { @a }
|
1497
|
+
end
|
1498
|
+
end
|
1499
|
+
get '/foo/'
|
1500
|
+
assert_equal 'only to :index', body
|
1501
|
+
get '/foo/main'
|
1502
|
+
assert_equal '', body
|
1503
|
+
end
|
1504
|
+
|
1505
|
+
should "work only for the given controller and route when using after-filter with route's name" do
|
1506
|
+
mock_app do
|
1507
|
+
controller :after_controller do
|
1508
|
+
global = "global variable"
|
1509
|
+
get(:index) { global }
|
1510
|
+
get(:main) { global }
|
1511
|
+
after(:index) { global = nil }
|
1512
|
+
end
|
1513
|
+
end
|
1514
|
+
get '/after_controller'
|
1515
|
+
assert_equal 'global variable', body
|
1516
|
+
get '/after_controller'
|
1517
|
+
assert_equal '', body
|
1518
|
+
end
|
1519
|
+
|
1520
|
+
should "execute the before/after filters when they are inserted after the target route" do
|
1521
|
+
mock_app do
|
1522
|
+
controller :after_test do
|
1523
|
+
global = "global variable"
|
1524
|
+
get(:index) { global }
|
1525
|
+
get(:foo) { global }
|
1526
|
+
before(:index) { global.delete!(" ") }
|
1527
|
+
after(:index) { global = "after" }
|
1528
|
+
end
|
1529
|
+
end
|
1530
|
+
get '/after_test'
|
1531
|
+
assert_equal 'globalvariable', body
|
1532
|
+
get '/after_test/foo'
|
1533
|
+
assert_equal 'after', body
|
1534
|
+
end
|
1535
|
+
|
1491
1536
|
should 'work with controller and arbitrary params' do
|
1492
1537
|
mock_app do
|
1493
1538
|
get(:testing) { params[:foo] }
|
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.12.0.
|
4
|
+
version: 0.12.0.rc3
|
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: 2014-01-
|
14
|
+
date: 2014-01-20 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: tilt
|
@@ -121,7 +121,7 @@ files:
|
|
121
121
|
- lib/padrino-core/application/rendering/extensions/haml.rb
|
122
122
|
- lib/padrino-core/application/rendering/extensions/slim.rb
|
123
123
|
- lib/padrino-core/application/routing.rb
|
124
|
-
- lib/padrino-core/application/
|
124
|
+
- lib/padrino-core/application/show_exceptions.rb
|
125
125
|
- lib/padrino-core/caller.rb
|
126
126
|
- lib/padrino-core/cli/adapter.rb
|
127
127
|
- lib/padrino-core/cli/base.rb
|
@@ -190,6 +190,7 @@ files:
|
|
190
190
|
- test/fixtures/dependencies/circular/f.rb
|
191
191
|
- test/fixtures/dependencies/circular/g.rb
|
192
192
|
- test/fixtures/dependencies/d.rb
|
193
|
+
- test/fixtures/layouts/layout.erb
|
193
194
|
- test/helper.rb
|
194
195
|
- test/mini_shoulda.rb
|
195
196
|
- test/test_application.rb
|
@@ -261,6 +262,7 @@ test_files:
|
|
261
262
|
- test/fixtures/dependencies/circular/f.rb
|
262
263
|
- test/fixtures/dependencies/circular/g.rb
|
263
264
|
- test/fixtures/dependencies/d.rb
|
265
|
+
- test/fixtures/layouts/layout.erb
|
264
266
|
- test/helper.rb
|
265
267
|
- test/mini_shoulda.rb
|
266
268
|
- test/test_application.rb
|