padrino-core 0.7.0 → 0.7.1
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/Rakefile +0 -1
- data/VERSION +1 -1
- data/lib/padrino-core.rb +2 -1
- data/lib/padrino-core/application.rb +30 -7
- data/lib/padrino-core/logger.rb +2 -2
- data/padrino-core.gemspec +2 -5
- data/test/test_routing.rb +3 -3
- metadata +2 -12
data/Rakefile
CHANGED
@@ -15,7 +15,6 @@ begin
|
|
15
15
|
gem.add_runtime_dependency "i18n", ">= 0.3.2"
|
16
16
|
gem.add_runtime_dependency "usher", ">= 0.6.2"
|
17
17
|
gem.add_runtime_dependency "thor", ">= 0.11.8"
|
18
|
-
gem.add_development_dependency "haml", ">= 2.2.1"
|
19
18
|
gem.add_runtime_dependency "bundler", ">= 0.5.0"
|
20
19
|
gem.add_development_dependency "shoulda", ">= 0"
|
21
20
|
gem.add_development_dependency "mocha", ">= 0.9.7"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.1
|
data/lib/padrino-core.rb
CHANGED
@@ -5,7 +5,8 @@ require 'sinatra/base'
|
|
5
5
|
PADRINO_ENV = ENV["PADRINO_ENV"] ||= ENV["RACK_ENV"] ||= "development" unless defined?(PADRINO_ENV)
|
6
6
|
|
7
7
|
module Padrino
|
8
|
-
class ApplicationLoadError < RuntimeError
|
8
|
+
class ApplicationLoadError < RuntimeError #:nodoc:
|
9
|
+
end
|
9
10
|
|
10
11
|
class << self
|
11
12
|
##
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module Padrino
|
2
|
-
class ApplicationSetupError < RuntimeError
|
2
|
+
class ApplicationSetupError < RuntimeError #:nodoc:
|
3
|
+
end
|
3
4
|
##
|
4
5
|
# Subclasses of this become independent Padrino applications (stemming from Sinatra::Application)
|
5
6
|
# These subclassed applications can be easily mounted into other Padrino applications as well.
|
@@ -11,10 +12,12 @@ module Padrino
|
|
11
12
|
CALLERS_TO_IGNORE.concat(PADRINO_IGNORE_CALLERS)
|
12
13
|
subclass.default_configuration!
|
13
14
|
Padrino.set_load_paths File.join(subclass.root, "/models")
|
15
|
+
Padrino.require_dependencies File.join(subclass.root, "/models.rb")
|
14
16
|
Padrino.require_dependencies File.join(subclass.root, "/models/**/*.rb")
|
15
17
|
super # Loading the subclass
|
16
18
|
subclass.default_filters!
|
17
19
|
subclass.default_routes!
|
20
|
+
subclass.default_errors!
|
18
21
|
end
|
19
22
|
|
20
23
|
##
|
@@ -67,6 +70,11 @@ module Padrino
|
|
67
70
|
##
|
68
71
|
# Usher router, for fatures and configurations see: http://github.com/joshbuddy/usher
|
69
72
|
#
|
73
|
+
# Examples:
|
74
|
+
#
|
75
|
+
# router.add_route('/greedy/{!:greed,.*}')
|
76
|
+
# router.recognize_path('/simple')
|
77
|
+
#
|
70
78
|
def router
|
71
79
|
@router ||= Usher.new(:request_methods => [:request_method, :host, :port, :scheme],
|
72
80
|
:ignore_trailing_delimiters => true,
|
@@ -153,6 +161,7 @@ module Padrino
|
|
153
161
|
set :raise_errors, true if development?
|
154
162
|
set :logging, false # !test?
|
155
163
|
set :sessions, true
|
164
|
+
set :public, Proc.new { Padrino.root('public', self.uri_root) }
|
156
165
|
# Padrino specific
|
157
166
|
set :uri_root, "/"
|
158
167
|
set :reload, development?
|
@@ -185,10 +194,23 @@ module Padrino
|
|
185
194
|
#
|
186
195
|
def default_filters!
|
187
196
|
before do
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
197
|
+
request.path_info =~ /\.([^\.\/]+)$/
|
198
|
+
@_content_type = ($1 || :html).to_sym
|
199
|
+
content_type(@_content_type, :charset => 'utf-8') rescue content_type('application/octet-stream')
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
##
|
204
|
+
# This log errors for production environments
|
205
|
+
#
|
206
|
+
def default_errors!
|
207
|
+
configure :production do
|
208
|
+
error ::Exception do
|
209
|
+
boom = env['sinatra.error']
|
210
|
+
logger.error ["#{boom.class} - #{boom.message}:", *boom.backtrace].join("\n ")
|
211
|
+
response.status = 500
|
212
|
+
content_type 'text/html'
|
213
|
+
'<h1>Internal Server Error</h1>'
|
192
214
|
end
|
193
215
|
end
|
194
216
|
end
|
@@ -227,7 +249,7 @@ module Padrino
|
|
227
249
|
# Returns the load_paths for the application (relative to the application root)
|
228
250
|
#
|
229
251
|
def load_paths
|
230
|
-
@load_paths ||= ["urls.rb", "config/urls.rb", "mailers/*.rb", "controllers/**/*.rb", "helpers/*.rb"]
|
252
|
+
@load_paths ||= ["urls.rb", "config/urls.rb", "mailers/*.rb", "controllers/**/*.rb", "controllers.rb", "helpers/*.rb"]
|
231
253
|
end
|
232
254
|
|
233
255
|
##
|
@@ -482,7 +504,8 @@ module Padrino
|
|
482
504
|
if (options[:layout].nil? || options[:layout] == true) && !self.class.templates.has_key?(:layout)
|
483
505
|
layout = self.class.instance_variable_defined?(:@_layout) ? self.class.instance_variable_get(:@_layout) : :application
|
484
506
|
if layout
|
485
|
-
|
507
|
+
# We look first for views/layout_name.ext then then for views/layouts/layout_name.ext
|
508
|
+
options[:layout] = Dir["#{self.options.views}/#{layout}.*"].present? ? layout.to_sym : File.join('layouts', layout.to_s).to_sym
|
486
509
|
logger.debug "Rendering layout #{options[:layout]}"
|
487
510
|
end
|
488
511
|
end
|
data/lib/padrino-core/logger.rb
CHANGED
@@ -234,7 +234,7 @@ module Padrino
|
|
234
234
|
now = Time.now
|
235
235
|
length = extract_content_length(header)
|
236
236
|
|
237
|
-
logger.
|
237
|
+
logger.debug FORMAT % [
|
238
238
|
env['HTTP_X_FORWARDED_FOR'] || env["REMOTE_ADDR"] || "-",
|
239
239
|
env["REMOTE_USER"] || "-",
|
240
240
|
env["REQUEST_METHOD"],
|
@@ -257,7 +257,7 @@ module Padrino
|
|
257
257
|
end # Logger
|
258
258
|
end # Padrino
|
259
259
|
|
260
|
-
module Kernel
|
260
|
+
module Kernel #:nodoc:
|
261
261
|
|
262
262
|
##
|
263
263
|
# Define a logger available every where in our app
|
data/padrino-core.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{padrino-core}
|
8
|
-
s.version = "0.7.
|
8
|
+
s.version = "0.7.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-02-03}
|
13
13
|
s.default_executable = %q{padrino}
|
14
14
|
s.description = %q{The Padrino core gem required for use of this framework}
|
15
15
|
s.email = %q{nesquena@gmail.com}
|
@@ -81,7 +81,6 @@ Gem::Specification.new do |s|
|
|
81
81
|
s.add_runtime_dependency(%q<i18n>, [">= 0.3.2"])
|
82
82
|
s.add_runtime_dependency(%q<usher>, [">= 0.6.2"])
|
83
83
|
s.add_runtime_dependency(%q<thor>, [">= 0.11.8"])
|
84
|
-
s.add_development_dependency(%q<haml>, [">= 2.2.1"])
|
85
84
|
s.add_runtime_dependency(%q<bundler>, [">= 0.5.0"])
|
86
85
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
87
86
|
s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
|
@@ -92,7 +91,6 @@ Gem::Specification.new do |s|
|
|
92
91
|
s.add_dependency(%q<i18n>, [">= 0.3.2"])
|
93
92
|
s.add_dependency(%q<usher>, [">= 0.6.2"])
|
94
93
|
s.add_dependency(%q<thor>, [">= 0.11.8"])
|
95
|
-
s.add_dependency(%q<haml>, [">= 2.2.1"])
|
96
94
|
s.add_dependency(%q<bundler>, [">= 0.5.0"])
|
97
95
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
98
96
|
s.add_dependency(%q<mocha>, [">= 0.9.7"])
|
@@ -104,7 +102,6 @@ Gem::Specification.new do |s|
|
|
104
102
|
s.add_dependency(%q<i18n>, [">= 0.3.2"])
|
105
103
|
s.add_dependency(%q<usher>, [">= 0.6.2"])
|
106
104
|
s.add_dependency(%q<thor>, [">= 0.11.8"])
|
107
|
-
s.add_dependency(%q<haml>, [">= 2.2.1"])
|
108
105
|
s.add_dependency(%q<bundler>, [">= 0.5.0"])
|
109
106
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
110
107
|
s.add_dependency(%q<mocha>, [">= 0.9.7"])
|
data/test/test_routing.rb
CHANGED
@@ -144,16 +144,16 @@ class TestRouting < Test::Unit::TestCase
|
|
144
144
|
end
|
145
145
|
get "/a.js"
|
146
146
|
assert_equal "js", body
|
147
|
-
assert_equal 'application/javascript', response["Content-Type"]
|
147
|
+
assert_equal 'application/javascript;charset=utf-8', response["Content-Type"]
|
148
148
|
get "/a.json"
|
149
149
|
assert_equal "json", body
|
150
|
-
assert_equal 'application/json', response["Content-Type"]
|
150
|
+
assert_equal 'application/json;charset=utf-8', response["Content-Type"]
|
151
151
|
get "/a.foo"
|
152
152
|
assert_equal "foo", body
|
153
153
|
assert_equal 'application/octet-stream', response["Content-Type"]
|
154
154
|
get "/a"
|
155
155
|
assert_equal "html", body
|
156
|
-
assert_equal 'text/html', response["Content-Type"]
|
156
|
+
assert_equal 'text/html;charset=utf-8', response["Content-Type"]
|
157
157
|
end
|
158
158
|
|
159
159
|
should 'use controllers' do
|
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.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Padrino Team
|
@@ -12,7 +12,7 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2010-
|
15
|
+
date: 2010-02-03 00:00:00 +01:00
|
16
16
|
default_executable: padrino
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
@@ -55,16 +55,6 @@ dependencies:
|
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: 0.11.8
|
57
57
|
version:
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: haml
|
60
|
-
type: :development
|
61
|
-
version_requirement:
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 2.2.1
|
67
|
-
version:
|
68
58
|
- !ruby/object:Gem::Dependency
|
69
59
|
name: bundler
|
70
60
|
type: :runtime
|