middleman-core 3.2.2 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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