middleman-core 3.2.2 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/features/cli_init.feature +18 -8
  3. data/features/helpers_select_tag.feature +1 -1
  4. data/features/layouts_dir.feature +8 -0
  5. data/features/markdown_redcarpet.feature +2 -2
  6. data/fixtures/asciidoc-app/source/layouts/default.erb +0 -1
  7. data/fixtures/capture-html-app/source/capture_html_haml.html.haml +1 -1
  8. data/fixtures/content-for-app/source/content_for_haml.html.haml +1 -1
  9. data/fixtures/frontmatter-settings-app/source/layouts/override.erb +1 -2
  10. data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +1 -2
  11. data/fixtures/layouts-dir-app/source/ambiguous.html.erb +5 -0
  12. data/fixtures/layouts-dir-app/source/layouts/other.erb +3 -0
  13. data/fixtures/layouts-dir-app/source/other.erb +3 -0
  14. data/fixtures/link-to-app/source/link_to_haml.html.haml +1 -1
  15. data/fixtures/link-to-app/source/link_to_slim.html.slim +1 -1
  16. data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +1 -1
  17. data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +1 -1
  18. data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +1 -1
  19. data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +1 -1
  20. data/lib/middleman-core/application.rb +12 -3
  21. data/lib/middleman-core/cli/build.rb +5 -3
  22. data/lib/middleman-core/cli/console.rb +1 -1
  23. data/lib/middleman-core/cli/init.rb +1 -1
  24. data/lib/middleman-core/core_extensions.rb +0 -1
  25. data/lib/middleman-core/core_extensions/file_watcher.rb +11 -11
  26. data/lib/middleman-core/core_extensions/rendering.rb +40 -66
  27. data/lib/middleman-core/extension.rb +167 -0
  28. data/lib/middleman-core/extensions.rb +2 -151
  29. data/lib/middleman-core/logger.rb +2 -2
  30. data/lib/middleman-core/meta_pages/assets/config.css +13 -0
  31. data/lib/middleman-core/meta_pages/assets/meta.css +19 -3
  32. data/lib/middleman-core/meta_pages/assets/sitemap.css +18 -1
  33. data/lib/middleman-core/meta_pages/config_setting.rb +7 -9
  34. data/lib/middleman-core/meta_pages/sitemap_resource.rb +24 -15
  35. data/lib/middleman-core/meta_pages/sitemap_tree.rb +5 -1
  36. data/lib/middleman-core/meta_pages/templates/config.html.erb +2 -2
  37. data/lib/middleman-core/meta_pages/templates/index.html.erb +18 -8
  38. data/lib/middleman-core/meta_pages/templates/sitemap.html.erb +4 -5
  39. data/lib/middleman-core/preview_server.rb +6 -3
  40. data/lib/middleman-core/renderers/erb.rb +12 -14
  41. data/lib/middleman-core/renderers/haml.rb +10 -0
  42. data/lib/middleman-core/renderers/markdown.rb +5 -1
  43. data/lib/middleman-core/renderers/sass.rb +0 -4
  44. data/lib/middleman-core/renderers/slim.rb +16 -3
  45. data/lib/middleman-core/sitemap/resource.rb +1 -1
  46. data/lib/middleman-core/step_definitions.rb +2 -1
  47. data/lib/middleman-core/templates.rb +3 -1
  48. data/lib/middleman-core/templates/shared/Gemfile.tt +4 -1
  49. data/lib/middleman-core/templates/shared/config.tt +3 -1
  50. data/lib/middleman-core/templates/shared/gitignore +2 -1
  51. data/lib/middleman-core/util.rb +22 -16
  52. data/lib/middleman-core/version.rb +1 -1
  53. data/lib/middleman-more/core_extensions/compass.rb +3 -3
  54. data/lib/middleman-more/core_extensions/default_helpers.rb +18 -15
  55. data/lib/middleman-more/extensions/asset_hash.rb +1 -0
  56. data/middleman-core.gemspec +9 -6
  57. metadata +69 -227
  58. data/features/sass_cache_path.feature +0 -22
  59. data/fixtures/sass-cache-path-custom-app/config.rb +0 -3
  60. data/fixtures/sass-cache-path-custom-app/source/stylesheets/plain.css.sass +0 -4
  61. data/fixtures/sass-cache-path-default-app/config.rb +0 -3
  62. data/fixtures/sass-cache-path-default-app/source/stylesheets/plain.css.sass +0 -4
  63. data/lib/vendored-middleman-deps/hooks-0.2.0/CHANGES.textile +0 -9
  64. data/lib/vendored-middleman-deps/hooks-0.2.0/Gemfile +0 -3
  65. data/lib/vendored-middleman-deps/hooks-0.2.0/README.rdoc +0 -107
  66. data/lib/vendored-middleman-deps/hooks-0.2.0/Rakefile +0 -12
  67. data/lib/vendored-middleman-deps/hooks-0.2.0/hooks.gemspec +0 -22
  68. data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks.rb +0 -109
  69. data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks/inheritable_attribute.rb +0 -33
  70. data/lib/vendored-middleman-deps/hooks-0.2.0/test/hooks_test.rb +0 -141
  71. data/lib/vendored-middleman-deps/hooks-0.2.0/test/inheritable_attribute_test.rb +0 -55
  72. data/lib/vendored-middleman-deps/hooks-0.2.0/test/test_helper.rb +0 -10
  73. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.document +0 -5
  74. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.gitignore +0 -22
  75. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.yardopts +0 -1
  76. data/lib/vendored-middleman-deps/padrino-core-0.11.4/LICENSE.txt +0 -20
  77. data/lib/vendored-middleman-deps/padrino-core-0.11.4/README.rdoc +0 -294
  78. data/lib/vendored-middleman-deps/padrino-core-0.11.4/Rakefile +0 -5
  79. data/lib/vendored-middleman-deps/padrino-core-0.11.4/bin/padrino +0 -9
  80. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core.rb +0 -200
  81. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application.rb +0 -297
  82. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/flash.rb +0 -229
  83. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering.rb +0 -317
  84. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/erubis.rb +0 -64
  85. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/haml.rb +0 -28
  86. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/slim.rb +0 -14
  87. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/routing.rb +0 -1077
  88. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/showexceptions.rb +0 -21
  89. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/caller.rb +0 -53
  90. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/adapter.rb +0 -24
  91. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/base.rb +0 -159
  92. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/console.rb +0 -20
  93. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake.rb +0 -47
  94. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake_tasks.rb +0 -52
  95. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/command.rb +0 -38
  96. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/404.png +0 -0
  97. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/500.png +0 -0
  98. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/loader.rb +0 -224
  99. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/cs.yml +0 -33
  100. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/da.yml +0 -33
  101. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/de.yml +0 -33
  102. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/en.yml +0 -33
  103. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/es.yml +0 -33
  104. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/fr.yml +0 -33
  105. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/hu.yml +0 -33
  106. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/it.yml +0 -39
  107. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ja.yml +0 -33
  108. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/lv.yml +0 -33
  109. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/nl.yml +0 -33
  110. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/no.yml +0 -33
  111. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pl.yml +0 -33
  112. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pt_br.yml +0 -39
  113. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ro.yml +0 -33
  114. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ru.yml +0 -34
  115. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/sv.yml +0 -33
  116. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/tr.yml +0 -33
  117. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/uk.yml +0 -33
  118. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_cn.yml +0 -33
  119. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_tw.yml +0 -33
  120. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/logger.rb +0 -438
  121. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/module.rb +0 -58
  122. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/mounter.rb +0 -234
  123. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/reloader.rb +0 -341
  124. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/router.rb +0 -95
  125. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/server.rb +0 -77
  126. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/support_lite.rb +0 -260
  127. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/tasks.rb +0 -21
  128. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/version.rb +0 -20
  129. data/lib/vendored-middleman-deps/padrino-core-0.11.4/padrino-core.gemspec +0 -43
  130. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/Gemfile +0 -4
  131. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app/app.rb +0 -3
  132. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app_gem.gemspec +0 -17
  133. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem.rb +0 -7
  134. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem/version.rb +0 -3
  135. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.components +0 -6
  136. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.gitignore +0 -7
  137. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/complex.rb +0 -32
  138. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/simple.rb +0 -33
  139. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/a.rb +0 -9
  140. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/b.rb +0 -4
  141. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/c.rb +0 -1
  142. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/e.rb +0 -13
  143. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/f.rb +0 -2
  144. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/g.rb +0 -2
  145. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/d.rb +0 -4
  146. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/helper.rb +0 -83
  147. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/mini_shoulda.rb +0 -45
  148. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_application.rb +0 -125
  149. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_core.rb +0 -77
  150. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_csrf_protection.rb +0 -80
  151. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_dependencies.rb +0 -44
  152. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_filters.rb +0 -348
  153. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_flash.rb +0 -168
  154. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_locale.rb +0 -21
  155. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_logger.rb +0 -210
  156. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_mounter.rb +0 -199
  157. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_complex.rb +0 -75
  158. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_simple.rb +0 -98
  159. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering.rb +0 -545
  160. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering_extensions.rb +0 -14
  161. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_restful_routing.rb +0 -33
  162. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_router.rb +0 -146
  163. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_routing.rb +0 -1927
  164. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_support_lite.rb +0 -56
  165. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.document +0 -5
  166. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.gitignore +0 -21
  167. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.yardopts +0 -1
  168. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/LICENSE.txt +0 -20
  169. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/README.rdoc +0 -239
  170. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/Rakefile +0 -5
  171. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers.rb +0 -57
  172. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/asset_tag_helpers.rb +0 -401
  173. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/breadcrumb_helpers.rb +0 -183
  174. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -317
  175. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -40
  176. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_helpers.rb +0 -919
  177. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/format_helpers.rb +0 -372
  178. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/cs.yml +0 -103
  179. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/da.yml +0 -91
  180. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/de.yml +0 -81
  181. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/en.yml +0 -103
  182. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/es.yml +0 -103
  183. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/fr.yml +0 -79
  184. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/hu.yml +0 -103
  185. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/it.yml +0 -89
  186. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ja.yml +0 -103
  187. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/lv.yml +0 -103
  188. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/nl.yml +0 -82
  189. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/no.yml +0 -91
  190. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pl.yml +0 -95
  191. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pt_br.yml +0 -103
  192. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ro.yml +0 -103
  193. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ru.yml +0 -103
  194. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/sv.yml +0 -103
  195. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/tr.yml +0 -103
  196. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/uk.yml +0 -103
  197. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_cn.yml +0 -103
  198. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_tw.yml +0 -103
  199. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/number_helpers.rb +0 -283
  200. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers.rb +0 -207
  201. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -96
  202. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -78
  203. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -63
  204. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -78
  205. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/render_helpers.rb +0 -59
  206. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/tag_helpers.rb +0 -292
  207. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/translation_helpers.rb +0 -36
  208. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/padrino-helpers.gemspec +0 -27
  209. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/app.rb +0 -84
  210. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.erb +0 -8
  211. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.haml +0 -5
  212. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.slim +0 -6
  213. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.erb +0 -14
  214. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.haml +0 -12
  215. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.slim +0 -12
  216. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.erb +0 -14
  217. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.haml +0 -12
  218. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.slim +0 -12
  219. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.erb +0 -11
  220. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.haml +0 -9
  221. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.slim +0 -9
  222. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.erb +0 -5
  223. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.haml +0 -5
  224. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.slim +0 -5
  225. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.erb +0 -20
  226. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.haml +0 -15
  227. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.slim +0 -15
  228. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.erb +0 -72
  229. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.haml +0 -59
  230. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.slim +0 -59
  231. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.erb +0 -95
  232. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.haml +0 -78
  233. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.slim +0 -79
  234. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.erb +0 -5
  235. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.haml +0 -4
  236. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.slim +0 -4
  237. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.erb +0 -3
  238. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.haml +0 -3
  239. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.slim +0 -3
  240. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.erb +0 -3
  241. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.haml +0 -3
  242. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.slim +0 -3
  243. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
  244. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
  245. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
  246. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.erb +0 -1
  247. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.haml +0 -1
  248. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.slim +0 -1
  249. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/app.rb +0 -58
  250. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engine.haml +0 -5
  251. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
  252. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
  253. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
  254. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_erb.erb +0 -3
  255. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_haml.haml +0 -2
  256. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_slim.slim +0 -2
  257. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/erb/test.erb +0 -1
  258. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/explicit_engine.haml +0 -5
  259. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/haml/test.haml +0 -1
  260. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/_user.haml +0 -7
  261. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/haml_template.haml +0 -1
  262. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/some_template.haml +0 -2
  263. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/helper.rb +0 -67
  264. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_asset_tag_helpers.rb +0 -359
  265. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_breadcrumb_helpers.rb +0 -134
  266. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_builder.rb +0 -1178
  267. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_helpers.rb +0 -1030
  268. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_format_helpers.rb +0 -241
  269. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_locale.rb +0 -20
  270. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_number_helpers.rb +0 -143
  271. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_output_helpers.rb +0 -154
  272. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_render_helpers.rb +0 -94
  273. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_tag_helpers.rb +0 -117
@@ -1,21 +0,0 @@
1
- module Padrino
2
- ##
3
- # This module extend Sinatra::ShowExceptions adding Padrino as "Framework".
4
- #
5
- # @private
6
- class ShowExceptions < Sinatra::ShowExceptions
7
- private
8
-
9
- def frame_class(frame)
10
- if frame.filename =~ /lib\/sinatra.*\.rb|lib\/padrino.*\.rb/
11
- "framework"
12
- elsif (defined?(Gem) && frame.filename.include?(Gem.dir)) ||
13
- frame.filename =~ /\/bin\/(\w+)$/ ||
14
- frame.filename =~ /Ruby\/Gems/
15
- "system"
16
- else
17
- "app"
18
- end
19
- end
20
- end
21
- end
@@ -1,53 +0,0 @@
1
- module Padrino
2
-
3
- # List of callers in a Padrino application that should be ignored as part of a stack trace.
4
- PADRINO_IGNORE_CALLERS = [
5
- %r{lib/padrino-.*$},
6
- %r{/padrino-.*/(lib|bin)},
7
- %r{/bin/padrino$},
8
- %r{/sinatra(/(base|main|showexceptions))?\.rb$},
9
- %r{lib/tilt.*\.rb$},
10
- %r{lib/rack.*\.rb$},
11
- %r{lib/mongrel.*\.rb$},
12
- %r{lib/shotgun.*\.rb$},
13
- %r{bin/shotgun$},
14
- %r{\(.*\)},
15
- %r{shoulda/context\.rb$},
16
- %r{mocha/integration},
17
- %r{test/unit},
18
- %r{rake_test_loader\.rb},
19
- %r{custom_require\.rb$},
20
- %r{active_support},
21
- %r{/thor}
22
- ] unless defined?(PADRINO_IGNORE_CALLERS)
23
-
24
- ##
25
- # Add rubinius (and hopefully other VM implementations) ignore patterns ...
26
- #
27
- PADRINO_IGNORE_CALLERS.concat(RUBY_IGNORE_CALLERS) if defined?(RUBY_IGNORE_CALLERS)
28
-
29
- private
30
- ##
31
- # The filename for the file that is the direct caller (first caller).
32
- #
33
- # @return [String]
34
- # The file the caller method exists in.
35
- #
36
- def self.first_caller
37
- caller_files.first
38
- end
39
-
40
- #
41
- # Like +Kernel#caller+ but excluding certain magic entries and without
42
- # line / method information; the resulting array contains filenames only.
43
- #
44
- # @return [Array<String>]
45
- # The files of the calling methods.
46
- #
47
- def self.caller_files
48
- caller(1).
49
- map { |line| line.split(/:(?=\d|in )/)[0,2] }.
50
- reject { |file,line| PADRINO_IGNORE_CALLERS.any? { |pattern| file =~ pattern } }.
51
- map { |file,line| file }
52
- end
53
- end
@@ -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
22
- end
23
- end
24
- end
@@ -1,159 +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 (alternatively use 's')."
14
- map "s" => :start
15
- method_option :server, :type => :string, :aliases => "-a", :desc => "Rack Handler (default: autodetect)"
16
- method_option :host, :type => :string, :aliases => "-h", :required => true, :default => '127.0.0.1', :desc => "Bind to HOST address."
17
- method_option :port, :type => :numeric, :aliases => "-p", :required => true, :default => 3000, :desc => "Use PORT."
18
- method_option :daemonize, :type => :boolean, :aliases => "-d", :desc => "Run daemonized in the background."
19
- method_option :pid, :type => :string, :aliases => "-i", :desc => "File to store pid."
20
- method_option :debug, :type => :boolean, :desc => "Set debugging flags."
21
- def start
22
- prepare :start
23
- require File.expand_path("../adapter", __FILE__)
24
- require File.expand_path('config/boot.rb')
25
- Padrino::Cli::Adapter.start(options)
26
- end
27
-
28
- desc "stop", "Stops the Padrino application (alternatively use 'st')."
29
- map "st" => :stop
30
- method_option :pid, :type => :string, :aliases => "-p", :desc => "File to store pid", :default => 'tmp/pids/server.pid'
31
- def stop
32
- prepare :stop
33
- require File.expand_path("../adapter", __FILE__)
34
- Padrino::Cli::Adapter.stop(options)
35
- end
36
-
37
- desc "rake", "Execute rake tasks."
38
- method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
39
- method_option :list, :type => :string, :aliases => "-T", :desc => "Display the tasks (matching optional PATTERN) with descriptions, then exit."
40
- method_option :trace, :type => :boolean, :aliases => "-t", :desc => "Turn on invoke/execute tracing, enable full backtrace."
41
- def rake(*args)
42
- prepare :rake
43
- args << "-T" if options[:list]
44
- args << options[:list] unless options[:list].nil? || options[:list].to_s == "list"
45
- args << "--trace" if options[:trace]
46
- args << "--verbose" if options[:verbose]
47
- ARGV.clear
48
- ARGV.concat(args)
49
- puts "=> Executing Rake #{ARGV.join(' ')} ..."
50
- load File.expand_path('../rake.rb', __FILE__)
51
- Rake.application.init
52
- Rake.application.instance_variable_set(:@rakefile, __FILE__)
53
- load File.expand_path('Rakefile')
54
- Rake.application.top_level
55
- end
56
-
57
- desc "console", "Boots up the Padrino application irb console (alternatively use 'c')."
58
- map "c" => :console
59
- def console(*args)
60
- prepare :console
61
- require File.expand_path("../../version", __FILE__)
62
- ARGV.clear
63
- require 'irb'
64
- require "irb/completion"
65
- require File.expand_path('config/boot.rb')
66
- puts "=> Loading #{Padrino.env} console (Padrino v.#{Padrino.version})"
67
- require File.expand_path('../console', __FILE__)
68
- IRB.start
69
- end
70
-
71
- desc "generate", "Executes the Padrino generator with given options (alternatively use 'gen' or 'g')."
72
- map ["gen", "g"] => :generate
73
- def generate(*args)
74
- begin
75
- # We try to load the vendored padrino-gen if exist
76
- padrino_gen_path = File.expand_path('../../../../../padrino-gen/lib', __FILE__)
77
- $:.unshift(padrino_gen_path) if File.directory?(padrino_gen_path) && !$:.include?(padrino_gen_path)
78
- require 'padrino-core/command'
79
- require 'padrino-gen/command'
80
- ARGV.shift
81
- ARGV << 'help' if ARGV.empty?
82
- Padrino.bin_gen(*ARGV)
83
- rescue
84
- puts "<= You need padrino-gen! Run: gem install padrino-gen"
85
- end
86
- end
87
-
88
- desc "version", "Show current Padrino version."
89
- map ["-v", "--version"] => :version
90
- def version
91
- require 'padrino-core/version'
92
- puts "Padrino v. #{Padrino.version}"
93
- end
94
-
95
- desc "runner", "Run a piece of code in the Padrino application environment (alternatively use 'run' or 'r')."
96
- map ["run", "r"] => :runner
97
- def runner(*args)
98
- prepare :runner
99
-
100
- code_or_file = args.shift
101
- abort "Please specify code or file" if code_or_file.nil?
102
-
103
- require File.expand_path('config/boot.rb')
104
-
105
- if File.exist?(code_or_file)
106
- eval(File.read(code_or_file), nil, code_or_file)
107
- else
108
- eval(code_or_file)
109
- end
110
- end
111
-
112
- private
113
-
114
- def prepare(task)
115
- if options.help?
116
- help(task.to_s)
117
- raise SystemExit
118
- end
119
- ENV["PADRINO_ENV"] ||= ENV["RACK_ENV"] ||= options.environment.to_s
120
- chdir(options.chdir)
121
- unless File.exist?('config/boot.rb')
122
- puts "=> Could not find boot file in: #{options.chdir}/config/boot.rb !!!"
123
- raise SystemExit
124
- end
125
- end
126
-
127
- protected
128
-
129
- def self.banner(task=nil, *args)
130
- "padrino #{task.name}"
131
- end
132
-
133
- def chdir(dir)
134
- return unless dir
135
- begin
136
- Dir.chdir(dir.to_s)
137
- rescue Errno::ENOENT
138
- puts "=> Specified Padrino root '#{dir}' does not appear to exist!"
139
- rescue Errno::EACCES
140
- puts "=> Specified Padrino root '#{dir}' cannot be accessed by the current user!"
141
- end
142
- end
143
-
144
- def capture(stream)
145
- begin
146
- stream = stream.to_s
147
- eval "$#{stream} = StringIO.new"
148
- yield
149
- result = eval("$#{stream}").string
150
- ensure
151
- eval("$#{stream} = #{stream.upcase}")
152
- end
153
-
154
- result
155
- end
156
- alias :silence :capture
157
- end
158
- end
159
- end
@@ -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,47 +0,0 @@
1
- require File.expand_path('../../tasks', __FILE__)
2
- require 'rake'
3
- require 'rake/dsl_definition'
4
- require 'thor'
5
- require 'securerandom' unless defined?(SecureRandom)
6
- require 'padrino-gen'
7
-
8
- module PadrinoTasks
9
- def self.init(init=false)
10
- $LOAD_PATH.unshift(File.expand_path("lib"))
11
- Padrino::Tasks.files.flatten.uniq.each { |rakefile| Rake.application.add_import(rakefile) rescue puts "<= Failed load #{ext}" }
12
- load(File.expand_path('../rake_tasks.rb', __FILE__))
13
- Rake.application.load_imports
14
- end
15
-
16
- def self.use(task)
17
- tasks << task
18
- end
19
-
20
- def self.tasks
21
- @tasks ||= []
22
- end
23
-
24
- def self.load?(task, constant_present)
25
- if constant_present && !PadrinoTasks.tasks.include?(task)
26
- warn <<-WARNING.undent
27
- Loading #{task} tasks automatically.
28
- This functionality will be disabled in future versions. Please put
29
-
30
- PadrinoTasks.use(#{task.inspect})
31
- PadrinoTasks.init
32
-
33
- and remove
34
-
35
- require File.expand_path('../config/boot.rb', __FILE__)
36
-
37
- in you Rakefile instead.
38
- WARNING
39
- end
40
-
41
- constant_present || PadrinoTasks.tasks.include?(task)
42
- end
43
- end
44
-
45
- def shell
46
- @_shell ||= Thor::Base.shell.new
47
- end
@@ -1,52 +0,0 @@
1
- Dir["{lib/tasks/**,tasks/**,test,spec}/*.rake"].each do |file|
2
- begin
3
- load(file)
4
- rescue LoadError => e
5
- warn "#{file}: #{e.message}"
6
- end
7
- end
8
-
9
- # Loads the Padrino applications mounted within the project.
10
- # Setting up the required environment for Padrino.
11
- task :environment do
12
- require File.expand_path('config/boot.rb', Rake.application.original_dir)
13
-
14
- Padrino.mounted_apps.each do |app|
15
- app.app_obj.setup_application!
16
- end
17
- end
18
-
19
- desc "Generate a secret key"
20
- task :secret do
21
- shell.say SecureRandom.hex(32)
22
- end
23
-
24
- def list_app_routes(app, args)
25
- app_routes = app.named_routes
26
- app_routes.reject! { |r| r.identifier.to_s !~ /#{args.query}/ } if args.query.present?
27
- app_routes.map! { |r| [r.verb, r.name, r.path] }
28
- return if app_routes.empty?
29
- shell.say "\nApplication: #{app.app_class}", :yellow
30
- app_routes.unshift(["REQUEST", "URL", "PATH"])
31
- max_col_1 = app_routes.max { |a, b| a[0].size <=> b[0].size }[0].size
32
- max_col_2 = app_routes.max { |a, b| a[1].size <=> b[1].size }[1].size
33
- app_routes.each_with_index do |row, i|
34
- message = [row[1].ljust(max_col_2+2), row[0].center(max_col_1+2), row[2]]
35
- shell.say(" " + message.join(" "), i==0 ? :bold : nil)
36
- end
37
- end
38
-
39
- desc "Displays a listing of the named routes within a project, optionally only those matched by [query]"
40
- task :routes, [:query] => :environment do |t, args|
41
- Padrino.mounted_apps.each do |app|
42
- list_app_routes(app, args)
43
- end
44
- end
45
-
46
- desc "Displays a listing of the named routes a given app [app]"
47
- namespace :routes do
48
- task :app, [:app] => :environment do |t, args|
49
- app = Padrino.mounted_apps.find { |app| app.app_class == args.app }
50
- list_app_routes(app, args) if app
51
- end
52
- end
@@ -1,38 +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
- # @param [Array] args
9
- # command or commands to execute
10
- #
11
- # @return [Boolean]
12
- #
13
- # @example
14
- # Padrino.bin('start', '-e production')
15
- #
16
- def self.bin(*args)
17
- @_padrino_bin ||= [self.ruby_command, File.expand_path("../../../bin/padrino", __FILE__)]
18
- args.empty? ? @_padrino_bin : system(args.unshift(@_padrino_bin).join(" "))
19
- end
20
-
21
- ##
22
- # Return the path to the ruby interpreter taking into account multiple
23
- # installations and windows extensions.
24
- #
25
- # @return [String]
26
- # path to ruby bin executable
27
- #
28
- def self.ruby_command
29
- @ruby_command ||= begin
30
- ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
31
- ruby << RbConfig::CONFIG['EXEEXT']
32
-
33
- # escape string in case path to ruby executable contain spaces.
34
- ruby.sub!(/.*\s.*/m, '"\&"')
35
- ruby
36
- end
37
- end
38
- end
@@ -1,224 +0,0 @@
1
- module Padrino
2
- class << self
3
- ##
4
- # Hooks to be called before a load/reload.
5
- #
6
- # @yield []
7
- # The given block will be called before Padrino was loaded/reloaded.
8
- #
9
- # @return [Array<Proc>]
10
- # The load/reload before hooks.
11
- #
12
- # @example
13
- # before_load do
14
- # pre_initialize_something
15
- # end
16
- #
17
- def before_load(&block)
18
- @_before_load ||= []
19
- @_before_load << block if block_given?
20
- @_before_load
21
- end
22
-
23
- ##
24
- # Hooks to be called after a load/reload.
25
- #
26
- # @yield []
27
- # The given block will be called after Padrino was loaded/reloaded.
28
- #
29
- # @return [Array<Proc>]
30
- # The load/reload hooks.
31
- #
32
- # @example
33
- # after_load do
34
- # DataMapper.finalize
35
- # end
36
- #
37
- def after_load(&block)
38
- @_after_load ||= []
39
- @_after_load << block if block_given?
40
- @_after_load
41
- end
42
-
43
- ##
44
- # The used +$LOAD_PATHS+ from Padrino.
45
- #
46
- # @return [Array<String>]
47
- # The load paths used by Padrino.
48
- #
49
- def load_paths
50
- @_load_paths_was = %w(lib models shared).map { |path| Padrino.root(path) }
51
- @_load_paths ||= @_load_paths_was
52
- end
53
-
54
- ##
55
- # Requires necessary dependencies as well as application files from root
56
- # lib and models.
57
- #
58
- # @return [Boolean]
59
- # returns true if Padrino is not already bootstraped otherwise else.
60
- #
61
- def load!
62
- return false if loaded?
63
- t = Time.now
64
-
65
- @_called_from = first_caller
66
- Padrino.set_encoding
67
- Padrino.set_load_paths(*load_paths)
68
- Padrino::Logger.setup! # Initialize our logger
69
- Padrino.require_dependencies("#{root}/config/database.rb", :nodeps => true) # Be sure to don't remove constants from dbs.
70
- Padrino::Reloader.lock! # Now we can remove constant from here to down
71
- Padrino.before_load.each(&:call) # Run before hooks
72
- Padrino.dependency_paths.each { |path| Padrino.require_dependencies(path) }
73
- Padrino.after_load.each(&:call) # Run after hooks
74
- Padrino::Reloader.run!
75
- Thread.current[:padrino_loaded] = true
76
-
77
- Padrino.logger.devel "Loaded Padrino in #{Time.now - t} seconds"
78
- end
79
-
80
- ##
81
- # Clear the padrino env.
82
- #
83
- # @return [NilClass]
84
- #
85
- def clear!
86
- Padrino.clear_middleware!
87
- Padrino.mounted_apps.clear
88
- @_load_paths = nil
89
- @_dependency_paths = nil
90
- @_global_configuration = nil
91
- Padrino.before_load.clear
92
- Padrino.after_load.clear
93
- Padrino::Reloader.clear!
94
- Thread.current[:padrino_loaded] = nil
95
- end
96
-
97
- ##
98
- # Method for reloading required applications and their files.
99
- #
100
- def reload!
101
- return unless Padrino::Reloader.changed?
102
- Padrino.before_load.each(&:call) # Run before hooks
103
- Padrino::Reloader.reload! # detects the modified files
104
- Padrino.after_load.each(&:call) # Run after hooks
105
- end
106
-
107
- ##
108
- # This adds the ability to instantiate {Padrino.load!} after
109
- # {Padrino::Application} definition.
110
- #
111
- def called_from
112
- @_called_from || first_caller
113
- end
114
-
115
- ##
116
- # Determines whether Padrino was loaded with {Padrino.load!}.
117
- #
118
- # @return [Boolean]
119
- # Specifies whether Padrino was loaded.
120
- #
121
- def loaded?
122
- Thread.current[:padrino_loaded]
123
- end
124
-
125
- ##
126
- # Attempts to require all dependency libs that we need.
127
- # If you use this method we can perform correctly a Padrino.reload!
128
- # Another good thing that this method are dependency check, for example:
129
- #
130
- # # models
131
- # # \-- a.rb => require something of b.rb
132
- # # \-- b.rb
133
- #
134
- # In the example above if we do:
135
- #
136
- # Dir["/models/*.rb"].each { |r| require r }
137
- #
138
- # We get an error, because we try to require first +a.rb+ that need
139
- # _something_ of +b.rb+.
140
- #
141
- # With this method we don't have this problem.
142
- #
143
- # @param [Array<String>] paths
144
- # The paths to require.
145
- #
146
- # @example For require all our app libs we need to do:
147
- # require_dependencies("#{Padrino.root}/lib/**/*.rb")
148
- #
149
- def require_dependencies(*paths)
150
- options = paths.extract_options!
151
-
152
- # Extract all files to load
153
- files = paths.flatten.map { |path| Dir[path] }.flatten.uniq.sort
154
-
155
- while files.present?
156
- errors, failed = [], []
157
-
158
- size_at_start = files.size
159
-
160
- # Now we try to require our dependencies, we dup files
161
- # so we don't perform delete on the original array during
162
- # iteration, this prevent problems with Rubinus
163
- files.dup.each do |file|
164
- begin
165
- Padrino::Reloader.safe_load(file, options.dup)
166
- files.delete(file)
167
- rescue NameError, LoadError => e
168
- Padrino.logger.devel "Problem while loading #{file}: #{e}"
169
- errors << e
170
- failed << file
171
- rescue Exception => e
172
- raise e
173
- end
174
- end
175
-
176
- # Stop processing if nothing loads or if everything has loaded
177
- raise errors.last if files.size == size_at_start && files.present?
178
- break if files.empty?
179
- end
180
- end
181
-
182
- ##
183
- # Returns default list of path globs to load as dependencies.
184
- # Appends custom dependency patterns to the be loaded for Padrino.
185
- #
186
- # @return [Array<String>]
187
- # The dependencey paths.
188
- #
189
- # @example
190
- # Padrino.dependency_paths << "#{Padrino.root}/uploaders/*.rb"
191
- #
192
- def dependency_paths
193
- @_dependency_paths ||= (dependency_paths_was + Array(module_paths))
194
- end
195
-
196
- ##
197
- # Concat to +$LOAD_PATH+ the given paths.
198
- #
199
- # @param [Array<String>] paths
200
- # The paths to concat.
201
- #
202
- def set_load_paths(*paths)
203
- $:.concat(paths); load_paths.concat(paths)
204
- $:.uniq!; load_paths.uniq!
205
- end
206
-
207
- private
208
-
209
- def module_paths
210
- Padrino.modules.map(&:dependency_paths).flatten!
211
- end
212
-
213
- def dependency_paths_was
214
- [
215
- "#{root}/config/database.rb",
216
- "#{root}/lib/**/*.rb",
217
- "#{root}/shared/lib/**/*.rb",
218
- "#{root}/models/**/*.rb",
219
- "#{root}/shared/models/**/*.rb",
220
- "#{root}/config/apps.rb"
221
- ]
222
- end
223
- end
224
- end