middleman 2.0.7 → 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +0 -1
  3. data/CHANGELOG +8 -0
  4. data/Gemfile +1 -1
  5. data/features/data.feature +6 -1
  6. data/features/markdown.feature +7 -0
  7. data/features/sprockets.feature +11 -1
  8. data/features/sprockets_gems.feature +3 -3
  9. data/fixtures/sprockets-app/source/jquery_include.js +1 -0
  10. data/fixtures/test-app/config.rb +2 -0
  11. data/fixtures/test-app/source/data2.html.liquid +1 -0
  12. data/fixtures/test-app/source/javascripts/multiple_engines.js.coffee.erb +1 -0
  13. data/fixtures/test-app/source/markdown.html.markdown +1 -0
  14. data/lib/middleman.rb +0 -6
  15. data/lib/middleman/base.rb +6 -1
  16. data/lib/middleman/builder.rb +6 -4
  17. data/lib/middleman/core_extensions/data.rb +35 -5
  18. data/lib/middleman/core_extensions/front_matter.rb +9 -2
  19. data/lib/middleman/core_extensions/sprockets.rb +25 -1
  20. data/lib/middleman/renderers/markdown.rb +25 -2
  21. data/lib/middleman/version.rb +1 -1
  22. data/middleman.gemspec +7 -6
  23. metadata +112 -251
  24. data/lib/middleman/vendor/padrino-core-0.10.0/.document +0 -5
  25. data/lib/middleman/vendor/padrino-core-0.10.0/.gitignore +0 -22
  26. data/lib/middleman/vendor/padrino-core-0.10.0/LICENSE +0 -20
  27. data/lib/middleman/vendor/padrino-core-0.10.0/README.rdoc +0 -294
  28. data/lib/middleman/vendor/padrino-core-0.10.0/Rakefile +0 -5
  29. data/lib/middleman/vendor/padrino-core-0.10.0/bin/padrino +0 -9
  30. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core.rb +0 -119
  31. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application.rb +0 -259
  32. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/rendering.rb +0 -228
  33. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/routing.rb +0 -821
  34. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/showexceptions.rb +0 -18
  35. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/caller.rb +0 -45
  36. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/adapter.rb +0 -24
  37. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/base.rb +0 -152
  38. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/console.rb +0 -20
  39. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake.rb +0 -24
  40. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake_tasks.rb +0 -59
  41. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/command.rb +0 -27
  42. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/404.png +0 -0
  43. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/500.png +0 -0
  44. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/loader.rb +0 -182
  45. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/cz.yml +0 -30
  46. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/da.yml +0 -30
  47. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/de.yml +0 -30
  48. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/en.yml +0 -30
  49. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/es.yml +0 -30
  50. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/fr.yml +0 -30
  51. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/hu.yml +0 -30
  52. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/it.yml +0 -37
  53. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ja.yml +0 -30
  54. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/nl.yml +0 -30
  55. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/no.yml +0 -31
  56. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pl.yml +0 -30
  57. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pt_br.yml +0 -37
  58. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ru.yml +0 -30
  59. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/tr.yml +0 -30
  60. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/uk.yml +0 -30
  61. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_cn.yml +0 -30
  62. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_tw.yml +0 -30
  63. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/logger.rb +0 -344
  64. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/mounter.rb +0 -192
  65. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/reloader.rb +0 -247
  66. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/router.rb +0 -79
  67. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/server.rb +0 -70
  68. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/support_lite.rb +0 -135
  69. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/tasks.rb +0 -23
  70. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/version.rb +0 -15
  71. data/lib/middleman/vendor/padrino-core-0.10.0/padrino-core.gemspec +0 -38
  72. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.components +0 -6
  73. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.gitignore +0 -7
  74. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/complex.rb +0 -27
  75. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/simple.rb +0 -33
  76. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/a.rb +0 -9
  77. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/b.rb +0 -4
  78. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/c.rb +0 -1
  79. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/e.rb +0 -13
  80. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/f.rb +0 -2
  81. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/g.rb +0 -2
  82. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/d.rb +0 -4
  83. data/lib/middleman/vendor/padrino-core-0.10.0/test/helper.rb +0 -101
  84. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_application.rb +0 -83
  85. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_core.rb +0 -79
  86. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_dependencies.rb +0 -44
  87. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_filters.rb +0 -266
  88. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_logger.rb +0 -91
  89. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_mounter.rb +0 -176
  90. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_complex.rb +0 -66
  91. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_simple.rb +0 -97
  92. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_rendering.rb +0 -437
  93. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_router.rb +0 -146
  94. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_routing.rb +0 -1491
  95. data/lib/middleman/vendor/padrino-helpers-0.10.0/.document +0 -5
  96. data/lib/middleman/vendor/padrino-helpers-0.10.0/.gitignore +0 -21
  97. data/lib/middleman/vendor/padrino-helpers-0.10.0/LICENSE +0 -20
  98. data/lib/middleman/vendor/padrino-helpers-0.10.0/README.rdoc +0 -239
  99. data/lib/middleman/vendor/padrino-helpers-0.10.0/Rakefile +0 -5
  100. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers.rb +0 -51
  101. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/asset_tag_helpers.rb +0 -288
  102. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -220
  103. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -43
  104. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_helpers.rb +0 -446
  105. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/format_helpers.rb +0 -260
  106. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/cz.yml +0 -103
  107. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/da.yml +0 -91
  108. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/de.yml +0 -78
  109. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/en.yml +0 -103
  110. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/es.yml +0 -103
  111. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/fr.yml +0 -79
  112. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/hu.yml +0 -103
  113. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/it.yml +0 -85
  114. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ja.yml +0 -103
  115. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/nl.yml +0 -78
  116. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/no.yml +0 -91
  117. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pl.yml +0 -95
  118. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pt_br.yml +0 -103
  119. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ru.yml +0 -103
  120. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/tr.yml +0 -103
  121. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/uk.yml +0 -103
  122. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_cn.yml +0 -103
  123. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_tw.yml +0 -103
  124. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/number_helpers.rb +0 -273
  125. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers.rb +0 -128
  126. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -103
  127. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -79
  128. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -64
  129. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -82
  130. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/render_helpers.rb +0 -40
  131. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/tag_helpers.rb +0 -59
  132. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/translation_helpers.rb +0 -21
  133. data/lib/middleman/vendor/padrino-helpers-0.10.0/padrino-helpers.gemspec +0 -27
  134. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/app.rb +0 -73
  135. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.erb +0 -14
  136. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.haml +0 -12
  137. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.slim +0 -13
  138. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.erb +0 -11
  139. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.haml +0 -9
  140. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.slim +0 -9
  141. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.erb +0 -11
  142. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.haml +0 -9
  143. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.slim +0 -9
  144. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.erb +0 -5
  145. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.haml +0 -5
  146. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.slim +0 -5
  147. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.erb +0 -20
  148. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.haml +0 -15
  149. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.slim +0 -15
  150. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.erb +0 -56
  151. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.haml +0 -47
  152. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.slim +0 -47
  153. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.erb +0 -56
  154. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.haml +0 -45
  155. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.slim +0 -45
  156. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.erb +0 -5
  157. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.haml +0 -4
  158. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.slim +0 -4
  159. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.erb +0 -3
  160. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.haml +0 -3
  161. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.slim +0 -3
  162. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.erb +0 -3
  163. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.haml +0 -3
  164. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.slim +0 -3
  165. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
  166. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
  167. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
  168. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.erb +0 -1
  169. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.haml +0 -1
  170. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.slim +0 -1
  171. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/app.rb +0 -45
  172. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engine.haml +0 -5
  173. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
  174. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
  175. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
  176. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/erb/test.erb +0 -1
  177. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/explicit_engine.haml +0 -5
  178. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/haml/test.haml +0 -1
  179. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/_user.haml +0 -7
  180. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/haml_template.haml +0 -1
  181. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/some_template.haml +0 -2
  182. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/helper.rb +0 -78
  183. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_asset_tag_helpers.rb +0 -320
  184. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_builder.rb +0 -998
  185. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_helpers.rb +0 -645
  186. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_format_helpers.rb +0 -227
  187. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_number_helpers.rb +0 -136
  188. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_output_helpers.rb +0 -133
  189. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_render_helpers.rb +0 -69
  190. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_tag_helpers.rb +0 -100
@@ -1,18 +0,0 @@
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
@@ -1,45 +0,0 @@
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
@@ -1,24 +0,0 @@
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
@@ -1,152 +0,0 @@
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
@@ -1,20 +0,0 @@
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
@@ -1,24 +0,0 @@
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
@@ -1,59 +0,0 @@
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
@@ -1,27 +0,0 @@
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
@@ -1,182 +0,0 @@
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