middleman-core 3.2.0 → 3.2.1

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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +10 -0
  3. data/features/helpers_auto_javascript_include_tag.feature +21 -0
  4. data/features/helpers_auto_stylesheet_link_tag.feature +21 -0
  5. data/features/i18n_builder.feature +23 -13
  6. data/features/i18n_preview.feature +9 -9
  7. data/features/markdown_kramdown.feature +1 -1
  8. data/fixtures/i18n-test-app/source/{layout.erb → layouts/layout.erb} +0 -0
  9. data/fixtures/i18n-test-app/source/{morning.en.html.erb → localizable/morning.en.html.erb} +0 -0
  10. data/fixtures/i18n-test-app/source/{morning.es.html.erb → localizable/morning.es.html.erb} +0 -0
  11. data/fixtures/i18n-test-app/source/{one.en.md → localizable/one.en.md} +0 -0
  12. data/fixtures/i18n-test-app/source/{one.es.md → localizable/one.es.md} +0 -0
  13. data/lib/middleman-core/application.rb +4 -0
  14. data/lib/middleman-core/cli/build.rb +14 -2
  15. data/lib/middleman-core/cli/init.rb +1 -0
  16. data/lib/middleman-core/core_extensions.rb +6 -1
  17. data/lib/middleman-core/core_extensions/file_watcher.rb +1 -0
  18. data/lib/middleman-core/core_extensions/request.rb +2 -4
  19. data/lib/middleman-core/extensions.rb +13 -5
  20. data/lib/middleman-core/meta_pages.rb +25 -11
  21. data/lib/middleman-core/meta_pages/sitemap_resource.rb +2 -2
  22. data/lib/middleman-core/meta_pages/templates/config.html.erb +7 -9
  23. data/lib/middleman-core/meta_pages/templates/index.html.erb +3 -3
  24. data/lib/middleman-core/meta_pages/templates/sitemap.html.erb +6 -6
  25. data/lib/middleman-core/sitemap/extensions/redirects.rb +1 -2
  26. data/lib/middleman-core/sitemap/extensions/request_endpoints.rb +2 -3
  27. data/lib/middleman-core/sitemap/resource.rb +7 -13
  28. data/lib/middleman-core/util.rb +2 -3
  29. data/lib/middleman-core/version.rb +1 -1
  30. data/lib/middleman-more/core_extensions/default_helpers.rb +9 -5
  31. data/lib/middleman-more/core_extensions/i18n.rb +17 -10
  32. data/lib/middleman-more/extensions/{automatic-alt-tags.rb → automatic_alt_tags.rb} +0 -0
  33. data/lib/middleman-more/extensions/gzip.rb +29 -6
  34. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/.document +0 -0
  35. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/.gitignore +0 -0
  36. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/.yardopts +0 -0
  37. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/LICENSE.txt +0 -0
  38. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/README.rdoc +5 -5
  39. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/Rakefile +0 -0
  40. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/bin/padrino +0 -0
  41. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core.rb +4 -10
  42. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/application.rb +39 -35
  43. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/application/flash.rb +7 -7
  44. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering.rb +317 -0
  45. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/application/rendering/extensions/erubis.rb +15 -6
  46. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/application/rendering/extensions/haml.rb +2 -0
  47. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/application/rendering/extensions/slim.rb +0 -0
  48. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/application/routing.rb +406 -368
  49. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/showexceptions.rb +21 -0
  50. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/caller.rb +53 -0
  51. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/cli/adapter.rb +4 -4
  52. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/cli/base.rb +40 -39
  53. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/cli/console.rb +0 -0
  54. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/cli/rake.rb +2 -2
  55. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/cli/rake_tasks.rb +2 -4
  56. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/command.rb +2 -2
  57. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/images/404.png +0 -0
  58. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/images/500.png +0 -0
  59. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/loader.rb +14 -15
  60. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/cs.yml +0 -1
  61. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/da.yml +0 -1
  62. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/de.yml +0 -1
  63. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/en.yml +0 -1
  64. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/es.yml +1 -2
  65. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/fr.yml +2 -3
  66. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/hu.yml +1 -2
  67. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/it.yml +0 -1
  68. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/ja.yml +1 -2
  69. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/lv.yml +0 -1
  70. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/nl.yml +0 -1
  71. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/no.yml +0 -2
  72. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/pl.yml +0 -1
  73. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/pt_br.yml +0 -1
  74. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/ro.yml +0 -1
  75. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/ru.yml +0 -1
  76. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/sv.yml +0 -1
  77. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/tr.yml +0 -1
  78. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/uk.yml +0 -1
  79. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/zh_cn.yml +0 -1
  80. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/locale/zh_tw.yml +0 -1
  81. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/logger.rb +30 -36
  82. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/module.rb +3 -3
  83. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/mounter.rb +59 -59
  84. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/reloader.rb +23 -23
  85. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/router.rb +10 -13
  86. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/server.rb +17 -19
  87. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/support_lite.rb +0 -0
  88. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/tasks.rb +3 -3
  89. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/lib/padrino-core/version.rb +1 -1
  90. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/padrino-core.gemspec +2 -2
  91. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/app_gem/Gemfile +0 -0
  92. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/app_gem/app/app.rb +0 -0
  93. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/app_gem/app_gem.gemspec +0 -0
  94. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/app_gem/lib/app_gem.rb +0 -0
  95. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/app_gem/lib/app_gem/version.rb +0 -0
  96. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/apps/.components +0 -0
  97. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/apps/.gitignore +0 -0
  98. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/apps/complex.rb +0 -0
  99. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/apps/simple.rb +0 -0
  100. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/dependencies/a.rb +0 -0
  101. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/dependencies/b.rb +0 -0
  102. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/dependencies/c.rb +0 -0
  103. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/dependencies/circular/e.rb +0 -0
  104. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/dependencies/circular/f.rb +0 -0
  105. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/dependencies/circular/g.rb +0 -0
  106. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/fixtures/dependencies/d.rb +0 -0
  107. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/helper.rb +0 -0
  108. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/mini_shoulda.rb +0 -0
  109. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_application.rb +7 -7
  110. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_core.rb +0 -0
  111. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_csrf_protection.rb +0 -0
  112. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_dependencies.rb +0 -0
  113. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_filters.rb +0 -0
  114. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_flash.rb +0 -0
  115. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_locale.rb +0 -0
  116. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_logger.rb +29 -0
  117. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_mounter.rb +0 -0
  118. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_reloader_complex.rb +0 -0
  119. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_reloader_simple.rb +0 -0
  120. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_rendering.rb +15 -2
  121. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering_extensions.rb +14 -0
  122. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_restful_routing.rb +0 -0
  123. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_router.rb +0 -0
  124. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_routing.rb +69 -11
  125. data/lib/vendored-middleman-deps/{padrino-core-0.11.2 → padrino-core-0.11.4}/test/test_support_lite.rb +0 -0
  126. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/.document +0 -0
  127. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/.gitignore +0 -0
  128. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/.yardopts +0 -0
  129. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/LICENSE.txt +0 -0
  130. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/README.rdoc +1 -1
  131. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/Rakefile +0 -0
  132. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers.rb +3 -6
  133. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/asset_tag_helpers.rb +34 -42
  134. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/breadcrumb_helpers.rb +183 -0
  135. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/form_builder/abstract_form_builder.rb +126 -118
  136. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/form_builder/standard_form_builder.rb +6 -9
  137. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/form_helpers.rb +252 -195
  138. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/format_helpers.rb +29 -42
  139. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/cs.yml +14 -14
  140. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/da.yml +1 -1
  141. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/de.yml +1 -1
  142. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/en.yml +16 -16
  143. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/es.yml +16 -16
  144. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/fr.yml +1 -2
  145. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/hu.yml +16 -16
  146. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/it.yml +2 -2
  147. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/ja.yml +16 -16
  148. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/lv.yml +16 -16
  149. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/nl.yml +1 -1
  150. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/no.yml +1 -1
  151. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/pl.yml +7 -7
  152. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/pt_br.yml +16 -16
  153. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/ro.yml +16 -16
  154. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/ru.yml +16 -16
  155. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/sv.yml +16 -16
  156. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/tr.yml +16 -16
  157. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/uk.yml +16 -16
  158. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/zh_cn.yml +16 -16
  159. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/locale/zh_tw.yml +16 -16
  160. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/number_helpers.rb +10 -15
  161. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/output_helpers.rb +50 -58
  162. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/output_helpers/abstract_handler.rb +16 -18
  163. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/output_helpers/erb_handler.rb +11 -12
  164. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/output_helpers/haml_handler.rb +9 -9
  165. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/output_helpers/slim_handler.rb +11 -13
  166. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/render_helpers.rb +5 -6
  167. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/tag_helpers.rb +26 -22
  168. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/lib/padrino-helpers/translation_helpers.rb +4 -6
  169. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/padrino-helpers.gemspec +0 -0
  170. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/app.rb +7 -3
  171. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.erb +8 -0
  172. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.haml +5 -0
  173. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.slim +6 -0
  174. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/capture_concat.erb +0 -0
  175. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/capture_concat.haml +0 -0
  176. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/capture_concat.slim +0 -0
  177. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/content_for.erb +0 -0
  178. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/content_for.haml +0 -0
  179. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/content_for.slim +0 -0
  180. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/content_tag.erb +0 -0
  181. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/content_tag.haml +0 -0
  182. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/content_tag.slim +0 -0
  183. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/current_engine.erb +0 -0
  184. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/current_engine.haml +0 -0
  185. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/current_engine.slim +0 -0
  186. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/fields_for.erb +0 -0
  187. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/fields_for.haml +0 -0
  188. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/fields_for.slim +0 -0
  189. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/form_for.erb +0 -0
  190. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/form_for.haml +0 -0
  191. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/form_for.slim +0 -0
  192. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/form_tag.erb +9 -0
  193. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/form_tag.haml +8 -0
  194. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/form_tag.slim +9 -0
  195. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/link_to.erb +0 -0
  196. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/link_to.haml +0 -0
  197. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/link_to.slim +0 -0
  198. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/mail_to.erb +0 -0
  199. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/mail_to.haml +0 -0
  200. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/mail_to.slim +0 -0
  201. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/meta_tag.erb +0 -0
  202. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/meta_tag.haml +0 -0
  203. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/meta_tag.slim +0 -0
  204. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/partials/_erb.erb +0 -0
  205. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/partials/_haml.haml +0 -0
  206. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/partials/_slim.slim +0 -0
  207. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/simple_partial.erb +0 -0
  208. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/simple_partial.haml +0 -0
  209. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/markup_app/views/simple_partial.slim +0 -0
  210. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/app.rb +1 -0
  211. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/current_engine.haml +0 -0
  212. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/current_engines/_erb.erb +0 -0
  213. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/current_engines/_haml.haml +0 -0
  214. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/current_engines/_slim.slim +0 -0
  215. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/double_capture_erb.erb +0 -0
  216. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/double_capture_haml.haml +0 -0
  217. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/double_capture_slim.slim +0 -0
  218. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/erb/test.erb +0 -0
  219. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/explicit_engine.haml +0 -0
  220. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/haml/test.haml +0 -0
  221. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/template/_user.haml +0 -0
  222. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/template/haml_template.haml +0 -0
  223. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/fixtures/render_app/views/template/some_template.haml +0 -0
  224. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/helper.rb +0 -0
  225. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_asset_tag_helpers.rb +9 -3
  226. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_breadcrumb_helpers.rb +134 -0
  227. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_form_builder.rb +38 -6
  228. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_form_helpers.rb +230 -12
  229. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_format_helpers.rb +3 -3
  230. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_locale.rb +0 -0
  231. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_number_helpers.rb +4 -0
  232. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_output_helpers.rb +1 -1
  233. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_render_helpers.rb +1 -1
  234. data/lib/vendored-middleman-deps/{padrino-helpers-0.11.2 → padrino-helpers-0.11.4}/test/test_tag_helpers.rb +3 -3
  235. data/middleman-core.gemspec +7 -8
  236. data/spec/spec_helper.rb +1 -1
  237. metadata +220 -215
  238. data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/application/rendering.rb +0 -320
  239. data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/application/showexceptions.rb +0 -20
  240. data/lib/vendored-middleman-deps/padrino-core-0.11.2/lib/padrino-core/caller.rb +0 -53
  241. data/lib/vendored-middleman-deps/padrino-helpers-0.11.2/lib/padrino-helpers/breadcrumb_helpers.rb +0 -171
@@ -1,320 +0,0 @@
1
- require 'padrino-core/support_lite' unless defined?(SupportLite)
2
-
3
- module Padrino
4
- ##
5
- # Padrino enhances the Sinatra 'render' method to have support for
6
- # automatic template engine detection, enhanced layout functionality,
7
- # locale enabled rendering, among other features.
8
- #
9
- module Rendering
10
- ##
11
- # A SafeTemplate assumes that its output is safe.
12
- #
13
- # @api private
14
- module SafeTemplate
15
- def render(*)
16
- super.html_safe
17
- end
18
- end
19
-
20
- ##
21
- # Exception responsible for when an expected template did not exist.
22
- #
23
- class TemplateNotFound < RuntimeError
24
- end
25
-
26
- ##
27
- # This is an array of file patterns to ignore. If your editor add a
28
- # suffix during editing to your files please add it like:
29
- #
30
- # @example
31
- # Padrino::Rendering::IGNORE_FILE_PATTERN << /~$/
32
- #
33
- IGNORE_FILE_PATTERN = [
34
- /~$/ # This is for Gedit
35
- ] unless defined?(IGNORE_FILE_PATTERN)
36
-
37
- ##
38
- # Default options used in the #resolve_template-method.
39
- #
40
- DEFAULT_RENDERING_OPTIONS = { :strict_format => false, :raise_exceptions => true } unless defined?(DEFAULT_RENDERING_OPTIONS)
41
-
42
- class << self
43
- ##
44
- # Default engine configurations for Padrino::Rendering
45
- #
46
- # @return {Hash<Symbol,Hash>}
47
- # The configurations, keyed by engine.
48
- def engine_configurations
49
- @engine_configurations ||= {}
50
- end
51
-
52
- ##
53
- # Main class that register this extension.
54
- #
55
- def registered(app)
56
- included(app)
57
- engine_configurations.each do |engine, configs|
58
- app.set engine, configs
59
- end
60
- end
61
-
62
- def included(base)
63
- base.send(:include, InstanceMethods)
64
- base.extend(ClassMethods)
65
- end
66
- end
67
-
68
- ##
69
- # Class methods responsible for rendering templates as part of a request.
70
- #
71
- module ClassMethods
72
- ##
73
- # Use layout like rails does or if a block given then like sinatra.
74
- # If used without a block, sets the current layout for the route.
75
- #
76
- # By default, searches in your:
77
- #
78
- # +app+/+views+/+layouts+/+application+.(+haml+|+erb+|+xxx+)
79
- # +app+/+views+/+layout_name+.(+haml+|+erb+|+xxx+)
80
- #
81
- # If you define +layout+ :+custom+ then searches for your layouts in
82
- # +app+/+views+/+layouts+/+custom+.(+haml+|+erb+|+xxx+)
83
- # +app+/+views+/+custom+.(+haml+|+erb+|+xxx+)
84
- #
85
- # @param [Symbol] name (:layout)
86
- # The layout to use.
87
- #
88
- # @yield []
89
- #
90
- def layout(name=:layout, &block)
91
- return super(name, &block) if block_given?
92
- @layout = name
93
- end
94
-
95
- ##
96
- # Returns the cached template file to render for a given url, content_type and locale.
97
- #
98
- # @param [Array<template_path, content_type, locale>] render_options
99
- #
100
- def fetch_template_file(render_options)
101
- (@_cached_templates ||= {})[render_options]
102
- end
103
-
104
- ##
105
- # Caches the template file for the given rendering options
106
- #
107
- # @param [String] template_file
108
- # The path of the template file.
109
- #
110
- # @param [Array<template_path, content_type, locale>] render_options
111
- #
112
- def cache_template_file!(template_file, render_options)
113
- (@_cached_templates ||= {})[render_options] = template_file || []
114
- end
115
-
116
- ##
117
- # Returns the cached layout path.
118
- #
119
- # @param [Symbol, nil] given_layout
120
- # The requested layout.
121
- #
122
- def fetch_layout_path(given_layout=nil)
123
- layout_name = given_layout || @layout || :application
124
- @_cached_layout ||= {}
125
- cached_layout_path = @_cached_layout[layout_name]
126
- return cached_layout_path if cached_layout_path
127
- has_layout_at_root = Dir["#{views}/#{layout_name}.*"].any?
128
- layout_path = has_layout_at_root ? layout_name.to_sym : File.join('layouts', layout_name.to_s).to_sym
129
- @_cached_layout[layout_name] = layout_path unless reload_templates?
130
- layout_path
131
- end
132
- end
133
-
134
- # Instance methods that allow enhanced rendering to function properly in Padrino.
135
- module InstanceMethods
136
- attr_reader :current_engine
137
-
138
- ##
139
- # Get/Set the content_type
140
- #
141
- # @param [String, nil] type
142
- # The Content-Type to use.
143
- #
144
- # @param [Symbol, nil] type.
145
- # Look and parse the given symbol to the matched Content-Type.
146
- #
147
- # @param [Hash] params
148
- # Additional params to append to the Content-Type.
149
- #
150
- # @example
151
- # case content_type
152
- # when :js then do_some
153
- # when :css then do_another
154
- # end
155
- #
156
- # content_type :js
157
- # # => set the response with 'application/javascript' Content-Type
158
- # content_type 'text/html'
159
- #
160
- # # => set directly the Content-Type to 'text/html'
161
- #
162
- def content_type(type=nil, params={})
163
- unless type.nil?
164
- super(type, params)
165
- @_content_type = type
166
- end
167
- @_content_type
168
- end
169
-
170
- private
171
- ##
172
- # Enhancing Sinatra render functionality for:
173
- #
174
- # * Using layout similar to rails
175
- # * Use render 'path/to/my/template' (without symbols)
176
- # * Use render 'path/to/my/template' (with engine lookup)
177
- # * Use render 'path/to/template.haml' (with explicit engine lookup)
178
- # * Use render 'path/to/template', :layout => false
179
- # * Use render 'path/to/template', :layout => false, :engine => 'haml'
180
- #
181
- def render(engine, data=nil, options={}, locals={}, &block)
182
-
183
- # If engine is nil, ignore engine parameter and shift up all arguments
184
- # render nil, "index", { :layout => true }, { :localvar => "foo" }
185
- engine, data, options = data, options, locals if engine.nil? && data
186
-
187
- # Data is a hash of options when no engine isn't explicit
188
- # render "index", { :layout => true }, { :localvar => "foo" }
189
- # Data is options, and options is locals in this case
190
- data, options, locals = nil, data, options if data.is_a?(Hash)
191
-
192
- # If data is unassigned then this is a likely a template to be resolved
193
- # This means that no engine was explicitly defined
194
- data, engine = *resolve_template(engine, options.dup) if data.nil?
195
-
196
- # Setup root
197
- root = settings.respond_to?(:root) ? settings.root : ""
198
-
199
- # Use @layout if it exists
200
- layout_was = options[:layout]
201
- options[:layout] = @layout if options[:layout].nil? || options[:layout] == true
202
- # Resolve layouts similar to in Rails
203
- if options[:layout].nil? && !settings.templates.has_key?(:layout)
204
- layout_path, layout_engine = *resolved_layout
205
- options[:layout] = layout_path || false # We need to force layout false so sinatra don't try to render it
206
- options[:layout] = false unless layout_engine == engine # TODO allow different layout engine
207
- options[:layout_engine] = layout_engine || engine if options[:layout]
208
- elsif options[:layout].present?
209
- options[:layout] = settings.fetch_layout_path(options[:layout] || @layout)
210
- end
211
- # Default to original layout value if none found
212
- options[:layout] ||= layout_was
213
-
214
- # Cleanup the template
215
- @current_engine, engine_was = engine, @current_engine
216
- @_out_buf, _buf_was = ActiveSupport::SafeBuffer.new, @_out_buf
217
-
218
- # Pass arguments to Sinatra render method
219
- super(engine, data, options.dup, locals, &block)
220
- ensure
221
- @current_engine = engine_was
222
- @_out_buf = _buf_was
223
- end
224
-
225
- ##
226
- # Returns the located layout tuple to be used for the rendered template
227
- # (if available).
228
- #
229
- # @example
230
- # resolve_layout
231
- # # => ["/layouts/custom", :erb]
232
- # # => [nil, nil]
233
- #
234
- def resolved_layout
235
- located_layout = resolve_template(settings.fetch_layout_path, :raise_exceptions => false, :strict_format => true)
236
- located_layout ? located_layout : [nil, nil]
237
- end
238
-
239
- ##
240
- # Returns the template path and engine that match content_type (if present),
241
- # I18n.locale.
242
- #
243
- # @param [String] template_path
244
- # The path of the template.
245
- #
246
- # @param [Hash] options
247
- # Additional options.
248
- #
249
- # @option options [Boolean] :strict_format (false)
250
- # The resolved template must match the content_type of the request.
251
- #
252
- # @option options [Boolean] :raise_exceptions (false)
253
- # Raises a {TemplateNotFound} exception if the template cannot be located.
254
- #
255
- # @return [Array<Symbol, Symbol>]
256
- # The path and format of the template.
257
- #
258
- # @raise [TemplateNotFound]
259
- # The template could not be found.
260
- #
261
- # @example
262
- # get "/foo", :provides => [:html, :js] do; render 'path/to/foo'; end
263
- # # If you request "/foo.js" with I18n.locale == :ru => [:"/path/to/foo.ru.js", :erb]
264
- # # If you request "/foo" with I18n.locale == :de => [:"/path/to/foo.de.haml", :haml]
265
- #
266
- def resolve_template(template_path, options={})
267
- began_at = Time.now
268
- # Fetch cached template for rendering options
269
- template_path = template_path.to_s[0] == ?/ ? template_path.to_s : "/#{template_path}"
270
- rendering_options = [template_path, content_type, locale]
271
- cached_template = settings.fetch_template_file(rendering_options)
272
- if cached_template
273
- logger.debug :cached, began_at, cached_template[0] if settings.logging? && defined?(logger)
274
- return cached_template
275
- end
276
-
277
- # Resolve view path and options
278
- options.reverse_merge!(DEFAULT_RENDERING_OPTIONS)
279
- view_path = options.delete(:views) || settings.views || "./views"
280
- target_extension = File.extname(template_path)[1..-1] || "none" # explicit template extension
281
- template_path = template_path.chomp(".#{target_extension}")
282
-
283
- # Generate potential template candidates
284
- templates = Dir[File.join(view_path, template_path) + ".*"].map do |file|
285
- template_engine = File.extname(file)[1..-1].to_sym # retrieves engine extension
286
- template_file = file.sub(view_path, '').chomp(".#{template_engine}").to_sym # retrieves template filename
287
- [template_file, template_engine] unless IGNORE_FILE_PATTERN.any? { |pattern| template_engine.to_s =~ pattern }
288
- end
289
-
290
- # Check if we have a simple content type
291
- simple_content_type = [:html, :plain].include?(content_type)
292
-
293
- # Resolve final template to render
294
- located_template =
295
- templates.find { |file, e| file.to_s == "#{template_path}.#{locale}.#{content_type}" } ||
296
- templates.find { |file, e| file.to_s == "#{template_path}.#{locale}" && simple_content_type } ||
297
- templates.find { |file, e| File.extname(file.to_s) == ".#{target_extension}" or e.to_s == target_extension.to_s } ||
298
- templates.find { |file, e| file.to_s == "#{template_path}.#{content_type}" } ||
299
- templates.find { |file, e| file.to_s == "#{template_path}" && simple_content_type } ||
300
- (!options[:strict_format] && templates.first) # If not strict, fall back to the first located template
301
-
302
- raise TemplateNotFound, "Template '#{template_path}' not found in '#{view_path}'!" if !located_template && options[:raise_exceptions]
303
- settings.cache_template_file!(located_template, rendering_options) unless settings.reload_templates?
304
- logger.debug :template, began_at, located_template[0] if located_template && settings.logging? && defined?(logger)
305
- located_template
306
- end
307
-
308
- ##
309
- # Return the I18n.locale if I18n is defined.
310
- #
311
- def locale
312
- I18n.locale if defined?(I18n)
313
- end
314
- end # InstanceMethods
315
- end # Rendering
316
- end # Padrino
317
-
318
- require 'padrino-core/application/rendering/extensions/haml'
319
- require 'padrino-core/application/rendering/extensions/erubis'
320
- require 'padrino-core/application/rendering/extensions/slim'
@@ -1,20 +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
- def frame_class(frame)
9
- if frame.filename =~ /lib\/sinatra.*\.rb|lib\/padrino.*\.rb/
10
- "framework"
11
- elsif (defined?(Gem) && frame.filename.include?(Gem.dir)) ||
12
- frame.filename =~ /\/bin\/(\w+)$/ ||
13
- frame.filename =~ /Ruby\/Gems/
14
- "system"
15
- else
16
- "app"
17
- end
18
- end
19
- end # ShowExceptions
20
- end # Padrino
@@ -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-.*$}, # all padrino code
6
- %r{/padrino-.*/(lib|bin)}, # all padrino code
7
- %r{/bin/padrino$}, # all padrino code
8
- %r{/sinatra(/(base|main|showexceptions))?\.rb$}, # all sinatra code
9
- %r{lib/tilt.*\.rb$}, # all tilt code
10
- %r{lib/rack.*\.rb$}, # all rack code
11
- %r{lib/mongrel.*\.rb$}, # all mongrel code
12
- %r{lib/shotgun.*\.rb$}, # all shotgun lib
13
- %r{bin/shotgun$}, # shotgun binary
14
- %r{\(.*\)}, # generated code
15
- %r{shoulda/context\.rb$}, # shoulda hacks
16
- %r{mocha/integration}, # mocha hacks
17
- %r{test/unit}, # test unit hacks
18
- %r{rake_test_loader\.rb}, # rake hacks
19
- %r{custom_require\.rb$}, # rubygems require hacks
20
- %r{active_support}, # active_support require hacks
21
- %r{/thor} # thor require hacks
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 # Padrino
@@ -1,171 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- class Breadcrumb
4
-
5
- attr_accessor :home
6
- attr_accessor :items
7
-
8
- DEFAULT_URL = "/"
9
- DEFAULT_CAPTION ="Home Page"
10
-
11
- ##
12
- # initialize breadcrumbs with default value
13
- #
14
- # @example
15
- # before do
16
- # @breadcrumbs = breadcrumbs.new
17
- # end
18
- #
19
- # @api public
20
- def initialize
21
- self.home = { :url => DEFAULT_URL, :caption => DEFAULT_CAPTION, :name => :home }
22
- reset
23
- end
24
-
25
- ##
26
- # Set the custom home (Parent) link
27
- #
28
- # @param [String] url
29
- # The url href
30
- #
31
- # @param [String] caption
32
- # The text caption.
33
- #
34
- # @example
35
- # breadcrumbs.set_home "/HomeFoo", "Foo Home"
36
- #
37
- #
38
- # @api public
39
- def set_home(url, caption)
40
- self.home = { :url => url, :caption => caption.to_s.humanize.html_safe, :name => :home }
41
- reset
42
- end
43
-
44
- ##
45
- # Reset breadcrumbs to default or personal home
46
- #
47
- # @example
48
- # breadcrumbs.reset
49
- #
50
- # @api public
51
- def reset
52
- self.items=[]
53
- self.items << home
54
- end
55
-
56
- ##
57
- # Reset breadcrumbs to default home
58
- #
59
- # @example
60
- # breadcrumbs.reset!
61
- #
62
- # @api public
63
- def reset!
64
- self.home = { :url => DEFAULT_URL, :caption => DEFAULT_CAPTION, :name => :home }
65
- reset
66
- end
67
-
68
- ##
69
- # Add a new breadcrumbs
70
- #
71
- # @param [String] name
72
- # The name of resource
73
- # @param [Symbol] name
74
- # The name of resource
75
- #
76
- # @param [String] url
77
- # The url href.
78
- #
79
- # @param [String] caption
80
- # The text caption
81
- #
82
- # @example
83
- # breadcrumbs.add "foo", "/foo", "Foo Link"
84
- # breadcrumbs.add :foo, "/foo", "Foo Link"
85
- #
86
- # @api public
87
- def add(name, url, caption)
88
- items << { :name => name, :url => url.to_s, :caption => caption.to_s.humanize.html_safe }
89
- end
90
-
91
- alias :<< :add
92
-
93
- ##
94
- # Remove a Breadcrumbs
95
- #
96
- # @param [String] name
97
- # The name of resource to delete from breadcrumbs list
98
- #
99
- # @param [Symbol] name
100
- # The name of resource to delete from breadcrumbs list
101
- #
102
- # @example
103
- # breadcrumbs.del "foo"
104
- # breadcrumbs.del :foo
105
- #
106
- # @api public
107
- def del(name)
108
- items.delete_if { |item| item[:name] == name.to_sym }
109
- end
110
-
111
- end # Breadcrumb
112
-
113
-
114
- module Breadcrumbs
115
-
116
- # Render breadcrumbs to view
117
- #
118
- # @param [Breadcrumbs] breadcrumbs
119
- # The breadcrumbs to render into view
120
- #
121
- # @param [Boolean] bootstrap
122
- # If true, render separation (usefull with Twitter Bootstrap)
123
- #
124
- # @param [String] active
125
- # Css class style set to active breadcrumb
126
- #
127
- # @return [String] Unordered list with breadcrumbs
128
- #
129
- # @example
130
- # = breadcrumbs @breacrumbs
131
- # # Generates:
132
- # # <ul>
133
- # # <li><a herf="/foo" >Foo Link</a></li>
134
- # # <li class="active" ><a herf="/bar">Bar Link</a></li>
135
- # # </ul>
136
- #
137
- #
138
- # @api public
139
- def breadcrumbs(breadcrumbs, bootstrap=false, active="active")
140
- content=""
141
- breadcrumbs.items[0..-2].each do |item|
142
- content << render_item(item, bootstrap)
143
- end
144
- last = link_to(breadcrumbs.items.last[:caption], breadcrumbs.items.last[:url])
145
- content << safe_content_tag(:li, last, :class => active)
146
- safe_content_tag(:ul, content, :class => "breadcrumb" )
147
- end
148
-
149
- private
150
- ##
151
- # Private method to return list item
152
- #
153
- # @param [Hash] item
154
- # The breadcrumb item
155
- #
156
- # @param [Boolean] bootstrap
157
- # If true, render separation (usefull with Twitter Bootstrap)
158
- #
159
- # @return [String] List item with breacrumb
160
- #
161
- # @api public
162
- def render_item(item, bootstrap)
163
- content = ""
164
- content << link_to(item[:caption], item[:url])
165
- content << safe_content_tag(:span, "/", :class => "divider") if bootstrap
166
- safe_content_tag(:li, content )
167
- end
168
-
169
- end # Breadcrumb
170
- end # Helpers
171
- end # Padrino