middleman-core 3.0.0.beta.1 → 3.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (358) hide show
  1. data/Rakefile +2 -44
  2. data/bin/middleman +12 -8
  3. data/features/3rd_party_cli.feature +12 -2
  4. data/features/builder.feature +1 -1
  5. data/features/clean_build.feature +24 -14
  6. data/features/cli.feature +9 -30
  7. data/features/custom_layouts.feature +6 -0
  8. data/features/directory_index.feature +2 -0
  9. data/features/dynamic_pages.feature +37 -0
  10. data/features/extensionless_text_files.feature +58 -0
  11. data/features/former_padrino_helpers.feature +5 -3
  12. data/features/frontmatter_page_settings.feature +27 -0
  13. data/features/helpers_external.feature +7 -1
  14. data/features/i18n_builder.feature +121 -0
  15. data/features/i18n_preview.feature +113 -0
  16. data/features/ignore.feature +198 -0
  17. data/features/implied_extensions.feature +52 -0
  18. data/features/instance_vars.feature +0 -2
  19. data/features/partials.feature +5 -0
  20. data/features/request_params.feature +6 -0
  21. data/features/{sitemap_traversal.features → sitemap_traversal.feature} +24 -24
  22. data/features/wildcard_page_helper.feature +1 -1
  23. data/fixtures/clean-dir-app/config.rb +2 -1
  24. data/fixtures/clean-nested-app/config.rb +3 -0
  25. data/fixtures/clean-nested-app/source/about.html +1 -0
  26. data/fixtures/dynamic-pages-app/config.rb +25 -5
  27. data/fixtures/dynamic-pages-app/source/real/index.html.erb +5 -1
  28. data/{lib/middleman-core/vendor/darwin/spec/fixtures/custom 'path/.gitignore → fixtures/extensionless-text-files-app/config.rb} +0 -0
  29. data/fixtures/extensionless-text-files-app/source/CNAME +1 -0
  30. data/fixtures/extensionless-text-files-app/source/LICENSE +1 -0
  31. data/fixtures/extensionless-text-files-app/source/README +1 -0
  32. data/fixtures/extensionless-text-files-app/source/index.html +1 -0
  33. data/fixtures/external-helpers/helpers/four_helper.rb +3 -0
  34. data/fixtures/external-helpers/helpers/one_helper.rb +3 -0
  35. data/fixtures/external-helpers/helpers/three_helper.rb +3 -0
  36. data/fixtures/external-helpers/helpers/two_helper.rb +3 -0
  37. data/fixtures/external-helpers/source/automatic.html.erb +1 -0
  38. data/fixtures/frontmatter-settings-app/config.rb +4 -0
  39. data/fixtures/frontmatter-settings-app/source/alternate_layout.html.erb +5 -0
  40. data/fixtures/frontmatter-settings-app/source/ignored.html.erb +5 -0
  41. data/fixtures/frontmatter-settings-app/source/layouts/alternate.erb +3 -0
  42. data/fixtures/frontmatter-settings-app/source/no_index.html.erb +5 -0
  43. data/fixtures/i18n-alt-root-app/locales/en.yml +4 -0
  44. data/fixtures/i18n-alt-root-app/locales/es.yml +7 -0
  45. data/fixtures/i18n-alt-root-app/source/lang_data/hello.html.erb +1 -0
  46. data/fixtures/i18n-alt-root-app/source/lang_data/index.html.erb +1 -0
  47. data/fixtures/i18n-alt-root-app/source/layout.erb +1 -0
  48. data/fixtures/i18n-test-app/locales/en.yml +4 -0
  49. data/fixtures/i18n-test-app/locales/es.yml +7 -0
  50. data/fixtures/i18n-test-app/source/layout.erb +1 -0
  51. data/fixtures/i18n-test-app/source/localizable/hello.html.erb +1 -0
  52. data/fixtures/i18n-test-app/source/localizable/index.html.erb +1 -0
  53. data/fixtures/ignore-app/source/about.html.erb +1 -0
  54. data/{lib/middleman-core/vendor/darwin/spec/fixtures/folder1/file1.txt → fixtures/ignore-app/source/images/icon/messages.png} +0 -0
  55. data/{lib/middleman-core/vendor/darwin/spec/fixtures/folder1/folder2/file2.txt → fixtures/ignore-app/source/images/pic.png} +0 -0
  56. data/fixtures/ignore-app/source/images/portrait.jpg +0 -0
  57. data/fixtures/ignore-app/source/index.html.erb +0 -0
  58. data/fixtures/ignore-app/source/plain.html +1 -0
  59. data/fixtures/ignore-app/source/reports/another.html +0 -0
  60. data/fixtures/ignore-app/source/reports/index.html +0 -0
  61. data/fixtures/implied-extensions-app/config.rb +0 -0
  62. data/fixtures/implied-extensions-app/source/index.erb +1 -0
  63. data/fixtures/indexable-app/config.rb +3 -1
  64. data/fixtures/indexable-app/source/wildcard_leave_me_alone.html +1 -0
  65. data/fixtures/large-build-app/source/feed.xml.builder +4 -0
  66. data/fixtures/lorem-app/config.rb +1 -0
  67. data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +2 -1
  68. data/fixtures/partials-app/source/shared/_footer.erb +1 -1
  69. data/fixtures/partials-app/source/shared/snippet.erb +1 -0
  70. data/fixtures/partials-app/source/using_snippet.html.erb +1 -0
  71. data/fixtures/request-app/config.rb +0 -0
  72. data/fixtures/request-app/source/index.html.erb +3 -0
  73. data/fixtures/traversal-app/source/layout.erb +2 -0
  74. data/lib/middleman-core/application.rb +558 -0
  75. data/lib/middleman-core/cli/build.rb +67 -64
  76. data/lib/middleman-core/cli/init.rb +10 -4
  77. data/lib/middleman-core/cli/server.rb +7 -1
  78. data/lib/middleman-core/cli.rb +22 -2
  79. data/lib/middleman-core/core_extensions/assets.rb +12 -3
  80. data/lib/middleman-core/core_extensions/builder.rb +0 -37
  81. data/lib/middleman-core/core_extensions/data.rb +3 -3
  82. data/lib/middleman-core/core_extensions/default_helpers.rb +17 -26
  83. data/lib/middleman-core/core_extensions/extensions.rb +13 -10
  84. data/lib/middleman-core/core_extensions/external_helpers.rb +35 -0
  85. data/lib/middleman-core/core_extensions/file_watcher.rb +9 -5
  86. data/lib/middleman-core/core_extensions/front_matter.rb +85 -15
  87. data/lib/middleman-core/core_extensions/i18n.rb +137 -0
  88. data/lib/middleman-core/core_extensions/rendering.rb +134 -21
  89. data/lib/middleman-core/core_extensions/routing.rb +42 -23
  90. data/lib/middleman-core/core_extensions/show_exceptions.rb +13 -3
  91. data/lib/middleman-core/extensions/asset_host.rb +21 -3
  92. data/lib/middleman-core/extensions/automatic_image_sizes.rb +20 -1
  93. data/lib/middleman-core/extensions/directory_indexes.rb +42 -47
  94. data/lib/middleman-core/extensions/lorem.rb +54 -6
  95. data/lib/middleman-core/extensions.rb +179 -0
  96. data/lib/middleman-core/renderers/erb.rb +28 -21
  97. data/lib/middleman-core/sitemap/extensions/ignores.rb +86 -0
  98. data/lib/middleman-core/sitemap/extensions/on_disk.rb +77 -0
  99. data/lib/middleman-core/sitemap/extensions/proxies.rb +97 -0
  100. data/lib/middleman-core/sitemap/extensions/traversal.rb +77 -0
  101. data/lib/middleman-core/sitemap/resource.rb +126 -0
  102. data/lib/middleman-core/sitemap/store.rb +148 -97
  103. data/lib/middleman-core/sitemap.rb +78 -0
  104. data/lib/middleman-core/step_definitions/builder_steps.rb +15 -1
  105. data/lib/middleman-core/step_definitions/server_steps.rb +11 -4
  106. data/lib/middleman-core/templates/default.rb +10 -0
  107. data/lib/middleman-core/templates/html5/source/404.html +32 -27
  108. data/lib/middleman-core/templates/html5/source/README.md +34 -367
  109. data/lib/middleman-core/templates/html5/source/apple-touch-icon-114x114-precomposed.png +0 -0
  110. data/lib/middleman-core/templates/html5/source/apple-touch-icon-57x57-precomposed.png +0 -0
  111. data/lib/middleman-core/templates/html5/source/apple-touch-icon-72x72-precomposed.png +0 -0
  112. data/lib/middleman-core/templates/html5/source/apple-touch-icon-precomposed.png +0 -0
  113. data/lib/middleman-core/templates/html5/source/apple-touch-icon.png +0 -0
  114. data/lib/middleman-core/templates/html5/source/crossdomain.xml +0 -0
  115. data/lib/middleman-core/templates/html5/source/css/style.css +37 -37
  116. data/lib/middleman-core/templates/html5/source/favicon.ico +0 -0
  117. data/lib/middleman-core/templates/html5/source/humans.txt +0 -0
  118. data/lib/middleman-core/templates/html5/source/img/.gitignore +0 -2
  119. data/lib/middleman-core/templates/html5/source/index.html +31 -43
  120. data/lib/middleman-core/templates/html5/source/js/libs/{jquery-1.6.2.js → jquery-1.7.1.js} +1922 -1637
  121. data/lib/middleman-core/templates/html5/source/js/libs/jquery-1.7.1.min.js +4 -0
  122. data/lib/middleman-core/templates/html5/source/js/libs/modernizr-2.5.3.min.js +4 -0
  123. data/lib/middleman-core/templates/html5/source/js/plugins.js +3 -12
  124. data/lib/middleman-core/templates/html5/source/js/script.js +0 -0
  125. data/lib/middleman-core/templates/html5/source/robots.txt +1 -2
  126. data/lib/middleman-core/templates/html5.rb +10 -5
  127. data/lib/middleman-core/templates/local.rb +8 -1
  128. data/lib/middleman-core/templates/shared/config.tt +6 -6
  129. data/lib/middleman-core/templates.rb +10 -13
  130. data/lib/middleman-core/util.rb +90 -0
  131. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.document +0 -0
  132. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.gitignore +0 -0
  133. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.yardopts +0 -0
  134. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/LICENSE.txt +0 -0
  135. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/README.rdoc +0 -0
  136. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/Rakefile +0 -0
  137. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/bin/padrino +0 -0
  138. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/rendering.rb +0 -0
  139. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/routing.rb +38 -29
  140. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/showexceptions.rb +0 -0
  141. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/application.rb +269 -0
  142. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/caller.rb +0 -0
  143. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/adapter.rb +0 -0
  144. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/base.rb +4 -5
  145. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/console.rb +0 -0
  146. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/rake.rb +0 -0
  147. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/rake_tasks.rb +0 -0
  148. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/command.rb +0 -0
  149. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/images/404.png +0 -0
  150. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/images/500.png +0 -0
  151. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/loader.rb +1 -0
  152. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/cs.yml +0 -0
  153. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/da.yml +0 -0
  154. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/de.yml +0 -0
  155. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/en.yml +0 -0
  156. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/es.yml +0 -0
  157. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/fr.yml +0 -0
  158. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/hu.yml +0 -0
  159. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/it.yml +1 -1
  160. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/ja.yml +0 -0
  161. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/lv.yml +2 -2
  162. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/nl.yml +0 -0
  163. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/no.yml +0 -0
  164. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/pl.yml +0 -0
  165. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/pt_br.yml +0 -0
  166. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/ru.yml +0 -0
  167. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/tr.yml +0 -0
  168. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/uk.yml +0 -0
  169. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/zh_cn.yml +0 -0
  170. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/zh_tw.yml +0 -0
  171. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/logger.rb +192 -109
  172. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/mounter.rb +0 -0
  173. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/reloader.rb +39 -39
  174. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/router.rb +0 -0
  175. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/server.rb +2 -2
  176. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/support_lite.rb +4 -5
  177. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/tasks.rb +0 -0
  178. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/version.rb +1 -1
  179. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core.rb +0 -15
  180. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/padrino-core.gemspec +1 -1
  181. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/.components +0 -0
  182. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/.gitignore +0 -0
  183. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/complex.rb +0 -0
  184. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/simple.rb +0 -0
  185. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/a.rb +0 -0
  186. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/b.rb +0 -0
  187. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/c.rb +0 -0
  188. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/e.rb +0 -0
  189. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/f.rb +0 -0
  190. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/g.rb +0 -0
  191. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/d.rb +0 -0
  192. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/helper.rb +2 -0
  193. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/mini_shoulda.rb +0 -0
  194. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_application.rb +0 -0
  195. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_core.rb +0 -2
  196. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_dependencies.rb +0 -0
  197. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_filters.rb +0 -0
  198. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_locale.rb +0 -0
  199. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_logger.rb +54 -0
  200. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_mounter.rb +0 -0
  201. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_reloader_complex.rb +0 -0
  202. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_reloader_simple.rb +0 -0
  203. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_rendering.rb +0 -0
  204. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_restful_routing.rb +0 -0
  205. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_router.rb +0 -0
  206. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_routing.rb +7 -0
  207. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.document +0 -0
  208. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.gitignore +0 -0
  209. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.yardopts +0 -0
  210. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/LICENSE.txt +0 -0
  211. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/README.rdoc +0 -0
  212. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/Rakefile +0 -0
  213. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/asset_tag_helpers.rb +76 -79
  214. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_builder/abstract_form_builder.rb +31 -0
  215. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -0
  216. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_helpers.rb +211 -26
  217. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/format_helpers.rb +2 -2
  218. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/cs.yml +0 -0
  219. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/da.yml +0 -0
  220. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/de.yml +0 -0
  221. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/en.yml +0 -0
  222. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/es.yml +0 -0
  223. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/fr.yml +0 -0
  224. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/hu.yml +0 -0
  225. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/it.yml +0 -0
  226. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/ja.yml +0 -0
  227. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/lv.yml +0 -0
  228. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/nl.yml +0 -0
  229. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/no.yml +0 -0
  230. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/pl.yml +0 -0
  231. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/pt_br.yml +0 -0
  232. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/ru.yml +0 -0
  233. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/tr.yml +0 -0
  234. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/uk.yml +0 -0
  235. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/zh_cn.yml +0 -0
  236. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/zh_tw.yml +0 -0
  237. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/number_helpers.rb +0 -0
  238. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -0
  239. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -0
  240. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -0
  241. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -0
  242. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers.rb +0 -0
  243. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/render_helpers.rb +0 -0
  244. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/tag_helpers.rb +260 -0
  245. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/translation_helpers.rb +0 -0
  246. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers.rb +4 -3
  247. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/padrino-helpers.gemspec +0 -0
  248. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/app.rb +0 -0
  249. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.erb +0 -0
  250. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.haml +0 -0
  251. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.slim +0 -0
  252. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.erb +0 -0
  253. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.haml +0 -0
  254. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.slim +0 -0
  255. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.erb +0 -0
  256. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.haml +0 -0
  257. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.slim +0 -0
  258. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.erb +0 -0
  259. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.haml +0 -0
  260. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.slim +0 -0
  261. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.erb +0 -0
  262. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.haml +0 -0
  263. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.slim +0 -0
  264. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.erb +20 -4
  265. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.haml +15 -3
  266. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.slim +15 -3
  267. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.erb +30 -0
  268. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.haml +25 -0
  269. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.slim +25 -0
  270. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.erb +0 -0
  271. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.haml +0 -0
  272. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.slim +0 -0
  273. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.erb +0 -0
  274. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.haml +0 -0
  275. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.slim +0 -0
  276. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.erb +0 -0
  277. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.haml +0 -0
  278. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.slim +0 -0
  279. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_erb.erb +0 -0
  280. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_haml.haml +0 -0
  281. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_slim.slim +0 -0
  282. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.erb +0 -0
  283. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.haml +0 -0
  284. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.slim +0 -0
  285. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/app.rb +0 -0
  286. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engine.haml +0 -0
  287. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_erb.erb +0 -0
  288. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_haml.haml +0 -0
  289. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_slim.slim +0 -0
  290. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/erb/test.erb +0 -0
  291. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/explicit_engine.haml +0 -0
  292. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/haml/test.haml +0 -0
  293. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/_user.haml +0 -0
  294. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/haml_template.haml +0 -0
  295. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/some_template.haml +0 -0
  296. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/helper.rb +0 -0
  297. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_asset_tag_helpers.rb +14 -6
  298. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_form_builder.rb +116 -6
  299. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_form_helpers.rb +134 -9
  300. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_format_helpers.rb +0 -0
  301. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_locale.rb +0 -0
  302. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_number_helpers.rb +3 -0
  303. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_output_helpers.rb +0 -0
  304. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_render_helpers.rb +0 -0
  305. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_tag_helpers.rb +7 -6
  306. data/lib/middleman-core/version.rb +2 -2
  307. data/lib/middleman-core/watcher.rb +75 -36
  308. data/lib/middleman-core.rb +7 -252
  309. data/middleman-core.gemspec +14 -11
  310. metadata +396 -348
  311. data/bin/fsevent_watch_guard +0 -0
  312. data/ext/extconf.rb +0 -61
  313. data/ext/fsevent/fsevent_watch.c +0 -226
  314. data/fixtures/3rd-party-command/config.rb +0 -10
  315. data/fixtures/ignore-app/config.rb +0 -2
  316. data/fixtures/ignore-app/source/articles/template.html.erb +0 -1
  317. data/fixtures/ignore-app/source/template.html.erb +0 -1
  318. data/lib/middleman-core/base.rb +0 -494
  319. data/lib/middleman-core/cache.rb +0 -57
  320. data/lib/middleman-core/core_extensions/sitemap.rb +0 -72
  321. data/lib/middleman-core/sitemap/page.rb +0 -186
  322. data/lib/middleman-core/sitemap/template.rb +0 -82
  323. data/lib/middleman-core/templates/html5/source/js/libs/jquery-1.6.2.min.js +0 -18
  324. data/lib/middleman-core/templates/html5/source/js/libs/modernizr-2.0.6.min.js +0 -4
  325. data/lib/middleman-core/templates/html5/source/js/mylibs/.gitignore +0 -2
  326. data/lib/middleman-core/templates/html5/source/test/index.html +0 -31
  327. data/lib/middleman-core/templates/html5/source/test/qunit/qunit.css +0 -148
  328. data/lib/middleman-core/templates/html5/source/test/qunit/qunit.js +0 -1265
  329. data/lib/middleman-core/templates/html5/source/test/tests.js +0 -24
  330. data/lib/middleman-core/vendor/darwin/.gitignore +0 -18
  331. data/lib/middleman-core/vendor/darwin/Gemfile +0 -6
  332. data/lib/middleman-core/vendor/darwin/Guardfile +0 -8
  333. data/lib/middleman-core/vendor/darwin/LICENSE +0 -20
  334. data/lib/middleman-core/vendor/darwin/README.rdoc +0 -254
  335. data/lib/middleman-core/vendor/darwin/Rakefile +0 -21
  336. data/lib/middleman-core/vendor/darwin/ext/extconf.rb +0 -61
  337. data/lib/middleman-core/vendor/darwin/ext/fsevent/fsevent_watch.c +0 -226
  338. data/lib/middleman-core/vendor/darwin/lib/rb-fsevent/fsevent.rb +0 -105
  339. data/lib/middleman-core/vendor/darwin/lib/rb-fsevent/version.rb +0 -3
  340. data/lib/middleman-core/vendor/darwin/lib/rb-fsevent.rb +0 -2
  341. data/lib/middleman-core/vendor/darwin/rb-fsevent.gemspec +0 -24
  342. data/lib/middleman-core/vendor/darwin/spec/rb-fsevent/fsevent_spec.rb +0 -75
  343. data/lib/middleman-core/vendor/darwin/spec/spec_helper.rb +0 -24
  344. data/lib/middleman-core/vendor/linux/.gitignore +0 -3
  345. data/lib/middleman-core/vendor/linux/.yardopts +0 -4
  346. data/lib/middleman-core/vendor/linux/MIT-LICENSE +0 -20
  347. data/lib/middleman-core/vendor/linux/README.md +0 -66
  348. data/lib/middleman-core/vendor/linux/Rakefile +0 -54
  349. data/lib/middleman-core/vendor/linux/VERSION +0 -1
  350. data/lib/middleman-core/vendor/linux/lib/rb-inotify/event.rb +0 -139
  351. data/lib/middleman-core/vendor/linux/lib/rb-inotify/native/flags.rb +0 -89
  352. data/lib/middleman-core/vendor/linux/lib/rb-inotify/native.rb +0 -31
  353. data/lib/middleman-core/vendor/linux/lib/rb-inotify/notifier.rb +0 -308
  354. data/lib/middleman-core/vendor/linux/lib/rb-inotify/watcher.rb +0 -83
  355. data/lib/middleman-core/vendor/linux/lib/rb-inotify.rb +0 -17
  356. data/lib/middleman-core/vendor/linux/rb-inotify.gemspec +0 -53
  357. data/lib/middleman-core/vendor/padrino-core-0.10.5/lib/padrino-core/application.rb +0 -270
  358. data/lib/middleman-core/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/tag_helpers.rb +0 -103
@@ -519,24 +519,24 @@ module Padrino
519
519
  # Rewrite default routes.
520
520
  #
521
521
  # @example
522
- # get :index # => "/"
523
- # get :index, "/" # => "/"
524
- # get :index, :map => "/" # => "/"
525
- # get :show, "/show-me" # => "/show-me"
526
- # get :show, :map => "/show-me" # => "/show-me"
527
- # get "/foo/bar" # => "/show"
528
- # get :index, :parent => :user # => "/user/:user_id/index"
529
- # get :show, :with => :id, :parent => :user # => "/user/:user_id/show/:id"
530
- # get :show, :with => :id # => "/show/:id"
531
- # get [:show, :id] # => "/show/:id"
532
- # get :show, :with => [:id, :name] # => "/show/:id/:name"
533
- # get [:show, :id, :name] # => "/show/:id/:name"
534
- # get :list, :provides => :js # => "/list.{:format,js)"
535
- # get :list, :provides => :any # => "/list(.:format)"
536
- # get :list, :provides => [:js, :json] # => "/list.{!format,js|json}"
537
- # get :list, :provides => [:html, :js, :json] # => "/list(.{!format,js|json})"
538
- # get :list, :priority => :low # Defers route to be last
539
- #
522
+ # get :index # => "/"
523
+ # get :index, "/" # => "/"
524
+ # get :index, :map => "/" # => "/"
525
+ # get :show, "/show-me" # => "/show-me"
526
+ # get :show, :map => "/show-me" # => "/show-me"
527
+ # get "/foo/bar" # => "/show"
528
+ # get :index, :parent => :user # => "/user/:user_id/index"
529
+ # get :show, :with => :id, :parent => :user # => "/user/:user_id/show/:id"
530
+ # get :show, :with => :id # => "/show/:id"
531
+ # get [:show, :id] # => "/show/:id"
532
+ # get :show, :with => [:id, :name] # => "/show/:id/:name"
533
+ # get [:show, :id, :name] # => "/show/:id/:name"
534
+ # get :list, :provides => :js # => "/list.{:format,js)"
535
+ # get :list, :provides => :any # => "/list(.:format)"
536
+ # get :list, :provides => [:js, :json] # => "/list.{!format,js|json}"
537
+ # get :list, :provides => [:html, :js, :json] # => "/list(.{!format,js|json})"
538
+ # get :list, :priority => :low # Defers route to be last
539
+ # get /pattern/, :name => :foo, :generate_with => '/foo' # Generates :foo as /foo
540
540
  def route(verb, path, *args, &block)
541
541
  options = case args.size
542
542
  when 2
@@ -557,7 +557,7 @@ module Padrino
557
557
  route_options = options.dup
558
558
  route_options[:provides] = @_provides if @_provides
559
559
  path, *route_options[:with] = path if path.is_a?(Array)
560
- path, name, options = *parse_route(path, route_options, verb)
560
+ path, name, options, route_options = *parse_route(path, route_options, verb)
561
561
  options.reverse_merge!(@_conditions) if @_conditions
562
562
 
563
563
  # Sinatra defaults
@@ -571,7 +571,7 @@ module Padrino
571
571
  invoke_hook(:route_added, verb, path, block)
572
572
 
573
573
  # HTTPRouter route construction
574
- route = router.add(path)
574
+ route = router.add(path, route_options)
575
575
  route.name(name) if name
576
576
  priority_name = options.delete(:priority) || :normal
577
577
  priority = ROUTE_PRIORITY[priority_name] or raise("Priority #{priority_name} not recognized, try #{ROUTE_PRIORITY.keys.join(', ')}")
@@ -620,6 +620,9 @@ module Padrino
620
620
  # We need save our originals path/options so we can perform correctly cache.
621
621
  original = [path, options.dup]
622
622
 
623
+ # options for the route directly
624
+ route_options = {}
625
+
623
626
  # We need check if path is a symbol, if that it's a named route
624
627
  map = options.delete(:map)
625
628
 
@@ -628,7 +631,11 @@ module Padrino
628
631
  path = map ? map.dup : (path == :index ? '/' : path.to_s) # The route path
629
632
  end
630
633
 
631
- if path.kind_of?(String) # path i.e "/index" or "/show"
634
+ # Build our controller
635
+ controller = Array(@_controller).map { |c| c.to_s }
636
+
637
+ case path
638
+ when String # path i.e "/index" or "/show"
632
639
  # Now we need to parse our 'with' params
633
640
  if with_params = options.delete(:with)
634
641
  path = process_path_for_with_params(path, with_params)
@@ -643,9 +650,6 @@ module Padrino
643
650
  options[:matching][:format] = /[^\.]+/
644
651
  end
645
652
 
646
- # Build our controller
647
- controller = Array(@_controller).map { |c| c.to_s }
648
-
649
653
  absolute_map = map && map[0] == ?/
650
654
 
651
655
  unless controller.empty?
@@ -656,10 +660,6 @@ module Padrino
656
660
  path = File.join(controller_path, path)
657
661
  end
658
662
  # Here we build the correct name route
659
- if name
660
- controller_name = controller.join("_")
661
- name = "#{controller_name}_#{name}".to_sym unless controller_name.blank?
662
- end
663
663
  end
664
664
 
665
665
  # Now we need to parse our 'parent' params and parent scope
@@ -678,12 +678,21 @@ module Padrino
678
678
  path.sub!(%r{/(\))?$}, '\\1') if path != "/" # Remove latest trailing delimiter
679
679
  path.gsub!(/\/(\(\.|$)/, '\\1') # Remove trailing slashes
680
680
  path.squeeze!('/')
681
+ when Regexp
682
+ route_options[:path_for_generation] = options.delete(:generate_with) if options.key?(:generate_with)
683
+ end
684
+
685
+ name = options.delete(:route_name) if name.nil? && options.key?(:route_name)
686
+ name = options.delete(:name) if name.nil? && options.key?(:name)
687
+ if name
688
+ controller_name = controller.join("_")
689
+ name = "#{controller_name}_#{name}".to_sym unless controller_name.blank?
681
690
  end
682
691
 
683
692
  # Merge in option defaults
684
693
  options.reverse_merge!(:default_values => @_defaults)
685
694
 
686
- [path, name, options]
695
+ [path, name, options, route_options]
687
696
  end
688
697
 
689
698
  ##
@@ -0,0 +1,269 @@
1
+ module Padrino
2
+ class ApplicationSetupError < RuntimeError # @private
3
+ end
4
+
5
+ ##
6
+ # Subclasses of this become independent Padrino applications (stemming from Sinatra::Application)
7
+ # These subclassed applications can be easily mounted into other Padrino applications as well.
8
+ #
9
+ class Application < Sinatra::Base
10
+ # Support for advanced routing, controllers, url_for
11
+ register Padrino::Routing
12
+
13
+ ##
14
+ # Returns the logger for this application.
15
+ #
16
+ # @return [Padrino::Logger] Logger associated with this app.
17
+ #
18
+ def logger
19
+ Padrino.logger
20
+ end
21
+
22
+ class << self
23
+
24
+ def inherited(base) # @private
25
+ begun_at = Time.now
26
+ CALLERS_TO_IGNORE.concat(PADRINO_IGNORE_CALLERS)
27
+ base.default_configuration!
28
+ base.prerequisites.concat([
29
+ File.join(base.root, '/models.rb'),
30
+ File.join(base.root, '/models/**/*.rb'),
31
+ File.join(base.root, '/lib.rb'),
32
+ File.join(base.root, '/lib/**/*.rb')
33
+ ]).uniq!
34
+ Padrino.require_dependencies(base.prerequisites)
35
+ logger.devel :setup, begun_at, base
36
+ super(base) # Loading the subclass inherited method
37
+ end
38
+
39
+ ##
40
+ # Reloads the application files from all defined load paths
41
+ #
42
+ # This method is used from our Padrino Reloader during development mode
43
+ # in order to reload the source files.
44
+ #
45
+ # @return [TrueClass]
46
+ #
47
+ # @example
48
+ # MyApp.reload!
49
+ #
50
+ def reload!
51
+ logger.devel "Reloading #{settings}"
52
+ reset! # Reset sinatra app
53
+ reset_router! # Reset all routes
54
+ Padrino.require_dependencies(settings.app_file, :force => true) # Reload the app file
55
+ require_dependencies # Reload dependencies
56
+ default_filters! # Reload filters
57
+ default_routes! # Reload default routes
58
+ default_errors! # Reload our errors
59
+ I18n.reload! if defined?(I18n) # Reload also our translations
60
+ true
61
+ end
62
+
63
+ ##
64
+ # Resets application routes to only routes not defined by the user
65
+ #
66
+ # @return [TrueClass]
67
+ #
68
+ # @example
69
+ # MyApp.reset_routes!
70
+ #
71
+ def reset_routes!
72
+ reset_router!
73
+ default_routes!
74
+ true
75
+ end
76
+
77
+ ##
78
+ # Returns the routes of our app.
79
+ #
80
+ # @example
81
+ # MyApp.routes
82
+ #
83
+ def routes
84
+ router.routes
85
+ end
86
+
87
+ ##
88
+ # Setup the application by registering initializers, load paths and logger
89
+ # Invoked automatically when an application is first instantiated
90
+ #
91
+ # @return [TrueClass]
92
+ #
93
+ def setup_application!
94
+ return if @_configured
95
+ settings.require_dependencies
96
+ settings.default_filters!
97
+ settings.default_routes!
98
+ settings.default_errors!
99
+ if defined?(I18n)
100
+ I18n.load_path << settings.locale_path
101
+ I18n.reload!
102
+ end
103
+ @_configured = true
104
+ @_configured
105
+ end
106
+
107
+ ##
108
+ # Run the Padrino app as a self-hosted server using
109
+ # Thin, Mongrel or WEBrick (in that order)
110
+ #
111
+ # @see Padrino::Server#start
112
+ #
113
+ def run!(options={})
114
+ return unless Padrino.load!
115
+ Padrino.mount(settings.to_s).to('/')
116
+ Padrino.run!(options)
117
+ end
118
+
119
+ ##
120
+ # @return [Array]
121
+ # directory that need to be added to +$LOAD_PATHS+ from this application
122
+ #
123
+ def load_paths
124
+ @_load_paths ||= %w[models lib mailers controllers helpers].map { |path| File.join(settings.root, path) }
125
+ end
126
+
127
+ ##
128
+ # Returns default list of path globs to load as dependencies
129
+ # Appends custom dependency patterns to the be loaded for your Application
130
+ #
131
+ # @return [Array]
132
+ # list of path globs to load as dependencies
133
+ #
134
+ # @example
135
+ # MyApp.dependencies << "#{Padrino.root}/uploaders/**/*.rb"
136
+ # MyApp.dependencies << Padrino.root('other_app', 'controllers.rb')
137
+ #
138
+ def dependencies
139
+ [
140
+ 'urls.rb', 'config/urls.rb', 'mailers/*.rb', 'mailers.rb',
141
+ 'controllers/**/*.rb', 'controllers.rb', 'helpers/**/*.rb', 'helpers.rb'
142
+ ].map { |file| Dir[File.join(settings.root, file)] }.flatten
143
+ end
144
+
145
+ ##
146
+ # An array of file to load before your app.rb, basically are files wich our app depends on.
147
+ #
148
+ # By default we look for files:
149
+ #
150
+ # # List of default files that we are looking for:
151
+ # yourapp/models.rb
152
+ # yourapp/models/**/*.rb
153
+ # yourapp/lib.rb
154
+ # yourapp/lib/**/*.rb
155
+ #
156
+ # @example Adding a custom perequisite
157
+ # MyApp.prerequisites << Padrino.root('my_app', 'custom_model.rb')
158
+ #
159
+ def prerequisites
160
+ @_prerequisites ||= []
161
+ end
162
+
163
+ protected
164
+ ##
165
+ # Defines default settings for Padrino application
166
+ #
167
+ def default_configuration!
168
+ # Overwriting Sinatra defaults
169
+ set :app_file, File.expand_path(caller_files.first || $0) # Assume app file is first caller
170
+ set :environment, Padrino.env
171
+ set :reload, Proc.new { development? }
172
+ set :logging, Proc.new { development? }
173
+ set :method_override, true
174
+ set :sessions, false
175
+ set :public_folder, Proc.new { Padrino.root('public', uri_root) }
176
+ set :views, Proc.new { File.join(root, "views") }
177
+ set :images_path, Proc.new { File.join(public, "images") }
178
+ set :protection, false
179
+ # Padrino specific
180
+ set :uri_root, '/'
181
+ set :app_name, settings.to_s.underscore.to_sym
182
+ set :default_builder, 'StandardFormBuilder'
183
+ set :flash, defined?(Sinatra::Flash) || defined?(Rack::Flash)
184
+ set :authentication, false
185
+ # Padrino locale
186
+ set :locale_path, Proc.new { Dir[File.join(settings.root, '/locale/**/*.{rb,yml}')] }
187
+ # Load the Global Configurations
188
+ class_eval(&Padrino.apps_configuration) if Padrino.apps_configuration
189
+ end
190
+
191
+ ##
192
+ # We need to add almost __sinatra__ images.
193
+ #
194
+ def default_routes!
195
+ configure :development do
196
+ get '*__sinatra__/:image.png' do
197
+ content_type :png
198
+ filename = File.dirname(__FILE__) + "/images/#{params[:image]}.png"
199
+ send_file filename
200
+ end
201
+ end
202
+ end
203
+
204
+ ##
205
+ # This filter it's used for know the format of the request, and automatically set the content type.
206
+ #
207
+ def default_filters!
208
+ before do
209
+ unless @_content_type
210
+ @_content_type = :html
211
+ response['Content-Type'] = 'text/html;charset=utf-8'
212
+ end
213
+ end
214
+ end
215
+
216
+ ##
217
+ # This log errors for production environments
218
+ #
219
+ def default_errors!
220
+ configure :production do
221
+ error ::Exception do
222
+ boom = env['sinatra.error']
223
+ logger.error ["#{boom.class} - #{boom.message}:", *boom.backtrace].join("\n ")
224
+ response.status = 500
225
+ content_type 'text/html'
226
+ '<h1>Internal Server Error</h1>'
227
+ end unless errors.has_key?(::Exception)
228
+ end
229
+ end
230
+
231
+ ##
232
+ # Requires all files within the application load paths
233
+ #
234
+ def require_dependencies
235
+ Padrino.set_load_paths(*load_paths)
236
+ Padrino.require_dependencies(dependencies, :force => true)
237
+ end
238
+
239
+ private
240
+ # Overrides the default middleware for Sinatra based on Padrino conventions
241
+ # Also initializes the application after setting up the middleware
242
+ def setup_default_middleware(builder)
243
+ setup_sessions builder
244
+ setup_flash builder
245
+ builder.use Padrino::ShowExceptions if show_exceptions?
246
+ builder.use Padrino::Logger::Rack, uri_root if Padrino.logger && logging?
247
+ builder.use Padrino::Reloader::Rack if reload?
248
+ builder.use Rack::MethodOverride if method_override?
249
+ builder.use Rack::Head
250
+ setup_protection builder
251
+ setup_application!
252
+ end
253
+
254
+ # TODO Remove this in a few versions (rack-flash deprecation)
255
+ # Move register Sinatra::Flash into setup_default_middleware
256
+ # Initializes flash using sinatra-flash or rack-flash
257
+ def setup_flash(builder)
258
+ register Sinatra::Flash if flash? && defined?(Sinatra::Flash)
259
+ if defined?(Rack::Flash) && !defined?(Sinatra::Flash)
260
+ logger.warn %Q{
261
+ [Deprecation] In Gemfile, 'rack-flash' should be replaced with 'sinatra-flash'!
262
+ Rack-Flash is not compatible with later versions of Rack and should be replaced.
263
+ }
264
+ builder.use Rack::Flash, :sweep => true if flash?
265
+ end
266
+ end
267
+ end # self
268
+ end # Application
269
+ end # Padrino
@@ -41,7 +41,6 @@ module Padrino
41
41
  method_option :environment, :type => :string, :aliases => "-e", :required => true, :default => :development
42
42
  method_option :list, :type => :string, :aliases => "-T", :desc => "Display the tasks (matching optional PATTERN) with descriptions, then exit."
43
43
  method_option :trace, :type => :boolean, :aliases => "-t", :desc => "Turn on invoke/execute tracing, enable full backtrace."
44
- method_option :verbose, :type => :boolean, :aliases => "-v", :desc => "Log message to standard output."
45
44
  def rake(*args)
46
45
  prepare :rake
47
46
  args << "-T" if options[:list]
@@ -51,9 +50,8 @@ module Padrino
51
50
  ARGV.clear
52
51
  ARGV.concat(args)
53
52
  puts "=> Executing Rake #{ARGV.join(' ')} ..."
54
- ENV['PADRINO_LOG_LEVEL'] ||= "test"
55
53
  load File.expand_path('../rake.rb', __FILE__)
56
- silence(:stdout) { require File.expand_path('config/boot.rb') }
54
+ require File.expand_path('config/boot.rb')
57
55
  PadrinoTasks.init(true)
58
56
  end
59
57
 
@@ -62,10 +60,10 @@ module Padrino
62
60
  prepare :console
63
61
  require File.expand_path("../../version", __FILE__)
64
62
  ARGV.clear
65
- puts "=> Loading #{options.environment} console (Padrino v.#{Padrino.version})"
66
63
  require 'irb'
67
64
  require "irb/completion"
68
65
  require File.expand_path('config/boot.rb')
66
+ puts "=> Loading #{Padrino.env} console (Padrino v.#{Padrino.version})"
69
67
  require File.expand_path('../console', __FILE__)
70
68
  IRB.start
71
69
  end
@@ -80,7 +78,8 @@ module Padrino
80
78
  require 'padrino-core/command'
81
79
  require 'padrino-gen/command'
82
80
  ARGV.shift
83
- Padrino.bin_gen(ARGV)
81
+ ARGV << 'help' if ARGV.empty?
82
+ Padrino.bin_gen(*ARGV)
84
83
  rescue
85
84
  puts "<= You need padrino-gen! Run: gem install padrino-gen"
86
85
  end
@@ -94,6 +94,7 @@ module Padrino
94
94
  # Method for reloading required applications and their files.
95
95
  #
96
96
  def reload!
97
+ return unless Padrino::Reloader.changed?
97
98
  Padrino.before_load.each(&:call) # Run before hooks
98
99
  Padrino::Reloader.reload! # detects the modified files
99
100
  Padrino.after_load.each(&:call) # Run after hooks
@@ -13,7 +13,7 @@ it:
13
13
  abbr_day_names: [Dom, Lun, Mar, Mer, Gio, Ven, Sab]
14
14
  month_names: [~, Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, Ottobre, Novembre, Dicembre]
15
15
  abbr_month_names: [~, Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic]
16
- order:
16
+ order:
17
17
  - day
18
18
  - month
19
19
  - year
@@ -4,7 +4,7 @@ lv:
4
4
  # Use the strftime parameters for formats.
5
5
  # When no format has been given, it uses default.
6
6
  # You can provide other formats here if you like!
7
- default: "%d.%m.%Y."
7
+ default: "%d.%m.%Y"
8
8
  short: "%e. %B"
9
9
  long: "%Y. gada %e. %B"
10
10
  only_day: "%e"
@@ -21,7 +21,7 @@ lv:
21
21
  time:
22
22
  formats:
23
23
  default: "%Y. gada %e. %B, %H:%M"
24
- short: "%d.%m.%Y., %H:%M"
24
+ short: "%d.%m.%Y, %H:%M"
25
25
  long: "%Y. gada %e. %B, %H:%M:%S"
26
26
  am: "priekšpusdiena"
27
27
  pm: "pēcpusdiena"