middleman 2.0.4 → 2.0.5
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/CHANGELOG +8 -0
- data/lib/middleman.rb +7 -1
- data/lib/middleman/vendor/padrino-core-0.10.0/.document +5 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/.gitignore +22 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/LICENSE +20 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/README.rdoc +294 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/Rakefile +5 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/bin/padrino +9 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core.rb +119 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application.rb +259 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/rendering.rb +228 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/routing.rb +821 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/showexceptions.rb +18 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/caller.rb +45 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/adapter.rb +24 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/base.rb +152 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/console.rb +20 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake.rb +24 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake_tasks.rb +59 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/command.rb +27 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/404.png +0 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/500.png +0 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/loader.rb +182 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/cz.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/da.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/de.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/en.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/es.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/fr.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/hu.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/it.yml +37 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ja.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/nl.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/no.yml +31 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pl.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pt_br.yml +37 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ru.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/tr.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/uk.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_cn.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_tw.yml +30 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/logger.rb +344 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/mounter.rb +192 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/reloader.rb +247 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/router.rb +79 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/server.rb +70 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/support_lite.rb +135 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/tasks.rb +23 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/version.rb +15 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/padrino-core.gemspec +38 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.components +6 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.gitignore +7 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/complex.rb +27 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/simple.rb +33 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/a.rb +9 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/b.rb +4 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/c.rb +1 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/e.rb +13 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/f.rb +2 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/g.rb +2 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/d.rb +4 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/helper.rb +101 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_application.rb +83 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_core.rb +79 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_dependencies.rb +44 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_filters.rb +266 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_logger.rb +91 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_mounter.rb +176 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_complex.rb +66 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_simple.rb +97 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_rendering.rb +437 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_router.rb +146 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_routing.rb +1491 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/.document +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/.gitignore +21 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/LICENSE +20 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/README.rdoc +239 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/Rakefile +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers.rb +51 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/asset_tag_helpers.rb +288 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/abstract_form_builder.rb +220 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/standard_form_builder.rb +43 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_helpers.rb +446 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/format_helpers.rb +260 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/cz.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/da.yml +91 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/de.yml +78 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/en.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/es.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/fr.yml +79 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/hu.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/it.yml +85 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ja.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/nl.yml +78 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/no.yml +91 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pl.yml +95 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pt_br.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ru.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/tr.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/uk.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_cn.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_tw.yml +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/number_helpers.rb +273 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers.rb +128 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/abstract_handler.rb +103 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/erb_handler.rb +79 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/haml_handler.rb +64 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/slim_handler.rb +82 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/render_helpers.rb +40 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/tag_helpers.rb +59 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/translation_helpers.rb +21 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/padrino-helpers.gemspec +27 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/app.rb +73 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.erb +14 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.haml +12 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.slim +13 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.erb +11 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.haml +9 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.slim +9 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.erb +11 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.haml +9 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.slim +9 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.erb +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.haml +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.slim +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.erb +20 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.haml +15 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.slim +15 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.erb +56 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.haml +47 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.slim +47 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.erb +56 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.haml +45 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.slim +45 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.erb +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.haml +4 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.slim +4 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.erb +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.haml +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.slim +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.erb +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.haml +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.slim +3 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_erb.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_haml.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_slim.slim +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.slim +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/app.rb +45 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engine.haml +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_erb.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_haml.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_slim.slim +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/erb/test.erb +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/explicit_engine.haml +5 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/haml/test.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/_user.haml +7 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/haml_template.haml +1 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/some_template.haml +2 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/helper.rb +78 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_asset_tag_helpers.rb +320 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_builder.rb +998 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_helpers.rb +645 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_format_helpers.rb +227 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_number_helpers.rb +136 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_output_helpers.rb +133 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_render_helpers.rb +69 -0
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_tag_helpers.rb +100 -0
- data/lib/middleman/version.rb +1 -1
- data/middleman.gemspec +6 -2
- metadata +218 -67
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Padrino
|
|
2
|
+
##
|
|
3
|
+
# This module extend Sinatra::ShowExceptions adding Padrino as "Framework"
|
|
4
|
+
#
|
|
5
|
+
class ShowExceptions < Sinatra::ShowExceptions
|
|
6
|
+
def frame_class(frame)
|
|
7
|
+
if frame.filename =~ /lib\/sinatra.*\.rb|lib\/padrino.*\.rb/
|
|
8
|
+
"framework"
|
|
9
|
+
elsif (defined?(Gem) && frame.filename.include?(Gem.dir)) ||
|
|
10
|
+
frame.filename =~ /\/bin\/(\w+)$/ ||
|
|
11
|
+
frame.filename =~ /Ruby\/Gems/
|
|
12
|
+
"system"
|
|
13
|
+
else
|
|
14
|
+
"app"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end # ShowExceptions
|
|
18
|
+
end # Padrino
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module Padrino
|
|
2
|
+
PADRINO_IGNORE_CALLERS = [
|
|
3
|
+
%r{lib/padrino-.*$}, # all padrino code
|
|
4
|
+
%r{/padrino-.*/(lib|bin)}, # all padrino code
|
|
5
|
+
%r{/bin/padrino$}, # all padrino code
|
|
6
|
+
%r{/sinatra(/(base|main|showexceptions))?\.rb$}, # all sinatra code
|
|
7
|
+
%r{lib/tilt.*\.rb$}, # all tilt code
|
|
8
|
+
%r{lib/rack.*\.rb$}, # all rack code
|
|
9
|
+
%r{lib/mongrel.*\.rb$}, # all mongrel code
|
|
10
|
+
%r{lib/shotgun.*\.rb$}, # all shotgun lib
|
|
11
|
+
%r{bin/shotgun$}, # shotgun binary
|
|
12
|
+
%r{\(.*\)}, # generated code
|
|
13
|
+
%r{shoulda/context\.rb$}, # shoulda hacks
|
|
14
|
+
%r{mocha/integration}, # mocha hacks
|
|
15
|
+
%r{test/unit}, # test unit hacks
|
|
16
|
+
%r{rake_test_loader\.rb}, # rake hacks
|
|
17
|
+
%r{custom_require\.rb$}, # rubygems require hacks
|
|
18
|
+
%r{active_support}, # active_support require hacks
|
|
19
|
+
%r{/thor} # thor require hacks
|
|
20
|
+
] unless defined?(PADRINO_IGNORE_CALLERS)
|
|
21
|
+
|
|
22
|
+
##
|
|
23
|
+
# Add rubinius (and hopefully other VM impls) ignore patterns ...
|
|
24
|
+
#
|
|
25
|
+
PADRINO_IGNORE_CALLERS.concat(RUBY_IGNORE_CALLERS) if defined?(RUBY_IGNORE_CALLERS)
|
|
26
|
+
|
|
27
|
+
private
|
|
28
|
+
##
|
|
29
|
+
# Returns the filename for the file that is the direct caller (first caller)
|
|
30
|
+
#
|
|
31
|
+
def self.first_caller
|
|
32
|
+
caller_files.first
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
##
|
|
36
|
+
# Like Kernel#caller but excluding certain magic entries and without
|
|
37
|
+
# line / method information; the resulting array contains filenames only.
|
|
38
|
+
#
|
|
39
|
+
def self.caller_files
|
|
40
|
+
caller(1).
|
|
41
|
+
map { |line| line.split(/:(?=\d|in )/)[0,2] }.
|
|
42
|
+
reject { |file,line| PADRINO_IGNORE_CALLERS.any? { |pattern| file =~ pattern } }.
|
|
43
|
+
map { |file,line| file }
|
|
44
|
+
end
|
|
45
|
+
end # Padrino
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Padrino
|
|
2
|
+
module Cli
|
|
3
|
+
module Adapter
|
|
4
|
+
class << self
|
|
5
|
+
# Start for the given options a rackup handler
|
|
6
|
+
def start(options)
|
|
7
|
+
Padrino.run!(options.symbolize_keys)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Method that stop (if exist) a running Padrino.application
|
|
11
|
+
def stop(options)
|
|
12
|
+
options.symbolize_keys!
|
|
13
|
+
if File.exist?(options[:pid])
|
|
14
|
+
pid = File.read(options[:pid]).to_i
|
|
15
|
+
print "=> Sending INT to process with pid #{pid} wait "
|
|
16
|
+
Process.kill(2, pid) rescue nil
|
|
17
|
+
else
|
|
18
|
+
puts "=> #{options[:pid]} not found!"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end # self
|
|
22
|
+
end # Adapter
|
|
23
|
+
end # Cli
|
|
24
|
+
end # Padrino
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
require 'thor'
|
|
2
|
+
|
|
3
|
+
module Padrino
|
|
4
|
+
module Cli
|
|
5
|
+
|
|
6
|
+
class Base < Thor
|
|
7
|
+
include Thor::Actions
|
|
8
|
+
|
|
9
|
+
class_option :chdir, :type => :string, :aliases => "-c", :desc => "Change to dir before starting"
|
|
10
|
+
class_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development, :desc => "Padrino Environment"
|
|
11
|
+
class_option :help, :type => :boolean, :desc => "Show help usage"
|
|
12
|
+
|
|
13
|
+
desc "start", "Starts the Padrino application"
|
|
14
|
+
method_option :server, :type => :string, :aliases => "-a", :desc => "Rack Handler (default: autodetect)"
|
|
15
|
+
method_option :host, :type => :string, :aliases => "-h", :required => true, :default => "0.0.0.0", :desc => "Bind to HOST address"
|
|
16
|
+
method_option :port, :type => :numeric, :aliases => "-p", :required => true, :default => 3000, :desc => "Use PORT"
|
|
17
|
+
method_option :daemonize, :type => :boolean, :aliases => "-d", :desc => "Run daemonized in the background"
|
|
18
|
+
method_option :pid, :type => :string, :aliases => "-i", :desc => "File to store pid"
|
|
19
|
+
method_option :debug, :type => :boolean, :desc => "Set debugging flags"
|
|
20
|
+
def start
|
|
21
|
+
prepare :start
|
|
22
|
+
require File.expand_path("../adapter", __FILE__)
|
|
23
|
+
require File.expand_path('config/boot.rb')
|
|
24
|
+
Padrino::Cli::Adapter.start(options)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
desc "s", "Starts the Padrino application"
|
|
28
|
+
def s
|
|
29
|
+
invoke :start
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
desc "stop", "Stops the Padrino application"
|
|
33
|
+
method_option :pid, :type => :string, :aliases => "-p", :desc => "File to store pid", :default => 'tmp/pids/server.pid'
|
|
34
|
+
def stop
|
|
35
|
+
prepare :stop
|
|
36
|
+
require File.expand_path("../adapter", __FILE__)
|
|
37
|
+
Padrino::Cli::Adapter.stop(options)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
desc "rake", "Execute rake tasks"
|
|
41
|
+
method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
|
|
42
|
+
method_option :list, :type => :string, :aliases => "-T", :desc => "Display the tasks (matching optional PATTERN) with descriptions, then exit."
|
|
43
|
+
method_option :trace, :type => :boolean, :aliases => "-t", :desc => "Turn on invoke/execute tracing, enable full backtrace."
|
|
44
|
+
method_option :verbose, :type => :boolean, :aliases => "-v", :desc => "Log message to standard output."
|
|
45
|
+
def rake(*args)
|
|
46
|
+
prepare :rake
|
|
47
|
+
args << "-T" if options[:list]
|
|
48
|
+
args << options[:list] unless options[:list].nil? || options[:list].to_s == "list"
|
|
49
|
+
args << "--trace" if options[:trace]
|
|
50
|
+
args << "--verbose" if options[:verbose]
|
|
51
|
+
ARGV.clear
|
|
52
|
+
ARGV.concat(args)
|
|
53
|
+
puts "=> Executing Rake #{ARGV.join(' ')} ..."
|
|
54
|
+
ENV['PADRINO_LOG_LEVEL'] ||= "test"
|
|
55
|
+
load File.expand_path('../rake.rb', __FILE__)
|
|
56
|
+
silence(:stdout) { require File.expand_path('config/boot.rb') }
|
|
57
|
+
PadrinoTasks.init(true)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
desc "console", "Boots up the Padrino application irb console"
|
|
61
|
+
def console
|
|
62
|
+
prepare :console
|
|
63
|
+
require File.expand_path("../../version", __FILE__)
|
|
64
|
+
ARGV.clear
|
|
65
|
+
puts "=> Loading #{options.environment} console (Padrino v.#{Padrino.version})"
|
|
66
|
+
require 'irb'
|
|
67
|
+
require "irb/completion"
|
|
68
|
+
require File.expand_path('config/boot.rb')
|
|
69
|
+
require File.expand_path('../console', __FILE__)
|
|
70
|
+
IRB.start
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
desc "generate", "Executes the Padrino generator with given options."
|
|
74
|
+
def generate(*args)
|
|
75
|
+
# Build Padrino g as an alias of padrino-gen
|
|
76
|
+
begin
|
|
77
|
+
# We try to load the vendored padrino-gen if exist
|
|
78
|
+
padrino_gen_path = File.expand_path('../../../../../padrino-gen/lib', __FILE__)
|
|
79
|
+
$:.unshift(padrino_gen_path) if File.directory?(padrino_gen_path) && !$:.include?(padrino_gen_path)
|
|
80
|
+
require 'padrino-core/command'
|
|
81
|
+
require 'padrino-gen/command'
|
|
82
|
+
ARGV.shift
|
|
83
|
+
Padrino.bin_gen(ARGV)
|
|
84
|
+
rescue
|
|
85
|
+
puts "<= You need padrino-gen! Run: gem install padrino-gen"
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
desc "g", "Executes the Padrino generator with given options."
|
|
90
|
+
def g(*args)
|
|
91
|
+
invoke(:generate, args)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
desc "gen", "Executes the Padrino generator with given options."
|
|
95
|
+
def gen(*args)
|
|
96
|
+
invoke(:generate, args)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
desc "version", "Show current Padrino Version"
|
|
100
|
+
map "-v" => :version, "--version" => :version
|
|
101
|
+
def version
|
|
102
|
+
require 'padrino-core/version'
|
|
103
|
+
puts "Padrino v. #{Padrino.version}"
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
private
|
|
107
|
+
def prepare(task)
|
|
108
|
+
if options.help?
|
|
109
|
+
help(task.to_s)
|
|
110
|
+
raise SystemExit
|
|
111
|
+
end
|
|
112
|
+
ENV["PADRINO_ENV"] ||= options.environment.to_s
|
|
113
|
+
ENV["RACK_ENV"] = ENV["PADRINO_ENV"] # Also set this for middleware
|
|
114
|
+
chdir(options.chdir)
|
|
115
|
+
unless File.exist?('config/boot.rb')
|
|
116
|
+
puts "=> Could not find boot file in: #{options.chdir}/config/boot.rb !!!"
|
|
117
|
+
raise SystemExit
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
protected
|
|
122
|
+
def self.banner(task=nil, *args)
|
|
123
|
+
"padrino #{task.name}"
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def chdir(dir)
|
|
127
|
+
return unless dir
|
|
128
|
+
begin
|
|
129
|
+
Dir.chdir(dir.to_s)
|
|
130
|
+
rescue Errno::ENOENT
|
|
131
|
+
puts "=> Specified Padrino root '#{dir}' does not appear to exist!"
|
|
132
|
+
rescue Errno::EACCES
|
|
133
|
+
puts "=> Specified Padrino root '#{dir}' cannot be accessed by the current user!"
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def capture(stream)
|
|
138
|
+
begin
|
|
139
|
+
stream = stream.to_s
|
|
140
|
+
eval "$#{stream} = StringIO.new"
|
|
141
|
+
yield
|
|
142
|
+
result = eval("$#{stream}").string
|
|
143
|
+
ensure
|
|
144
|
+
eval("$#{stream} = #{stream.upcase}")
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
result
|
|
148
|
+
end
|
|
149
|
+
alias :silence :capture
|
|
150
|
+
end # Base
|
|
151
|
+
end # Cli
|
|
152
|
+
end # Padrino
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Reloads classes
|
|
2
|
+
def reload!
|
|
3
|
+
Padrino.reload!
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# Show applications
|
|
7
|
+
def applications
|
|
8
|
+
puts "==== List of Mounted Applications ====\n\n"
|
|
9
|
+
Padrino.mounted_apps.each do |app|
|
|
10
|
+
puts " * %-10s mapped to %s" % [app.name, app.uri_root]
|
|
11
|
+
end
|
|
12
|
+
puts
|
|
13
|
+
Padrino.mounted_apps.map { |app| "#{app.name} => #{app.uri_root}" }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Load apps
|
|
17
|
+
Padrino.mounted_apps.each do |app|
|
|
18
|
+
puts "=> Loading Application #{app.app_class}"
|
|
19
|
+
app.app_obj.setup_application!
|
|
20
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require File.expand_path('../../tasks', __FILE__)
|
|
2
|
+
require 'rake'
|
|
3
|
+
require 'thor'
|
|
4
|
+
require 'securerandom' unless defined?(SecureRandom)
|
|
5
|
+
|
|
6
|
+
module PadrinoTasks
|
|
7
|
+
def self.init(init=false)
|
|
8
|
+
Padrino::Tasks.files.flatten.uniq.each { |rakefile| Rake.application.add_import(rakefile) rescue puts "<= Failed load #{ext}" }
|
|
9
|
+
if init
|
|
10
|
+
Rake.application.init
|
|
11
|
+
Rake.application.instance_variable_set(:@rakefile, __FILE__)
|
|
12
|
+
load(File.expand_path('../rake_tasks.rb', __FILE__))
|
|
13
|
+
Rake.application.load_imports
|
|
14
|
+
Rake.application.top_level
|
|
15
|
+
else
|
|
16
|
+
load(File.expand_path('../rake_tasks.rb', __FILE__))
|
|
17
|
+
Rake.application.load_imports
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def shell
|
|
23
|
+
@_shell ||= Thor::Base.shell.new
|
|
24
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Load rake tasks from common rake task definition locations
|
|
2
|
+
Dir["lib/tasks/**/*.rake"].
|
|
3
|
+
concat(Dir["tasks/**/*.rake"]).
|
|
4
|
+
concat(Dir["{test,spec}/*.rake"]).each { |rake| load(rake) }
|
|
5
|
+
|
|
6
|
+
# Loads the Padrino applications mounted within the project
|
|
7
|
+
# setting up the required environment for Padrino
|
|
8
|
+
task :environment do
|
|
9
|
+
Padrino.mounted_apps.each do |app|
|
|
10
|
+
app.app_obj.setup_application!
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
desc "Generate a secret key"
|
|
15
|
+
task :secret do
|
|
16
|
+
shell.say SecureRandom.hex(32)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# lists all routes of a given app
|
|
20
|
+
def list_app_routes(app, args)
|
|
21
|
+
app_routes = app.named_routes
|
|
22
|
+
app_routes.reject! { |r| r.identifier.to_s !~ /#{args.query}/ } if args.query.present?
|
|
23
|
+
app_routes.map! { |r| [r.verb, r.name, r.path] }
|
|
24
|
+
return if app_routes.empty?
|
|
25
|
+
shell.say "\nApplication: #{app.app_class}", :yellow
|
|
26
|
+
app_routes.unshift(["REQUEST", "URL", "PATH"])
|
|
27
|
+
max_col_1 = app_routes.max { |a, b| a[0].size <=> b[0].size }[0].size
|
|
28
|
+
max_col_2 = app_routes.max { |a, b| a[1].size <=> b[1].size }[1].size
|
|
29
|
+
app_routes.each_with_index do |row, i|
|
|
30
|
+
message = [row[1].ljust(max_col_2+2), row[0].center(max_col_1+2), row[2]]
|
|
31
|
+
shell.say(" " + message.join(" "), i==0 ? :bold : nil)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
desc "Displays a listing of the named routes within a project, optionally only those matched by [query]"
|
|
36
|
+
task :routes, [:query] => :environment do |t, args|
|
|
37
|
+
Padrino.mounted_apps.each do |app|
|
|
38
|
+
list_app_routes(app, args)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
desc "Displays a listing of the named routes a given app [app]"
|
|
43
|
+
namespace :routes do
|
|
44
|
+
task :app, [:app] => :environment do |t, args|
|
|
45
|
+
app = Padrino.mounted_apps.find { |app| app.app_class == args.app }
|
|
46
|
+
list_app_routes(app, args) if app
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
desc "Generate the Rakefile"
|
|
51
|
+
task :gen do
|
|
52
|
+
File.open(Padrino.root("Rakefile"), "w") do |file|
|
|
53
|
+
file.puts <<-RUBY.gsub(/^ {6}/, '')
|
|
54
|
+
require File.expand_path('../config/boot.rb', __FILE__)
|
|
55
|
+
require 'padrino-core/cli/rake'
|
|
56
|
+
PadrinoTasks.init
|
|
57
|
+
RUBY
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'rbconfig'
|
|
2
|
+
|
|
3
|
+
module Padrino
|
|
4
|
+
##
|
|
5
|
+
# This method return the correct location of padrino bin or
|
|
6
|
+
# exec it using Kernel#system with the given args
|
|
7
|
+
#
|
|
8
|
+
def self.bin(*args)
|
|
9
|
+
@_padrino_bin ||= [self.ruby_command, File.expand_path("../../../bin/padrino", __FILE__)]
|
|
10
|
+
args.empty? ? @_padrino_bin : system(args.unshift(@_padrino_bin).join(" "))
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
##
|
|
14
|
+
# Return the path to the ruby interpreter taking into account multiple
|
|
15
|
+
# installations and windows extensions.
|
|
16
|
+
#
|
|
17
|
+
def self.ruby_command
|
|
18
|
+
@ruby_command ||= begin
|
|
19
|
+
ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
|
20
|
+
ruby << Config::CONFIG['EXEEXT']
|
|
21
|
+
|
|
22
|
+
# escape string in case path to ruby executable contain spaces.
|
|
23
|
+
ruby.sub!(/.*\s.*/m, '"\&"')
|
|
24
|
+
ruby
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end # Padrino
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
module Padrino
|
|
2
|
+
class << self
|
|
3
|
+
|
|
4
|
+
##
|
|
5
|
+
# Hooks to be called before a load/reload
|
|
6
|
+
#
|
|
7
|
+
# ==== Examples
|
|
8
|
+
#
|
|
9
|
+
# before_load do
|
|
10
|
+
# pre_initialize_something
|
|
11
|
+
# end
|
|
12
|
+
#
|
|
13
|
+
#
|
|
14
|
+
def before_load(&block)
|
|
15
|
+
@_before_load ||= []
|
|
16
|
+
@_before_load << block if block_given?
|
|
17
|
+
@_before_load
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
##
|
|
21
|
+
# Hooks to be called after a load/reload
|
|
22
|
+
#
|
|
23
|
+
# ==== Examples
|
|
24
|
+
#
|
|
25
|
+
# after_load do
|
|
26
|
+
# DataMapper.finalize
|
|
27
|
+
# end
|
|
28
|
+
#
|
|
29
|
+
#
|
|
30
|
+
def after_load(&block)
|
|
31
|
+
@_after_load ||= []
|
|
32
|
+
@_after_load << block if block_given?
|
|
33
|
+
@_after_load
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
##
|
|
37
|
+
# Returns the used $LOAD_PATHS from padrino
|
|
38
|
+
#
|
|
39
|
+
def load_paths
|
|
40
|
+
@_load_paths_was = %w(lib models shared).map { |path| Padrino.root(path) }
|
|
41
|
+
@_load_paths ||= @_load_paths_was
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
##
|
|
45
|
+
# Requires necessary dependencies as well as application files from root lib and models
|
|
46
|
+
#
|
|
47
|
+
def load!
|
|
48
|
+
return false if loaded?
|
|
49
|
+
@_called_from = first_caller
|
|
50
|
+
Padrino.set_encoding
|
|
51
|
+
Padrino.set_load_paths(*load_paths) # We set the padrino load paths
|
|
52
|
+
Padrino::Logger.setup! # Initialize our logger
|
|
53
|
+
Padrino.require_dependencies("#{root}/config/database.rb", :nodeps => true) # Be sure to don't remove constants from dbs.
|
|
54
|
+
Padrino::Reloader.lock! # Now we can remove constant from here to down
|
|
55
|
+
Padrino.before_load.each(&:call) # Run before hooks
|
|
56
|
+
Padrino.dependency_paths.each { |path| Padrino.require_dependencies(path) }
|
|
57
|
+
Padrino.after_load.each(&:call) # Run after hooks
|
|
58
|
+
Padrino::Reloader.run!
|
|
59
|
+
Thread.current[:padrino_loaded] = true
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
##
|
|
63
|
+
# Clear the padrino env
|
|
64
|
+
#
|
|
65
|
+
def clear!
|
|
66
|
+
Padrino.clear_middleware!
|
|
67
|
+
Padrino.mounted_apps.clear
|
|
68
|
+
@_load_paths = nil
|
|
69
|
+
@_dependency_paths = nil
|
|
70
|
+
@_global_configuration = nil
|
|
71
|
+
Padrino.before_load.clear
|
|
72
|
+
Padrino.after_load.clear
|
|
73
|
+
Padrino::Reloader.clear!
|
|
74
|
+
Thread.current[:padrino_loaded] = nil
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
##
|
|
78
|
+
# Method for reloading required applications and their files
|
|
79
|
+
#
|
|
80
|
+
def reload!
|
|
81
|
+
Padrino.before_load.each(&:call) # Run before hooks
|
|
82
|
+
Padrino::Reloader.reload! # detects the modified files
|
|
83
|
+
Padrino.after_load.each(&:call) # Run after hooks
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# This adds the ablity to instantiate Padrino.load! after Padrino::Application definition.
|
|
88
|
+
#
|
|
89
|
+
def called_from
|
|
90
|
+
@_called_from || first_caller
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
##
|
|
94
|
+
# Return true if Padrino was loaded with Padrino.load!
|
|
95
|
+
#
|
|
96
|
+
def loaded?
|
|
97
|
+
Thread.current[:padrino_loaded]
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
##
|
|
101
|
+
# Attempts to require all dependency libs that we need.
|
|
102
|
+
# If you use this method we can perform correctly a Padrino.reload!
|
|
103
|
+
# Another good thing that this method are dependency check, for example:
|
|
104
|
+
#
|
|
105
|
+
# models
|
|
106
|
+
# \-- a.rb => require something of b.rb
|
|
107
|
+
# \-- b.rb
|
|
108
|
+
#
|
|
109
|
+
# In the example above if we do:
|
|
110
|
+
#
|
|
111
|
+
# Dir["/models/*.rb"].each { |r| require r }
|
|
112
|
+
#
|
|
113
|
+
# we get an error, because we try to require first a.rb that need +something+ of b.rb.
|
|
114
|
+
#
|
|
115
|
+
# With +require_dependencies+ we don't have this problem.
|
|
116
|
+
#
|
|
117
|
+
# ==== Examples
|
|
118
|
+
#
|
|
119
|
+
# # For require all our app libs we need to do:
|
|
120
|
+
# require_dependencies("#{Padrino.root}/lib/**/*.rb")
|
|
121
|
+
#
|
|
122
|
+
def require_dependencies(*paths)
|
|
123
|
+
options = paths.extract_options!
|
|
124
|
+
|
|
125
|
+
# Extract all files to load
|
|
126
|
+
files = paths.flatten.map { |path| Dir[path] }.flatten.uniq.sort
|
|
127
|
+
|
|
128
|
+
while files.present?
|
|
129
|
+
# List of errors and failed files
|
|
130
|
+
errors, failed = [], []
|
|
131
|
+
|
|
132
|
+
# We need a size to make sure things are loading
|
|
133
|
+
size_at_start = files.size
|
|
134
|
+
|
|
135
|
+
# Now we try to require our dependencies, we dup files
|
|
136
|
+
# so we don't perform delete on the original array during
|
|
137
|
+
# iteration, this prevent problems with rubinus
|
|
138
|
+
files.dup.each do |file|
|
|
139
|
+
begin
|
|
140
|
+
Padrino::Reloader.safe_load(file, options.dup)
|
|
141
|
+
files.delete(file)
|
|
142
|
+
rescue LoadError => e
|
|
143
|
+
errors << e
|
|
144
|
+
failed << file
|
|
145
|
+
rescue NameError => e
|
|
146
|
+
errors << e
|
|
147
|
+
failed << file
|
|
148
|
+
rescue Exception => e
|
|
149
|
+
raise e
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Stop processing if nothing loads or if everything has loaded
|
|
154
|
+
raise errors.last if files.size == size_at_start && files.present?
|
|
155
|
+
break if files.empty?
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
##
|
|
160
|
+
# Returns default list of path globs to load as dependencies
|
|
161
|
+
# Appends custom dependency patterns to the be loaded for Padrino
|
|
162
|
+
#
|
|
163
|
+
# ==== Examples
|
|
164
|
+
# Padrino.dependency_paths << "#{Padrino.root}/uploaders/*.rb"
|
|
165
|
+
#
|
|
166
|
+
def dependency_paths
|
|
167
|
+
@_dependency_paths_was = [
|
|
168
|
+
"#{root}/config/database.rb", "#{root}/lib/**/*.rb", "#{root}/shared/lib/**/*.rb",
|
|
169
|
+
"#{root}/models/**/*.rb", "#{root}/shared/models/**/*.rb", "#{root}/config/apps.rb"
|
|
170
|
+
]
|
|
171
|
+
@_dependency_paths ||= @_dependency_paths_was
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
##
|
|
175
|
+
# Concat to $LOAD_PATH the given paths
|
|
176
|
+
#
|
|
177
|
+
def set_load_paths(*paths)
|
|
178
|
+
$:.concat(paths); load_paths.concat(paths)
|
|
179
|
+
$:.uniq!; load_paths.uniq!
|
|
180
|
+
end
|
|
181
|
+
end # self
|
|
182
|
+
end # Padrino
|