padrino-core 0.16.0.pre3 → 0.16.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.rdoc +8 -8
- data/Rakefile +1 -1
- data/bin/padrino +1 -1
- data/lib/padrino-core/application/application_setup.rb +28 -26
- data/lib/padrino-core/application/authenticity_token.rb +3 -2
- data/lib/padrino-core/application/flash.rb +4 -5
- data/lib/padrino-core/application/params_protection.rb +34 -37
- data/lib/padrino-core/application/routing.rb +165 -164
- data/lib/padrino-core/application/show_exceptions.rb +5 -7
- data/lib/padrino-core/application.rb +4 -4
- data/lib/padrino-core/caller.rb +28 -30
- data/lib/padrino-core/cli/adapter.rb +4 -4
- data/lib/padrino-core/cli/base.rb +31 -32
- data/lib/padrino-core/cli/binstub.rb +9 -8
- data/lib/padrino-core/cli/console.rb +1 -1
- data/lib/padrino-core/cli/launcher.rb +45 -42
- data/lib/padrino-core/cli/rake.rb +16 -14
- data/lib/padrino-core/cli/rake_tasks.rb +18 -20
- data/lib/padrino-core/command.rb +1 -1
- data/lib/padrino-core/ext/sinatra.rb +3 -2
- data/lib/padrino-core/filter.rb +3 -3
- data/lib/padrino-core/loader.rb +10 -12
- data/lib/padrino-core/logger.rb +87 -78
- data/lib/padrino-core/mounter/application_extension.rb +2 -2
- data/lib/padrino-core/mounter.rb +33 -34
- data/lib/padrino-core/path_router/compiler.rb +8 -8
- data/lib/padrino-core/path_router/matcher.rb +11 -11
- data/lib/padrino-core/path_router/route.rb +15 -15
- data/lib/padrino-core/path_router.rb +4 -3
- data/lib/padrino-core/reloader/rack.rb +1 -1
- data/lib/padrino-core/reloader/storage.rb +12 -11
- data/lib/padrino-core/reloader.rb +18 -19
- data/lib/padrino-core/router.rb +14 -14
- data/lib/padrino-core/server.rb +20 -24
- data/lib/padrino-core/tasks.rb +0 -1
- data/lib/padrino-core/version.rb +1 -1
- data/lib/padrino-core.rb +9 -10
- data/padrino-core.gemspec +18 -17
- data/test/fixtures/app_gem/app_gem.gemspec +8 -7
- data/test/fixtures/app_gem/lib/app_gem/version.rb +1 -1
- data/test/fixtures/apps/complex.rb +6 -6
- data/test/fixtures/apps/concerned/app.rb +1 -1
- data/test/fixtures/apps/custom_dependencies/custom_dependencies.rb +3 -3
- data/test/fixtures/apps/demo_app.rb +1 -1
- data/test/fixtures/apps/demo_demo.rb +1 -1
- data/test/fixtures/apps/demo_project/api/app.rb +1 -1
- data/test/fixtures/apps/demo_project/app.rb +1 -1
- data/test/fixtures/apps/helpers/class_methods_helpers.rb +1 -0
- data/test/fixtures/apps/helpers/instance_methods_helpers.rb +1 -0
- data/test/fixtures/apps/helpers/system_helpers.rb +0 -1
- data/test/fixtures/apps/lib/myklass/mysubklass.rb +2 -2
- data/test/fixtures/apps/mountable_apps/rack_apps.rb +7 -7
- data/test/fixtures/apps/precompiled_app.rb +6 -5
- data/test/fixtures/apps/simple.rb +5 -5
- data/test/fixtures/apps/static.rb +2 -2
- data/test/fixtures/apps/stealthy/app.rb +1 -1
- data/test/fixtures/apps/stealthy/helpers/stealthy_class_helpers.rb +1 -1
- data/test/fixtures/apps/system.rb +1 -1
- data/test/fixtures/apps/system_class_methods_demo.rb +1 -1
- data/test/fixtures/apps/system_instance_methods_demo.rb +1 -1
- data/test/fixtures/dependencies/a.rb +1 -1
- data/test/fixtures/dependencies/b.rb +1 -1
- data/test/fixtures/dependencies/c.rb +1 -1
- data/test/fixtures/dependencies/circular/e.rb +2 -1
- data/test/fixtures/dependencies/d.rb +1 -1
- data/test/fixtures/dependencies/linear/i.rb +1 -1
- data/test/fixtures/dependencies/nested/l.rb +2 -2
- data/test/fixtures/dependencies/nested/m.rb +1 -1
- data/test/fixtures/dependencies/nested/qqq.rb +2 -2
- data/test/fixtures/dependencies/nested/rrr.rb +1 -1
- data/test/fixtures/dependencies/nested/sss.rb +1 -1
- data/test/fixtures/reloadable_apps/external/app/app.rb +0 -1
- data/test/fixtures/reloadable_apps/external/app/controllers/base.rb +1 -2
- data/test/fixtures/reloadable_apps/main/app.rb +2 -2
- data/test/helper.rb +2 -2
- data/test/test_application.rb +59 -60
- data/test/test_configuration.rb +2 -2
- data/test/test_core.rb +13 -13
- data/test/test_csrf_protection.rb +67 -63
- data/test/test_dependencies.rb +33 -34
- data/test/test_filters.rb +52 -53
- data/test/test_flash.rb +18 -18
- data/test/test_locale.rb +2 -2
- data/test/test_logger.rb +65 -65
- data/test/test_mounter.rb +133 -123
- data/test/test_params_protection.rb +40 -40
- data/test/test_reloader_complex.rb +24 -24
- data/test/test_reloader_external.rb +10 -10
- data/test/test_reloader_simple.rb +26 -23
- data/test/test_reloader_storage.rb +9 -12
- data/test/test_reloader_system.rb +29 -29
- data/test/test_restful_routing.rb +19 -19
- data/test/test_router.rb +126 -145
- data/test/test_routing.rb +897 -909
- metadata +7 -7
data/padrino-core.gemspec
CHANGED
|
@@ -2,26 +2,27 @@
|
|
|
2
2
|
require File.expand_path('lib/padrino-core/version.rb', __dir__)
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
|
-
s.name =
|
|
6
|
-
s.authors = [
|
|
7
|
-
s.email =
|
|
8
|
-
s.summary =
|
|
9
|
-
s.homepage =
|
|
10
|
-
s.description =
|
|
11
|
-
s.
|
|
5
|
+
s.name = 'padrino-core'
|
|
6
|
+
s.authors = ['Padrino Team', 'Nathan Esquenazi', "Davide D'Agostino", 'Arthur Chiu']
|
|
7
|
+
s.email = 'padrinorb@gmail.com'
|
|
8
|
+
s.summary = 'The required Padrino core gem'
|
|
9
|
+
s.homepage = 'http://www.padrinorb.com'
|
|
10
|
+
s.description = 'The Padrino core gem required for use of this framework'
|
|
11
|
+
s.required_ruby_version = '>= 2.7.8'
|
|
12
|
+
s.required_rubygems_version = '>= 1.3.6'
|
|
12
13
|
s.version = Padrino.version
|
|
13
|
-
s.date = Time.now.strftime(
|
|
14
|
-
s.license =
|
|
14
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
|
15
|
+
s.license = 'MIT'
|
|
15
16
|
|
|
16
|
-
s.extra_rdoc_files = Dir[
|
|
17
|
+
s.extra_rdoc_files = Dir['*.rdoc']
|
|
17
18
|
s.files = `git ls-files`.split("\n")
|
|
18
19
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
19
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
20
|
-
s.require_paths = [
|
|
21
|
-
s.rdoc_options = [
|
|
20
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
|
21
|
+
s.require_paths = ['lib']
|
|
22
|
+
s.rdoc_options = ['--charset=UTF-8']
|
|
22
23
|
|
|
23
|
-
s.add_dependency(
|
|
24
|
-
s.add_dependency(
|
|
25
|
-
s.add_dependency(
|
|
26
|
-
s.add_dependency(
|
|
24
|
+
s.add_dependency('padrino-support', Padrino.version)
|
|
25
|
+
s.add_dependency('rackup', '~> 2.1')
|
|
26
|
+
s.add_dependency('sinatra', '~> 4')
|
|
27
|
+
s.add_dependency('thor', '~> 1.0')
|
|
27
28
|
end
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
require 'English'
|
|
1
2
|
require File.expand_path('lib/app_gem/version', __dir__)
|
|
2
3
|
|
|
3
4
|
Gem::Specification.new do |gem|
|
|
4
|
-
gem.authors = [
|
|
5
|
-
gem.email = [
|
|
5
|
+
gem.authors = ['Florian Gilcher']
|
|
6
|
+
gem.email = ['florian.gilcher@asquera.de']
|
|
6
7
|
gem.description = 'TODO: Write a gem description'
|
|
7
8
|
gem.summary = 'TODO: Write a gem summary'
|
|
8
|
-
gem.homepage =
|
|
9
|
+
gem.homepage = ''
|
|
9
10
|
|
|
10
|
-
gem.files = `git ls-files`.split(
|
|
11
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
|
11
|
+
gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
|
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
|
12
13
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
13
|
-
gem.name =
|
|
14
|
-
gem.require_paths = [
|
|
14
|
+
gem.name = 'app_gem'
|
|
15
|
+
gem.require_paths = %w[app lib]
|
|
15
16
|
gem.version = AppGem::VERSION
|
|
16
17
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
PADRINO_ROOT =
|
|
1
|
+
PADRINO_ROOT = __dir__ unless defined? PADRINO_ROOT
|
|
2
2
|
|
|
3
3
|
module LibDemo
|
|
4
4
|
def self.give_me_a_random
|
|
@@ -8,22 +8,22 @@ end
|
|
|
8
8
|
|
|
9
9
|
class Complex1Demo < Padrino::Application
|
|
10
10
|
set :reload, true
|
|
11
|
-
get(
|
|
11
|
+
get('/old') { 'Old Sinatra Way' }
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
class Complex2Demo < Padrino::Application
|
|
15
15
|
set :reload, true
|
|
16
|
-
get(
|
|
16
|
+
get('/old') { 'Old Sinatra Way' }
|
|
17
17
|
|
|
18
18
|
controllers :var do
|
|
19
|
-
get(:destroy){ params.
|
|
19
|
+
get(:destroy) { params.to_json }
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
get(
|
|
22
|
+
get('/') { 'The magick number is: 12!' } # Change only the number!!!
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
Complex1Demo.controllers do
|
|
26
|
-
get(
|
|
26
|
+
get('/') { "Given random #{LibDemo.give_me_a_random}" }
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
Complex2Demo.controllers do
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
PADRINO_ROOT =
|
|
1
|
+
PADRINO_ROOT = __dir__ unless defined? PADRINO_ROOT
|
|
2
2
|
|
|
3
3
|
class CustomDependencies < Padrino::Application
|
|
4
4
|
set :reload, true
|
|
5
5
|
end
|
|
6
6
|
|
|
7
7
|
CustomDependencies.controllers do
|
|
8
|
-
get
|
|
9
|
-
|
|
8
|
+
get '/' do
|
|
9
|
+
'foo'
|
|
10
10
|
end
|
|
11
11
|
end
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
1
|
class RackApp
|
|
3
2
|
def self.call(env)
|
|
4
3
|
if env['PATH_INFO'] == '/404'
|
|
5
|
-
[404, {}, [
|
|
4
|
+
[404, {}, ['not found ;(']]
|
|
6
5
|
else
|
|
7
|
-
[200, {}, [
|
|
6
|
+
[200, {}, ['hello rack app']]
|
|
8
7
|
end
|
|
9
8
|
end
|
|
10
9
|
|
|
@@ -13,11 +12,12 @@ class RackApp
|
|
|
13
12
|
end
|
|
14
13
|
end
|
|
15
14
|
|
|
16
|
-
RackApp2 = ->(_){ [200, {}, [
|
|
15
|
+
RackApp2 = ->(_) { [200, {}, ['hello rack app2']] }
|
|
17
16
|
|
|
18
17
|
class SinatraApp < Sinatra::Base
|
|
19
|
-
set :public_folder,
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
set :public_folder, __dir__
|
|
19
|
+
|
|
20
|
+
get '/' do
|
|
21
|
+
'hello sinatra app'
|
|
22
22
|
end
|
|
23
23
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
PADRINO_ROOT =
|
|
1
|
+
PADRINO_ROOT = __dir__ unless defined? PADRINO_ROOT
|
|
2
2
|
|
|
3
3
|
Padrino.configure_apps do
|
|
4
4
|
set :precompile_routes, true
|
|
@@ -6,14 +6,15 @@ end
|
|
|
6
6
|
|
|
7
7
|
module PrecompiledApp
|
|
8
8
|
class App < Padrino::Application
|
|
9
|
-
10.times{|n| get("/#{n}"){} }
|
|
9
|
+
10.times { |n| get("/#{n}") {} }
|
|
10
10
|
end
|
|
11
|
+
|
|
11
12
|
class SubApp < Padrino::Application
|
|
12
|
-
10.times{|n| get("/#{n}"){} }
|
|
13
|
+
10.times { |n| get("/#{n}") {} }
|
|
13
14
|
end
|
|
14
15
|
end
|
|
15
16
|
|
|
16
|
-
Padrino.mount(
|
|
17
|
-
Padrino.mount(
|
|
17
|
+
Padrino.mount('PrecompiledApp::SubApp').to('/subapp')
|
|
18
|
+
Padrino.mount('PrecompiledApp::App').to('/')
|
|
18
19
|
|
|
19
20
|
Padrino.load!
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
PADRINO_ROOT =
|
|
1
|
+
PADRINO_ROOT = __dir__ unless defined? PADRINO_ROOT
|
|
2
2
|
# Remove this comment if you want do some like this: ruby RACK_ENV=test app.rb
|
|
3
3
|
#
|
|
4
4
|
# require 'padrino-core'
|
|
@@ -8,16 +8,16 @@ class SimpleDemo < Padrino::Application
|
|
|
8
8
|
set :reload, true
|
|
9
9
|
before { true }
|
|
10
10
|
after { true }
|
|
11
|
-
error(404) {
|
|
11
|
+
error(404) { '404' }
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
SimpleDemo.controllers do
|
|
15
|
-
get
|
|
15
|
+
get '/' do
|
|
16
16
|
'The magick number is: 2767356926488785838763860464013972991031534522105386787489885890443740254365!' # Change only the number!!!
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
get
|
|
20
|
-
rand(2
|
|
19
|
+
get '/rand' do
|
|
20
|
+
rand(2**256).to_s
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
PADRINO_ROOT =
|
|
1
|
+
PADRINO_ROOT = __dir__ unless defined? PADRINO_ROOT
|
|
2
2
|
|
|
3
3
|
class StaticDemo < Padrino::Application
|
|
4
4
|
disable :reload
|
|
5
5
|
def self.reload!
|
|
6
|
-
|
|
6
|
+
raise 'reload! called'
|
|
7
7
|
end
|
|
8
8
|
end
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
C =
|
|
1
|
+
C = 'C'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
raise
|
data/test/helper.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
ENV['RACK_ENV'] = 'test'
|
|
2
|
-
PADRINO_ROOT =
|
|
2
|
+
PADRINO_ROOT = __dir__ unless defined?(PADRINO_ROOT)
|
|
3
3
|
|
|
4
4
|
require 'minitest/autorun'
|
|
5
5
|
require 'minitest/pride'
|
|
@@ -19,7 +19,7 @@ class Minitest::Spec
|
|
|
19
19
|
# Sets up a Sinatra::Base subclass defined with the block
|
|
20
20
|
# given. Used in setup or individual spec methods to establish
|
|
21
21
|
# the application.
|
|
22
|
-
def mock_app(base=Padrino::Application, &block)
|
|
22
|
+
def mock_app(base = Padrino::Application, &block)
|
|
23
23
|
@app = Sinatra.new(base, &block)
|
|
24
24
|
end
|
|
25
25
|
|