middleman 2.0.7 → 2.0.8
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/.gitignore +1 -0
- data/.travis.yml +0 -1
- data/CHANGELOG +8 -0
- data/Gemfile +1 -1
- data/features/data.feature +6 -1
- data/features/markdown.feature +7 -0
- data/features/sprockets.feature +11 -1
- data/features/sprockets_gems.feature +3 -3
- data/fixtures/sprockets-app/source/jquery_include.js +1 -0
- data/fixtures/test-app/config.rb +2 -0
- data/fixtures/test-app/source/data2.html.liquid +1 -0
- data/fixtures/test-app/source/javascripts/multiple_engines.js.coffee.erb +1 -0
- data/fixtures/test-app/source/markdown.html.markdown +1 -0
- data/lib/middleman.rb +0 -6
- data/lib/middleman/base.rb +6 -1
- data/lib/middleman/builder.rb +6 -4
- data/lib/middleman/core_extensions/data.rb +35 -5
- data/lib/middleman/core_extensions/front_matter.rb +9 -2
- data/lib/middleman/core_extensions/sprockets.rb +25 -1
- data/lib/middleman/renderers/markdown.rb +25 -2
- data/lib/middleman/version.rb +1 -1
- data/middleman.gemspec +7 -6
- metadata +112 -251
- data/lib/middleman/vendor/padrino-core-0.10.0/.document +0 -5
- data/lib/middleman/vendor/padrino-core-0.10.0/.gitignore +0 -22
- data/lib/middleman/vendor/padrino-core-0.10.0/LICENSE +0 -20
- data/lib/middleman/vendor/padrino-core-0.10.0/README.rdoc +0 -294
- data/lib/middleman/vendor/padrino-core-0.10.0/Rakefile +0 -5
- data/lib/middleman/vendor/padrino-core-0.10.0/bin/padrino +0 -9
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core.rb +0 -119
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application.rb +0 -259
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/rendering.rb +0 -228
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/routing.rb +0 -821
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/showexceptions.rb +0 -18
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/caller.rb +0 -45
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/adapter.rb +0 -24
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/base.rb +0 -152
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/console.rb +0 -20
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake.rb +0 -24
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake_tasks.rb +0 -59
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/command.rb +0 -27
- 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 +0 -182
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/cz.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/da.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/de.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/en.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/es.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/fr.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/hu.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/it.yml +0 -37
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ja.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/nl.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/no.yml +0 -31
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pl.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pt_br.yml +0 -37
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ru.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/tr.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/uk.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_cn.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_tw.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/logger.rb +0 -344
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/mounter.rb +0 -192
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/reloader.rb +0 -247
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/router.rb +0 -79
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/server.rb +0 -70
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/support_lite.rb +0 -135
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/tasks.rb +0 -23
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/version.rb +0 -15
- data/lib/middleman/vendor/padrino-core-0.10.0/padrino-core.gemspec +0 -38
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.components +0 -6
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.gitignore +0 -7
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/complex.rb +0 -27
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/simple.rb +0 -33
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/a.rb +0 -9
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/b.rb +0 -4
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/c.rb +0 -1
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/e.rb +0 -13
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/f.rb +0 -2
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/g.rb +0 -2
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/d.rb +0 -4
- data/lib/middleman/vendor/padrino-core-0.10.0/test/helper.rb +0 -101
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_application.rb +0 -83
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_core.rb +0 -79
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_dependencies.rb +0 -44
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_filters.rb +0 -266
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_logger.rb +0 -91
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_mounter.rb +0 -176
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_complex.rb +0 -66
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_simple.rb +0 -97
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_rendering.rb +0 -437
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_router.rb +0 -146
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_routing.rb +0 -1491
- data/lib/middleman/vendor/padrino-helpers-0.10.0/.document +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/.gitignore +0 -21
- data/lib/middleman/vendor/padrino-helpers-0.10.0/LICENSE +0 -20
- data/lib/middleman/vendor/padrino-helpers-0.10.0/README.rdoc +0 -239
- data/lib/middleman/vendor/padrino-helpers-0.10.0/Rakefile +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers.rb +0 -51
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/asset_tag_helpers.rb +0 -288
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -220
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -43
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_helpers.rb +0 -446
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/format_helpers.rb +0 -260
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/cz.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/da.yml +0 -91
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/de.yml +0 -78
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/en.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/es.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/fr.yml +0 -79
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/hu.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/it.yml +0 -85
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ja.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/nl.yml +0 -78
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/no.yml +0 -91
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pl.yml +0 -95
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pt_br.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ru.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/tr.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/uk.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_cn.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_tw.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/number_helpers.rb +0 -273
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers.rb +0 -128
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -79
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -64
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -82
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/render_helpers.rb +0 -40
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/tag_helpers.rb +0 -59
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/translation_helpers.rb +0 -21
- data/lib/middleman/vendor/padrino-helpers-0.10.0/padrino-helpers.gemspec +0 -27
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/app.rb +0 -73
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.erb +0 -14
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.haml +0 -12
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.slim +0 -13
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.erb +0 -11
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.haml +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.slim +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.erb +0 -11
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.haml +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.slim +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.erb +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.haml +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.slim +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.erb +0 -20
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.haml +0 -15
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.slim +0 -15
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.erb +0 -56
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.haml +0 -47
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.slim +0 -47
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.erb +0 -56
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.haml +0 -45
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.slim +0 -45
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.erb +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.haml +0 -4
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.slim +0 -4
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.erb +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.haml +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.slim +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.erb +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.haml +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.slim +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.slim +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/app.rb +0 -45
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engine.haml +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/erb/test.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/explicit_engine.haml +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/haml/test.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/_user.haml +0 -7
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/haml_template.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/some_template.haml +0 -2
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/helper.rb +0 -78
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_asset_tag_helpers.rb +0 -320
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_builder.rb +0 -998
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_helpers.rb +0 -645
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_format_helpers.rb +0 -227
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_number_helpers.rb +0 -136
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_output_helpers.rb +0 -133
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_render_helpers.rb +0 -69
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_tag_helpers.rb +0 -100
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
module Padrino
|
|
2
|
-
##
|
|
3
|
-
# Run the Padrino apps as a self-hosted server using:
|
|
4
|
-
# thin, mongrel, webrick in that order.
|
|
5
|
-
#
|
|
6
|
-
# ==== Examples
|
|
7
|
-
#
|
|
8
|
-
# Padrino.run! # with these defaults => host: "localhost", port: "3000", adapter: the first found
|
|
9
|
-
# Padrino.run!("localhost", "4000", "mongrel") # use => host: "0.0.0.0", port: "3000", adapter: "mongrel"
|
|
10
|
-
#
|
|
11
|
-
def self.run!(options={})
|
|
12
|
-
Padrino.load!
|
|
13
|
-
Server.start(Padrino.application, options)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
##
|
|
17
|
-
# This module build a Padrino server
|
|
18
|
-
#
|
|
19
|
-
class Server < Rack::Server
|
|
20
|
-
# Server Handlers
|
|
21
|
-
Handlers = [:thin, :mongrel, :webrick]
|
|
22
|
-
|
|
23
|
-
def self.start(app, opts={})
|
|
24
|
-
options = {}.merge(opts) # We use a standard hash instead of Thor::CoreExt::HashWithIndifferentAccess
|
|
25
|
-
options.symbolize_keys!
|
|
26
|
-
options[:Host] = options.delete(:host) || '0.0.0.0'
|
|
27
|
-
options[:Port] = options.delete(:port) || 3000
|
|
28
|
-
options[:AccessLog] = []
|
|
29
|
-
if options[:daemonize]
|
|
30
|
-
options[:pid] = options[:pid].blank? ? File.expand_path('tmp/pids/server.pid') : opts[:pid]
|
|
31
|
-
FileUtils.mkdir_p(File.dirname(options[:pid]))
|
|
32
|
-
end
|
|
33
|
-
options[:server] = detect_rack_handler if options[:server].blank?
|
|
34
|
-
new(options, app).start
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def initialize(options, app)
|
|
38
|
-
@options, @app = options, app
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def start
|
|
42
|
-
puts "=> Padrino/#{Padrino.version} has taken the stage #{Padrino.env} at http://#{options[:Host]}:#{options[:Port]}"
|
|
43
|
-
[:INT, :TERM].each { |sig| trap(sig) { exit } }
|
|
44
|
-
super
|
|
45
|
-
ensure
|
|
46
|
-
puts "<= Padrino has ended his set (crowd applauds)" unless options[:daemonize]
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def app
|
|
50
|
-
@app
|
|
51
|
-
end
|
|
52
|
-
alias :wrapped_app :app
|
|
53
|
-
|
|
54
|
-
def options
|
|
55
|
-
@options
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
private
|
|
59
|
-
def self.detect_rack_handler
|
|
60
|
-
Handlers.each do |handler|
|
|
61
|
-
begin
|
|
62
|
-
return handler if Rack::Handler.get(handler.to_s.downcase)
|
|
63
|
-
rescue LoadError
|
|
64
|
-
rescue NameError
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
fail "Server handler (#{Handlers.join(', ')}) not found."
|
|
68
|
-
end
|
|
69
|
-
end # Server
|
|
70
|
-
end # Padrino
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
##
|
|
2
|
-
# This file loads certain extensions required by Padrino from ActiveSupport.
|
|
3
|
-
#
|
|
4
|
-
require 'active_support/core_ext/kernel' # silence_warnings
|
|
5
|
-
require 'active_support/core_ext/module/aliasing' # alias_method_chain
|
|
6
|
-
require 'active_support/core_ext/class/attribute_accessors' # cattr_reader
|
|
7
|
-
require 'active_support/core_ext/hash/keys' # symbolize_keys
|
|
8
|
-
require 'active_support/core_ext/hash/reverse_merge' # reverse_merge
|
|
9
|
-
require 'active_support/core_ext/hash/slice' # slice
|
|
10
|
-
require 'active_support/core_ext/object/blank' # present?
|
|
11
|
-
require 'active_support/core_ext/array/extract_options' # extract_options
|
|
12
|
-
require 'active_support/inflector/methods' # constantize
|
|
13
|
-
require 'active_support/inflector/inflections' # pluralize
|
|
14
|
-
require 'active_support/inflections' # load default inflections
|
|
15
|
-
|
|
16
|
-
##
|
|
17
|
-
# This is a small version of active_support/core_ext/string/inflections.rb
|
|
18
|
-
# to prevent to load a lot of dependencies including I18n gem
|
|
19
|
-
#
|
|
20
|
-
# Issue: https://github.com/rails/rails/issues/1526
|
|
21
|
-
#
|
|
22
|
-
class String
|
|
23
|
-
# Returns the plural form of the word in the string.
|
|
24
|
-
#
|
|
25
|
-
# "post".pluralize # => "posts"
|
|
26
|
-
# "octopus".pluralize # => "octopi"
|
|
27
|
-
# "sheep".pluralize # => "sheep"
|
|
28
|
-
# "words".pluralize # => "words"
|
|
29
|
-
# "the blue mailman".pluralize # => "the blue mailmen"
|
|
30
|
-
# "CamelOctopus".pluralize # => "CamelOctopi"
|
|
31
|
-
def pluralize
|
|
32
|
-
ActiveSupport::Inflector.pluralize(self)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
# +constantize+ tries to find a declared constant with the name specified
|
|
36
|
-
# in the string. It raises a NameError when the name is not in CamelCase
|
|
37
|
-
# or is not initialized.
|
|
38
|
-
#
|
|
39
|
-
# Examples
|
|
40
|
-
# "Module".constantize # => Module
|
|
41
|
-
# "Class".constantize # => Class
|
|
42
|
-
def constantize
|
|
43
|
-
ActiveSupport::Inflector.constantize(self)
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
# By default, +camelize+ converts strings to UpperCamelCase. If the argument to camelize
|
|
47
|
-
# is set to <tt>:lower</tt> then camelize produces lowerCamelCase.
|
|
48
|
-
#
|
|
49
|
-
# +camelize+ will also convert '/' to '::' which is useful for converting paths to namespaces.
|
|
50
|
-
#
|
|
51
|
-
# "active_record".camelize # => "ActiveRecord"
|
|
52
|
-
# "active_record".camelize(:lower) # => "activeRecord"
|
|
53
|
-
# "active_record/errors".camelize # => "ActiveRecord::Errors"
|
|
54
|
-
# "active_record/errors".camelize(:lower) # => "activeRecord::Errors"
|
|
55
|
-
def camelize(first_letter = :upper)
|
|
56
|
-
case first_letter
|
|
57
|
-
when :upper then ActiveSupport::Inflector.camelize(self, true)
|
|
58
|
-
when :lower then ActiveSupport::Inflector.camelize(self, false)
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
alias_method :camelcase, :camelize
|
|
62
|
-
|
|
63
|
-
# The reverse of +camelize+. Makes an underscored, lowercase form from the expression in the string.
|
|
64
|
-
#
|
|
65
|
-
# +underscore+ will also change '::' to '/' to convert namespaces to paths.
|
|
66
|
-
#
|
|
67
|
-
# "ActiveRecord".underscore # => "active_record"
|
|
68
|
-
# "ActiveRecord::Errors".underscore # => active_record/errors
|
|
69
|
-
def underscore
|
|
70
|
-
ActiveSupport::Inflector.underscore(self)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# Create a class name from a plural table name like Rails does for table names to models.
|
|
74
|
-
# Note that this returns a string and not a class. (To convert to an actual class
|
|
75
|
-
# follow +classify+ with +constantize+.)
|
|
76
|
-
#
|
|
77
|
-
# "egg_and_hams".classify # => "EggAndHam"
|
|
78
|
-
# "posts".classify # => "Post"
|
|
79
|
-
#
|
|
80
|
-
# Singular names are not handled correctly.
|
|
81
|
-
#
|
|
82
|
-
# "business".classify # => "Busines"
|
|
83
|
-
def classify
|
|
84
|
-
ActiveSupport::Inflector.classify(self)
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
module ObjectSpace
|
|
89
|
-
class << self
|
|
90
|
-
# Returns all the classes in the object space.
|
|
91
|
-
def classes
|
|
92
|
-
ObjectSpace.each_object(Module).select do |klass|
|
|
93
|
-
Class.class_eval { klass } rescue false
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
##
|
|
100
|
-
# FileSet helper method for iterating and interacting with files inside a directory
|
|
101
|
-
#
|
|
102
|
-
class FileSet
|
|
103
|
-
# Iterates over every file in the glob pattern and yields to a block
|
|
104
|
-
# Returns the list of files matching the glob pattern
|
|
105
|
-
# FileSet.glob('padrino-core/application/*.rb', __FILE__) { |file| load file }
|
|
106
|
-
def self.glob(glob_pattern, file_path=nil, &block)
|
|
107
|
-
glob_pattern = File.join(File.dirname(file_path), glob_pattern) if file_path
|
|
108
|
-
file_list = Dir.glob(glob_pattern).sort
|
|
109
|
-
file_list.each { |file| block.call(file) }
|
|
110
|
-
file_list
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
# Requires each file matched in the glob pattern into the application
|
|
114
|
-
# FileSet.glob_require('padrino-core/application/*.rb', __FILE__)
|
|
115
|
-
def self.glob_require(glob_pattern, file_path=nil)
|
|
116
|
-
self.glob(glob_pattern, file_path) { |f| require f }
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
##
|
|
121
|
-
# YAML Engine Parsing Fix
|
|
122
|
-
# https://github.com/padrino/padrino-framework/issues/424
|
|
123
|
-
#
|
|
124
|
-
require 'yaml' unless defined?(YAML)
|
|
125
|
-
YAML::ENGINE.yamler = "syck" if defined?(YAML::ENGINE)
|
|
126
|
-
|
|
127
|
-
##
|
|
128
|
-
# Loads our locale configuration files
|
|
129
|
-
#
|
|
130
|
-
I18n.load_path += Dir["#{File.dirname(__FILE__)}/locale/*.yml"] if defined?(I18n)
|
|
131
|
-
|
|
132
|
-
##
|
|
133
|
-
# Used to know if this file has already been required
|
|
134
|
-
#
|
|
135
|
-
module SupportLite; end
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
module Padrino
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
# This module it's used for bootstrap with padrino rake
|
|
5
|
-
# thirdy party tasks, in your gem/plugin/extension you
|
|
6
|
-
# need only do this:
|
|
7
|
-
#
|
|
8
|
-
# ==== Examples
|
|
9
|
-
#
|
|
10
|
-
# Padrino::Tasks.files << yourtask.rb
|
|
11
|
-
# Padrino::Tasks.files.concat(Dir["/path/to/all/my/tasks/*.rb"])
|
|
12
|
-
# Padrino::Tasks.files.unshift("yourtask.rb")
|
|
13
|
-
#
|
|
14
|
-
module Tasks
|
|
15
|
-
|
|
16
|
-
##
|
|
17
|
-
# Returns a list of files to handle with padrino rake
|
|
18
|
-
#
|
|
19
|
-
def self.files
|
|
20
|
-
@files ||= []
|
|
21
|
-
end
|
|
22
|
-
end # Tasks
|
|
23
|
-
end # Padrino
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
##
|
|
2
|
-
# Manages current Padrino version for use in gem generation.
|
|
3
|
-
#
|
|
4
|
-
# We put this in a separate file so you can get padrino version
|
|
5
|
-
# without include full padrino core.
|
|
6
|
-
#
|
|
7
|
-
module Padrino
|
|
8
|
-
VERSION = '0.10.0' unless defined?(Padrino::VERSION)
|
|
9
|
-
##
|
|
10
|
-
# Return the current Padrino version
|
|
11
|
-
#
|
|
12
|
-
def self.version
|
|
13
|
-
VERSION
|
|
14
|
-
end
|
|
15
|
-
end # Padrino
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env gem build
|
|
2
|
-
# encoding: utf-8
|
|
3
|
-
|
|
4
|
-
require File.expand_path("../lib/padrino-core/version.rb", __FILE__)
|
|
5
|
-
|
|
6
|
-
Gem::Specification.new do |s|
|
|
7
|
-
s.name = "padrino-core"
|
|
8
|
-
s.rubyforge_project = "padrino-core"
|
|
9
|
-
s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
|
|
10
|
-
s.email = "padrinorb@gmail.com"
|
|
11
|
-
s.summary = "The required Padrino core gem"
|
|
12
|
-
s.homepage = "http://www.padrinorb.com"
|
|
13
|
-
s.description = "The Padrino core gem required for use of this framework"
|
|
14
|
-
s.required_rubygems_version = ">= 1.3.6"
|
|
15
|
-
s.version = Padrino.version
|
|
16
|
-
s.date = Time.now.strftime("%Y-%m-%d")
|
|
17
|
-
|
|
18
|
-
s.extra_rdoc_files = Dir["*.rdoc"]
|
|
19
|
-
s.files = `git ls-files`.split("\n")
|
|
20
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
21
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
22
|
-
s.require_paths = ["lib"]
|
|
23
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
|
24
|
-
|
|
25
|
-
# TODO remove after a couple versions
|
|
26
|
-
s.post_install_message = "\e[32m" + ("*" * 20)
|
|
27
|
-
s.post_install_message << "\n UPGRADE NOTES\n\n\e[31m When upgrading, please 'enable :sessions' for each application"
|
|
28
|
-
s.post_install_message << " as shown here:\e[0m http://bit.ly/kODKMx\n"
|
|
29
|
-
s.post_install_message << "\e[31m When upgrading, please 'register Padrino::Rendering' for each application"
|
|
30
|
-
s.post_install_message << " as shown here:\e[0m https://gist.github.com/1d36a35794dbbd664ea4"
|
|
31
|
-
s.post_install_message << "\n\e[32m" + ("*" * 20) + "\n\e[0m"
|
|
32
|
-
|
|
33
|
-
s.add_dependency("tilt", "~> 1.3.0")
|
|
34
|
-
s.add_dependency("sinatra", "~> 1.2.6")
|
|
35
|
-
s.add_dependency("http_router", "~> 0.8.10")
|
|
36
|
-
s.add_dependency("thor", "~> 0.14.3")
|
|
37
|
-
s.add_dependency("activesupport", "~> 3.0.0")
|
|
38
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
|
|
2
|
-
|
|
3
|
-
module LibDemo
|
|
4
|
-
def self.give_me_a_random
|
|
5
|
-
@rand ||= rand(100)
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class Complex1Demo < Padrino::Application
|
|
10
|
-
set :reload, true
|
|
11
|
-
get("/old"){ "Old Sinatra Way" }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
class Complex2Demo < Padrino::Application
|
|
15
|
-
set :reload, true
|
|
16
|
-
get("/old"){ "Old Sinatra Way" }
|
|
17
|
-
get("/"){ "The magick number is: 12!" } # Change only the number!!!
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
Complex1Demo.controllers do
|
|
21
|
-
get("/"){ "Given random #{LibDemo.give_me_a_random}" }
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
Complex2Demo.controllers do
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
Padrino.load!
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
|
|
2
|
-
# Remove this comment if you want do some like this: ruby PADRINO_ENV=test app.rb
|
|
3
|
-
#
|
|
4
|
-
# require 'rubygems'
|
|
5
|
-
# require 'padrino-core'
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
class SimpleDemo < Padrino::Application
|
|
9
|
-
set :reload, true
|
|
10
|
-
before { true }
|
|
11
|
-
after { true }
|
|
12
|
-
error(404) { "404" }
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
SimpleDemo.controllers do
|
|
16
|
-
get "/" do
|
|
17
|
-
'The magick number is: 72!' # Change only the number!!!
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
get "/rand" do
|
|
21
|
-
rand(2 ** 256).to_s
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
## If you want use this as a standalone app uncomment:
|
|
26
|
-
#
|
|
27
|
-
# Padrino.mount("SimpleDemo").to("/")
|
|
28
|
-
# Padrino.run! unless Padrino.loaded? # If you enable reloader prevent to re-run the app
|
|
29
|
-
#
|
|
30
|
-
# Then run it from your console: ruby -I"lib" test/fixtures/apps/simple.rb
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
Padrino.load!
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# This file will be safe loaded three times.
|
|
2
|
-
# The first one fail because B and C constant are not defined
|
|
3
|
-
# The second one file because B requires C constant so will not be loaded
|
|
4
|
-
# The third one B and C are defined
|
|
5
|
-
|
|
6
|
-
# But here we need some of b.rb
|
|
7
|
-
A_result = [B, C]
|
|
8
|
-
|
|
9
|
-
A = "A"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
C = "C"
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
ENV['PADRINO_ENV'] = 'test'
|
|
2
|
-
PADRINO_ROOT = File.dirname(__FILE__) unless defined? PADRINO_ROOT
|
|
3
|
-
|
|
4
|
-
require File.expand_path('../../../load_paths', __FILE__)
|
|
5
|
-
require 'padrino-core'
|
|
6
|
-
require 'test/unit'
|
|
7
|
-
require 'rack/test'
|
|
8
|
-
require 'rack'
|
|
9
|
-
require 'shoulda'
|
|
10
|
-
require 'phocus'
|
|
11
|
-
|
|
12
|
-
# Rubies < 1.9 don't handle hashes in the properly order so to prevent
|
|
13
|
-
# this issue for now we remove extra values from mimetypes.
|
|
14
|
-
Rack::Mime::MIME_TYPES.delete(".xsl") # In this way application/xml respond only to .xml
|
|
15
|
-
|
|
16
|
-
module Kernel
|
|
17
|
-
# Silences the output by redirecting to stringIO
|
|
18
|
-
# silence_logger { ...commands... } => "...output..."
|
|
19
|
-
def silence_logger(&block)
|
|
20
|
-
$stdout = log_buffer = StringIO.new
|
|
21
|
-
block.call
|
|
22
|
-
$stdout = STDOUT
|
|
23
|
-
log_buffer.string
|
|
24
|
-
end
|
|
25
|
-
alias :silence_stdout :silence_logger
|
|
26
|
-
|
|
27
|
-
def silence_warnings
|
|
28
|
-
old_verbose, $VERBOSE = $VERBOSE, nil
|
|
29
|
-
yield
|
|
30
|
-
ensure
|
|
31
|
-
$VERBOSE = old_verbose
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
class Class
|
|
36
|
-
# Allow assertions in request context
|
|
37
|
-
include Test::Unit::Assertions
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
class Test::Unit::TestCase
|
|
41
|
-
include Rack::Test::Methods
|
|
42
|
-
|
|
43
|
-
# Sets up a Sinatra::Base subclass defined with the block
|
|
44
|
-
# given. Used in setup or individual spec methods to establish
|
|
45
|
-
# the application.
|
|
46
|
-
def mock_app(base=Padrino::Application, &block)
|
|
47
|
-
@app = Sinatra.new(base, &block)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def app
|
|
51
|
-
Rack::Lint.new(@app)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# Asserts that a file matches the pattern
|
|
55
|
-
def assert_match_in_file(pattern, file)
|
|
56
|
-
assert File.exist?(file), "File '#{file}' does not exist!"
|
|
57
|
-
assert_match pattern, File.read(file)
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
# Delegate other missing methods to response.
|
|
61
|
-
def method_missing(name, *args, &block)
|
|
62
|
-
if response && response.respond_to?(name)
|
|
63
|
-
response.send(name, *args, &block)
|
|
64
|
-
else
|
|
65
|
-
super(name, *args, &block)
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
alias :response :last_response
|
|
70
|
-
|
|
71
|
-
def create_template(name, content, options={})
|
|
72
|
-
FileUtils.mkdir_p(File.dirname(__FILE__) + "/views")
|
|
73
|
-
FileUtils.mkdir_p(File.dirname(__FILE__) + "/views/layouts")
|
|
74
|
-
path = "/views/#{name}"
|
|
75
|
-
path += ".#{options.delete(:locale)}" if options[:locale].present?
|
|
76
|
-
path += ".#{options[:format]}" if options[:format].present?
|
|
77
|
-
path += ".erb" unless options[:format].to_s =~ /haml|rss|atom/
|
|
78
|
-
path += ".builder" if options[:format].to_s =~ /rss|atom/
|
|
79
|
-
file = File.dirname(__FILE__) + path
|
|
80
|
-
File.open(file, 'w') { |io| io.write content }
|
|
81
|
-
file
|
|
82
|
-
end
|
|
83
|
-
alias :create_view :create_template
|
|
84
|
-
alias :create_layout :create_template
|
|
85
|
-
|
|
86
|
-
def remove_views
|
|
87
|
-
FileUtils.rm_rf(File.dirname(__FILE__) + "/views")
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
def with_template(name, content, options={})
|
|
91
|
-
# Build a temp layout
|
|
92
|
-
template = create_template(name, content, options)
|
|
93
|
-
yield
|
|
94
|
-
ensure
|
|
95
|
-
# Remove temp layout
|
|
96
|
-
File.unlink(template) rescue nil
|
|
97
|
-
remove_views
|
|
98
|
-
end
|
|
99
|
-
alias :with_view :with_template
|
|
100
|
-
alias :with_layout :with_template
|
|
101
|
-
end
|