padrino-core 0.9.18 → 0.9.19
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/padrino-core/application/mounter.rb +2 -2
- data/lib/padrino-core/application/routing.rb +15 -17
- data/lib/padrino-core/locale/no.yml +31 -0
- data/lib/padrino-core/server.rb +6 -2
- data/lib/padrino-core/version.rb +1 -1
- data/padrino-core.gemspec +1 -1
- data/test/test_mounter.rb +13 -1
- data/test/test_reloader_simple.rb +7 -7
- metadata +8 -7
@@ -64,8 +64,8 @@ module Padrino
|
|
64
64
|
app_obj.set :app_name, app_data.name
|
65
65
|
app_obj.set :app_file, app_data.app_file unless ::File.exist?(app_obj.app_file)
|
66
66
|
app_obj.set :root, app_data.app_root unless app_data.app_root.blank?
|
67
|
-
app_obj.set :public, Padrino.root('public', app_data.uri_root)
|
68
|
-
app_obj.set :static, File.exist?(app_obj.public)
|
67
|
+
app_obj.set :public, Padrino.root('public', app_data.uri_root) unless File.exists?(app_obj.public)
|
68
|
+
app_obj.set :static, File.exist?(app_obj.public) if app_obj.nil?
|
69
69
|
app_obj.setup_application! # We need to initialize here the app.
|
70
70
|
router.map(:to => app_obj, :path => app_data.uri_root, :host => app_data.app_host)
|
71
71
|
end
|
@@ -70,7 +70,7 @@ module Padrino
|
|
70
70
|
|
71
71
|
class UnrecognizedException < RuntimeError #:nodoc:
|
72
72
|
end
|
73
|
-
|
73
|
+
|
74
74
|
##
|
75
75
|
# Keeps information about parent scope.
|
76
76
|
#
|
@@ -80,7 +80,7 @@ module Padrino
|
|
80
80
|
attr_reader :options
|
81
81
|
|
82
82
|
alias_method :optional?, :optional
|
83
|
-
|
83
|
+
|
84
84
|
def initialize(value, options={})
|
85
85
|
super(value.to_s)
|
86
86
|
@map = options.delete(:map)
|
@@ -88,7 +88,7 @@ module Padrino
|
|
88
88
|
@options = options
|
89
89
|
end
|
90
90
|
end
|
91
|
-
|
91
|
+
|
92
92
|
##
|
93
93
|
# Main class that register this extension
|
94
94
|
#
|
@@ -175,15 +175,13 @@ module Padrino
|
|
175
175
|
@_defaults, original_defaults = options, @_defaults
|
176
176
|
|
177
177
|
# Application defaults
|
178
|
-
@
|
179
|
-
@
|
180
|
-
@layout, original_layout = nil, @layout
|
178
|
+
@filters, original_filters = { :before => [], :after => [] }, @filters
|
179
|
+
@layout, original_layout = nil, @layout
|
181
180
|
|
182
181
|
instance_eval(&block)
|
183
182
|
|
184
183
|
# Application defaults
|
185
|
-
@
|
186
|
-
@after_filters = original_after_filters
|
184
|
+
@filters = original_filters
|
187
185
|
@layout = original_layout
|
188
186
|
|
189
187
|
# Controller defaults
|
@@ -196,10 +194,10 @@ module Padrino
|
|
196
194
|
alias :controllers :controller
|
197
195
|
|
198
196
|
##
|
199
|
-
# Provides many parents with shallowing.
|
197
|
+
# Provides many parents with shallowing.
|
200
198
|
#
|
201
199
|
# ==== Examples
|
202
|
-
#
|
200
|
+
#
|
203
201
|
# controllers :product do
|
204
202
|
# parent :shop, :optional => true, :map => "/my/stand"
|
205
203
|
# parent :category, :optional => true
|
@@ -212,7 +210,7 @@ module Padrino
|
|
212
210
|
# # url_for(:product, :show, :shop_id => 5, :id => 10) => "/my/stand/5/product/show/10"
|
213
211
|
# # url_for(:product, :show, :shop_id => 5, :category_id => 1, :id => 10) => "/my/stand/5/category/1/product/show/10"
|
214
212
|
# end
|
215
|
-
# end
|
213
|
+
# end
|
216
214
|
#
|
217
215
|
def parent(name, options={})
|
218
216
|
defaults = { :optional => false, :map => name.to_s }
|
@@ -327,7 +325,7 @@ module Padrino
|
|
327
325
|
else
|
328
326
|
raise
|
329
327
|
end
|
330
|
-
|
328
|
+
|
331
329
|
# Do padrino parsing. We dup options so we can build HEAD request correctly
|
332
330
|
route_options = options.dup
|
333
331
|
route_options[:provides] = @_provides if @_provides
|
@@ -357,7 +355,7 @@ module Padrino
|
|
357
355
|
route.host(options.delete(:host)) if options.key?(:host)
|
358
356
|
route.condition(:user_agent => options.delete(:agent)) if options.key?(:agent)
|
359
357
|
route.default_values = options.delete(:default_values)
|
360
|
-
options.delete_if do |option, args|
|
358
|
+
options.delete_if do |option, args|
|
361
359
|
if route.send(:significant_variable_names).include?(option)
|
362
360
|
route.matching(option => Array(args).first)
|
363
361
|
true
|
@@ -373,13 +371,13 @@ module Padrino
|
|
373
371
|
|
374
372
|
# Add Application defaults
|
375
373
|
if @_controller
|
376
|
-
route.before_filters = @
|
377
|
-
route.after_filters = @
|
374
|
+
route.before_filters = @filters[:before]
|
375
|
+
route.after_filters = @filters[:after]
|
378
376
|
route.use_layout = @layout
|
379
377
|
route.controller = Array(@_controller).first.to_s
|
380
378
|
else
|
381
|
-
route.before_filters = @
|
382
|
-
route.after_filters = @
|
379
|
+
route.before_filters = @filters[:before] || []
|
380
|
+
route.after_filters = @filters[:after] || []
|
383
381
|
end
|
384
382
|
|
385
383
|
route.to(block)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"no":
|
2
|
+
date:
|
3
|
+
formats:
|
4
|
+
# Use the strftime parameters for formats.
|
5
|
+
# When no format has been given, it uses default.
|
6
|
+
# You can provide other formats here if you like!
|
7
|
+
default: "%d.%m.%Y"
|
8
|
+
short: "%e. %b %Y"
|
9
|
+
long: "%e. %B %Y"
|
10
|
+
|
11
|
+
day_names: [søndag, mandag, tirsdag, onsdag, torsdag, fredag, lørdag]
|
12
|
+
abbr_day_names: [sø, ma, ti, 'on', to, fr, lø]
|
13
|
+
month_names: [~, januar, februar, mars, april, mai, juni, juli, august, september, oktober, november, desember]
|
14
|
+
abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, des]
|
15
|
+
order: [ :day, :month, :year ]
|
16
|
+
|
17
|
+
time:
|
18
|
+
formats:
|
19
|
+
default: "%e. %B %Y, %H:%M"
|
20
|
+
short: "%e. %b %Y, %H:%M"
|
21
|
+
long: "%A, %e. %B %Y, %H:%M"
|
22
|
+
am: ""
|
23
|
+
pm: ""
|
24
|
+
|
25
|
+
# Used in array.to_sentence.
|
26
|
+
support:
|
27
|
+
array:
|
28
|
+
words_connector: ", "
|
29
|
+
two_words_connector: " og "
|
30
|
+
last_word_connector: " og "
|
31
|
+
|
data/lib/padrino-core/server.rb
CHANGED
@@ -49,7 +49,11 @@ module Padrino
|
|
49
49
|
end
|
50
50
|
rescue RuntimeError => e
|
51
51
|
if e.message =~ /no acceptor/
|
52
|
-
|
52
|
+
if port < 1024 && RUBY_PLATFORM !~ /mswin|win|mingw/ && Process.uid != 0
|
53
|
+
puts "=> Only root may open a priviledged port #{port}!"
|
54
|
+
else
|
55
|
+
puts "=> Someone is already performing on port #{port}!"
|
56
|
+
end
|
53
57
|
else
|
54
58
|
raise e
|
55
59
|
end
|
@@ -67,4 +71,4 @@ module Padrino
|
|
67
71
|
raise LoadError, "Server handler (#{servers.join(',')}) not found."
|
68
72
|
end
|
69
73
|
end # Server
|
70
|
-
end # Padrino
|
74
|
+
end # Padrino
|
data/lib/padrino-core/version.rb
CHANGED
data/padrino-core.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.files = %w(.document .gitignore LICENSE README.rdoc Rakefile padrino-core.gemspec) + Dir.glob("{bin,lib,test}/**/*")
|
18
18
|
s.rdoc_options = ["--charset=UTF-8"]
|
19
19
|
s.require_path = "lib"
|
20
|
-
s.add_dependency("sinatra", ">= 1.
|
20
|
+
s.add_dependency("sinatra", ">= 1.1.0")
|
21
21
|
s.add_dependency("http_router", "~> 0.4.0")
|
22
22
|
s.add_dependency("thor", ">=0.14.3")
|
23
23
|
s.add_dependency("activesupport", ">= 3.0.0")
|
data/test/test_mounter.rb
CHANGED
@@ -146,5 +146,17 @@ class TestMounter < Test::Unit::TestCase
|
|
146
146
|
get '/demo_2'
|
147
147
|
assert_equal "Im Demo 2", body
|
148
148
|
end
|
149
|
+
|
150
|
+
should "not clobber the public setting when mounting an app" do
|
151
|
+
class ::PublicApp < Padrino::Application
|
152
|
+
set :root, "/root"
|
153
|
+
set :public, File.expand_path(File.dirname(__FILE__))
|
154
|
+
end
|
155
|
+
|
156
|
+
Padrino.mount("public_app").to("/public")
|
157
|
+
res = Rack::MockRequest.new(Padrino.application).get("/public/test_mounter.rb")
|
158
|
+
assert res.ok?
|
159
|
+
assert_equal File.read(__FILE__), res.body
|
160
|
+
end
|
149
161
|
end
|
150
|
-
end
|
162
|
+
end
|
@@ -32,13 +32,13 @@ class TestSimpleReloader < Test::Unit::TestCase
|
|
32
32
|
assert_equal 200, status
|
33
33
|
get "/__sinatra__/404.png"
|
34
34
|
assert_equal 200, status
|
35
|
-
assert_equal "image/png", response["Content-Type"]
|
35
|
+
assert_equal "image/png;charset=utf-8", response["Content-Type"]
|
36
36
|
@app.reset_routes!
|
37
37
|
get "/"
|
38
38
|
assert_equal 404, status
|
39
39
|
get "/__sinatra__/404.png"
|
40
40
|
assert_equal 200, status
|
41
|
-
assert_equal "image/png", response["Content-Type"]
|
41
|
+
assert_equal "image/png;charset=utf-8", response["Content-Type"]
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -74,9 +74,9 @@ class TestSimpleReloader < Test::Unit::TestCase
|
|
74
74
|
get "/rand"
|
75
75
|
assert ok?
|
76
76
|
last_body = body
|
77
|
-
assert_equal 2, @app.
|
77
|
+
assert_equal 2, @app.filters[:before].size # one is ours the other is default_filter for content type
|
78
78
|
assert_equal 1, @app.errors.size
|
79
|
-
assert_equal 1, @app.
|
79
|
+
assert_equal 1, @app.filters[:after].size
|
80
80
|
assert_equal 2, @app.middleware.size # [Padrino::Logger::Rack, Padrino::Reloader::Rack]
|
81
81
|
assert_equal 4, @app.routes.size # GET+HEAD of "/" + GET+HEAD of "/rand" = 4
|
82
82
|
assert_equal 2, @app.extensions.size # [Padrino::Routing, Padrino::Rendering]
|
@@ -84,13 +84,13 @@ class TestSimpleReloader < Test::Unit::TestCase
|
|
84
84
|
@app.reload!
|
85
85
|
get "/rand"
|
86
86
|
assert_not_equal last_body, body
|
87
|
-
assert_equal 2, @app.
|
87
|
+
assert_equal 2, @app.filters[:before].size # one is ours the other is default_filter for content type
|
88
88
|
assert_equal 1, @app.errors.size
|
89
|
-
assert_equal 1, @app.
|
89
|
+
assert_equal 1, @app.filters[:after].size
|
90
90
|
assert_equal 2, @app.middleware.size # only logger Padrino::Logger::Rack
|
91
91
|
assert_equal 4, @app.routes.size # GET+HEAD of "/" = 2
|
92
92
|
assert_equal 2, @app.extensions.size # [Padrino::Routing, Padrino::Rendering]
|
93
93
|
assert_equal 0, @app.templates.size
|
94
94
|
end
|
95
95
|
end
|
96
|
-
end
|
96
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: padrino-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 19
|
10
|
+
version: 0.9.19
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Padrino Team
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2010-
|
21
|
+
date: 2010-11-17 00:00:00 +01:00
|
22
22
|
default_executable: padrino
|
23
23
|
dependencies:
|
24
24
|
- !ruby/object:Gem::Dependency
|
@@ -29,12 +29,12 @@ dependencies:
|
|
29
29
|
requirements:
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
hash:
|
32
|
+
hash: 19
|
33
33
|
segments:
|
34
34
|
- 1
|
35
|
+
- 1
|
35
36
|
- 0
|
36
|
-
|
37
|
-
version: 1.0.0
|
37
|
+
version: 1.1.0
|
38
38
|
type: :runtime
|
39
39
|
version_requirements: *id001
|
40
40
|
- !ruby/object:Gem::Dependency
|
@@ -137,6 +137,7 @@ files:
|
|
137
137
|
- lib/padrino-core/locale/fr.yml
|
138
138
|
- lib/padrino-core/locale/it.yml
|
139
139
|
- lib/padrino-core/locale/nl.yml
|
140
|
+
- lib/padrino-core/locale/no.yml
|
140
141
|
- lib/padrino-core/locale/pl.yml
|
141
142
|
- lib/padrino-core/locale/pt_br.yml
|
142
143
|
- lib/padrino-core/locale/ru.yml
|