middleman-core 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
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