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
@@ -1,10 +1,10 @@
1
1
  # Defines the log level for a Padrino project.
2
2
  PADRINO_LOG_LEVEL = ENV['PADRINO_LOG_LEVEL'] unless defined?(PADRINO_LOG_LEVEL)
3
+
3
4
  # Defines the logger used for a Padrino project.
4
- PADRINO_LOGGER = ENV['PADRINO_LOGGER'] unless defined?(PADRINO_LOGGER)
5
+ PADRINO_LOGGER = ENV['PADRINO_LOGGER'] unless defined?(PADRINO_LOGGER)
5
6
 
6
7
  module Padrino
7
-
8
8
  ##
9
9
  # @return [Padrino::Logger]
10
10
  #
@@ -35,21 +35,14 @@ module Padrino
35
35
  # Padrino.logger = Buffered.new(STDOUT)
36
36
  #
37
37
  def self.logger=(value)
38
+ value.extend(Padrino::Logger::Extensions) unless (Padrino::Logger::Extensions === value)
38
39
  Thread.current[:padrino_logger] = value
39
40
  end
40
41
 
41
42
  ##
42
- # Extensions to the built in Ruby logger.
43
+ # Padrinos internal logger, using all of Padrino log extensions.
43
44
  #
44
45
  class Logger
45
-
46
- attr_accessor :level
47
- attr_accessor :auto_flush
48
- attr_reader :buffer
49
- attr_reader :log
50
- attr_reader :init_args
51
- attr_accessor :log_static
52
-
53
46
  ##
54
47
  # Ruby (standard) logger levels:
55
48
  #
@@ -58,6 +51,7 @@ module Padrino
58
51
  # :warn:: A warning
59
52
  # :info:: generic (useful) information about system operation
60
53
  # :debug:: low-level information for developers
54
+ # :devel:: Development-related information that is unnecessary in debug mode
61
55
  #
62
56
  Levels = {
63
57
  :fatal => 7,
@@ -68,6 +62,161 @@ module Padrino
68
62
  :devel => -1,
69
63
  } unless const_defined?(:Levels)
70
64
 
65
+ module Extensions
66
+ ##
67
+ # Generate the logging methods for {Padrino.logger} for each log level.
68
+ #
69
+ Padrino::Logger::Levels.each_pair do |name, number|
70
+ define_method(name) do |*args|
71
+ return if number < level
72
+ if args.size > 1
73
+ bench(args[0], args[1], args[2], name)
74
+ else
75
+ push(args * '', name)
76
+ end
77
+ end
78
+
79
+ define_method(:"#{name}?") do
80
+ number >= level
81
+ end
82
+ end
83
+
84
+ ##
85
+ # Append a to development logger a given action with time
86
+ #
87
+ # @param [string] action
88
+ # The action
89
+ #
90
+ # @param [float] time
91
+ # Time duration for the given action
92
+ #
93
+ # @param [message] string
94
+ # The message that you want to log
95
+ #
96
+ # @example
97
+ # logger.bench 'GET', started_at, '/blog/categories'
98
+ # # => DEBUG - GET (0.056ms) - /blog/categories
99
+ #
100
+ def bench(action, began_at, message, level=:debug, color=:yellow)
101
+ @_pad ||= 8
102
+ @_pad = action.to_s.size if action.to_s.size > @_pad
103
+ duration = Time.now - began_at
104
+ color = :red if duration > 1
105
+ action = colorize(action.to_s.upcase.rjust(@_pad), color)
106
+ duration = colorize('%0.4fms' % duration, :bold, color)
107
+ push "#{action} (#{duration}) #{message}", level
108
+ end
109
+
110
+ ##
111
+ # Appends a message to the log. The methods yield to an optional block and
112
+ # the output of this block will be appended to the message.
113
+ #
114
+ # @param [String] message
115
+ # The message that you want write to your stream
116
+ #
117
+ # @param [String] level
118
+ # The level one of :debug, :warn etc...
119
+ #
120
+ #
121
+ def push(message = nil, level = nil)
122
+ add(Padrino::Logger::Levels[level], format(message, level))
123
+ end
124
+
125
+ ##
126
+ # Formats the log message. This method is a noop and should be implemented by other
127
+ # logger components such as {Padrino::Logger}.
128
+ #
129
+ # @param [String] message
130
+ # The message to format
131
+ #
132
+ # @param [String,Symbol] level
133
+ # The log level, one of :debug, :warn...
134
+ def format(message, level)
135
+ message
136
+ end
137
+
138
+ ##
139
+ # The debug level, with some style added. May be reimplemented.
140
+ #
141
+ # @example
142
+ # stylized_level(:debug) => DEBUG
143
+ #
144
+ # @param [String,Symbol] level
145
+ # The log level
146
+ #
147
+ def stylized_level(level)
148
+ level.to_s.upcase.rjust(7)
149
+ end
150
+
151
+ ##
152
+ # Colorizes a string for colored console output. This is a noop and can be reimplemented
153
+ # to colorize the string as needed.
154
+ #
155
+ # @see
156
+ # ColorizedLogger
157
+ #
158
+ # @param [string]
159
+ # The string to be colorized.
160
+ #
161
+ # @param [Array<Symbol>]
162
+ # The colors to use. Should be applied in the order given.
163
+ def colorize(string, *colors)
164
+ string
165
+ end
166
+
167
+ ##
168
+ # Turns a logger with LoggingExtensions into a logger with colorized output.
169
+ #
170
+ # @example
171
+ # Padrino.logger = Logger.new($stdout)
172
+ # Padrino.logger.colorize!
173
+ # Padrino.logger.debug("Fancy Padrino debug string")
174
+ def colorize!
175
+ self.extend(Colorize)
176
+ end
177
+ end
178
+
179
+ module Colorize
180
+ # Colors for levels
181
+ ColoredLevels = {
182
+ :fatal => [:bold, :red],
183
+ :error => [:red],
184
+ :warn => [:yellow],
185
+ :info => [:green],
186
+ :debug => [:cyan],
187
+ :devel => [:magenta]
188
+ } unless defined?(ColoredLevels)
189
+
190
+ ##
191
+ # Colorize our level
192
+ #
193
+ # @param [String, Symbol] level
194
+ #
195
+ # @see Padrino::Logging::ColorizedLogger::ColoredLevels
196
+ #
197
+ def colorize(string, *colors)
198
+ colors.each do |c|
199
+ string = string.send(c)
200
+ end
201
+ string
202
+ end
203
+
204
+ def stylized_level(level)
205
+ style = ColoredLevels[level].map { |c| "\e[%dm" % String.colors[c] } * ''
206
+ [style, super, "\e[0m"] * ''
207
+ end
208
+ end
209
+
210
+ include Extensions
211
+ include Colorize
212
+
213
+ attr_accessor :level
214
+ attr_accessor :auto_flush
215
+ attr_reader :buffer
216
+ attr_reader :log
217
+ attr_reader :init_args
218
+ attr_accessor :log_static
219
+
71
220
  @@mutex = {}
72
221
 
73
222
  ##
@@ -110,16 +259,6 @@ module Padrino
110
259
  }
111
260
  Config.merge!(PADRINO_LOGGER) if PADRINO_LOGGER
112
261
 
113
- # Colors for levels
114
- ColoredLevels = {
115
- :fatal => [:bold, :red],
116
- :error => [:red],
117
- :warn => [:yellow],
118
- :info => [:green],
119
- :debug => [:cyan],
120
- :devel => [:magenta]
121
- } unless defined?(ColoredLevels)
122
-
123
262
  ##
124
263
  # Setup a new logger
125
264
  #
@@ -137,13 +276,14 @@ module Padrino
137
276
 
138
277
  stream = case config[:stream]
139
278
  when :to_file
140
- FileUtils.mkdir_p(Padrino.root("log")) unless File.exists?(Padrino.root("log"))
141
- File.new(Padrino.root("log", "#{Padrino.env}.log"), "a+")
279
+ FileUtils.mkdir_p(Padrino.root('log')) unless File.exists?(Padrino.root('log'))
280
+ File.new(Padrino.root('log', "#{Padrino.env}.log"), 'a+')
142
281
  when :null then StringIO.new
143
282
  when :stdout then $stdout
144
283
  when :stderr then $stderr
145
284
  else config[:stream] # return itself, probabilly is a custom stream.
146
285
  end
286
+
147
287
  Thread.current[:padrino_logger] = Padrino::Logger.new(config.merge(:stream => stream))
148
288
  end
149
289
 
@@ -174,7 +314,7 @@ module Padrino
174
314
  def initialize(options={})
175
315
  @buffer = []
176
316
  @auto_flush = options.has_key?(:auto_flush) ? options[:auto_flush] : true
177
- @level = options[:log_level] ? Levels[options[:log_level]] : Levels[:debug]
317
+ @level = options[:log_level] ? Padrino::Logger::Levels[options[:log_level]] : Padrino::Logger::Levels[:debug]
178
318
  @log = options[:stream] || $stdout
179
319
  @log.sync = true
180
320
  @mutex = @@mutex[@log] ||= Mutex.new
@@ -183,18 +323,6 @@ module Padrino
183
323
  @log_static = options.has_key?(:log_static) ? options[:log_static] : false
184
324
  end
185
325
 
186
- ##
187
- # Colorize our level
188
- #
189
- # @param [String, Symbol] level
190
- #
191
- # @see Padrino::Logger::ColoredLevels
192
- #
193
- def colored_level(level)
194
- style = ColoredLevels[level].map { |c| "\e[%dm" % String.colors[c] } * ''
195
- [style, level.to_s.upcase.rjust(7), "\e[0m"] * ''
196
- end
197
-
198
326
  ##
199
327
  # Flush the entire buffer to the log object.
200
328
  #
@@ -217,42 +345,11 @@ module Padrino
217
345
  end
218
346
 
219
347
  ##
220
- # Appends a message to the log. The methods yield to an optional block and
221
- # the output of this block will be appended to the message.
222
- #
223
- # @param [String] message
224
- # The message that you want write to your stream
348
+ # Adds a message to the log - for compatibility with other loggers.
225
349
  #
226
- # @param [String] level
227
- # The level one of :debug, :warn etc...
228
- #
229
- #
230
- def push(message = nil, level = nil)
231
- write @format_message % [colored_level(level), Time.now.strftime(@format_datetime).yellow, message.to_s.strip]
232
- end
233
-
234
- ##
235
- # Append a to development logger a given action with time
236
- #
237
- # @param [string] action
238
- # The action
239
- #
240
- # @param [float] time
241
- # Time duration for the given action
242
- #
243
- # @param [message] string
244
- # The message that you want to log
245
- #
246
- # @example
247
- # logger.bench 'GET', started_at, '/blog/categories'
248
- # # => DEBUG - GET (0.056ms) - /blog/categories
249
- #
250
- def bench(action, began_at, message, level=:debug, color=:yellow)
251
- @_pad ||= 8
252
- @_pad = action.to_s.size if action.to_s.size > @_pad
253
- duration = Time.now - began_at
254
- color = :red if duration > 1
255
- push "%s (" % action.to_s.upcase.rjust(@_pad).send(color) + "%0.4fms".bold.send(color) % duration + ") %s" % message.to_s, level
350
+ # @private
351
+ def add(level, message = nil)
352
+ write(message)
256
353
  end
257
354
 
258
355
  ##
@@ -269,22 +366,8 @@ module Padrino
269
366
  end
270
367
  alias :write :<<
271
368
 
272
- ##
273
- # Generate the logging methods for {Padrino.logger} for each log level.
274
- #
275
- Levels.each_pair do |name, number|
276
- define_method(name) do |*args|
277
- return if number < level
278
- if args.size > 1
279
- bench(*args)
280
- else
281
- push(args * '', name)
282
- end
283
- end
284
-
285
- define_method(:"#{name}?") do
286
- number >= level
287
- end
369
+ def format(message, level)
370
+ @format_message % [stylized_level(level), colorize(Time.now.strftime(@format_datetime), :yellow), message.to_s.strip]
288
371
  end
289
372
 
290
373
  ##
@@ -301,7 +384,6 @@ module Padrino
301
384
 
302
385
  def call(env) # @private
303
386
  env['rack.logger'] = Padrino.logger
304
- env['rack.errors'] = Padrino.logger.log
305
387
  began_at = Time.now
306
388
  status, header, body = @app.call(env)
307
389
  log(env, status, header, began_at)
@@ -309,28 +391,28 @@ module Padrino
309
391
  end
310
392
 
311
393
  private
312
- def log(env, status, header, began_at)
313
- return if env['sinatra.static_file'] and !logger.log_static
314
- logger.bench(
315
- env["REQUEST_METHOD"],
316
- began_at,
317
- [
318
- @uri_root.to_s,
319
- env["PATH_INFO"],
320
- env["QUERY_STRING"].empty? ? "" : "?" + env["QUERY_STRING"],
321
- ' - ',
322
- status.to_s[0..3].bold,
323
- ' ',
324
- code_to_name(status)
325
- ] * '',
326
- :debug,
327
- :magenta
328
- )
329
- end
394
+ def log(env, status, header, began_at)
395
+ return if env['sinatra.static_file'] && (!logger.respond_to?(:log_static) || !logger.log_static)
396
+ logger.bench(
397
+ env["REQUEST_METHOD"],
398
+ began_at,
399
+ [
400
+ @uri_root.to_s,
401
+ env["PATH_INFO"],
402
+ env["QUERY_STRING"].empty? ? "" : "?" + env["QUERY_STRING"],
403
+ ' - ',
404
+ logger.colorize(status.to_s[0..3], :bold),
405
+ ' ',
406
+ code_to_name(status)
407
+ ] * '',
408
+ :debug,
409
+ :magenta
410
+ )
411
+ end
330
412
 
331
- def code_to_name(status)
332
- ::Rack::Utils::HTTP_STATUS_CODES[status.to_i] || ''
333
- end
413
+ def code_to_name(status)
414
+ ::Rack::Utils::HTTP_STATUS_CODES[status.to_i] || ''
415
+ end
334
416
  end # Rack
335
417
  end # Logger
336
418
  end # Padrino
@@ -343,3 +425,4 @@ module Kernel # @private
343
425
  Padrino.logger
344
426
  end
345
427
  end # Kernel
428
+
@@ -92,7 +92,7 @@ module Padrino
92
92
  changed = false
93
93
  rotation do |file, mtime|
94
94
  new_file = MTIMES[file].nil?
95
- previous_mtime = MTIMES[file] ||= mtime
95
+ previous_mtime = MTIMES[file]
96
96
  changed = true if new_file || mtime > previous_mtime
97
97
  end
98
98
  changed
@@ -103,7 +103,7 @@ module Padrino
103
103
  # We lock dependencies sets to prevent reloading of protected constants
104
104
  #
105
105
  def lock!
106
- klasses = ObjectSpace.classes.map { |klass| klass.name.to_s.split("::")[0] }.uniq
106
+ klasses = ObjectSpace.classes.map { |klass| klass.name.split('::')[0] }.uniq
107
107
  klasses = klasses | Padrino.mounted_apps.map { |app| app.app_class }
108
108
  Padrino::Reloader.exclude_constants.concat(klasses)
109
109
  end
@@ -183,50 +183,50 @@ module Padrino
183
183
  # Removes the specified class and constant.
184
184
  #
185
185
  def remove_constant(const)
186
- return if exclude_constants.compact.uniq.any? { |c| (const.to_s =~ %r{^#{Regexp.escape(c)}}) } &&
187
- !include_constants.compact.uniq.any? { |c| (const.to_s =~ %r{^#{Regexp.escape(c)}}) }
186
+ return if exclude_constants.compact.uniq.any? { |c| const.name.index(c) == 0 } &&
187
+ !include_constants.compact.uniq.any? { |c| const.name.index(c) == 0 }
188
188
  begin
189
- parts = const.to_s.split("::")
190
- base = parts.size == 1 ? Object : parts[0..-2].join("::").constantize
191
- object = parts[-1].to_s
192
- base.send(:remove_const, object)
193
- logger.devel "Removed constant: #{const}"
189
+ parts = const.to_s.sub(/^::(Object)?/, 'Object::').split('::')
190
+ object = parts.pop
191
+ base = parts.empty? ? Object : Inflector.constantize(parts * '::')
192
+ base.send :remove_const, object
193
+ logger.devel "Removed constant: #{const} from #{base}"
194
194
  rescue NameError; end
195
195
  end
196
196
 
197
197
  private
198
- ##
199
- # Return the mounted_apps providing the app location
200
- # Can be an array because in one app.rb we can define multiple Padrino::Appplications
201
- #
202
- def mounted_apps_of(file)
203
- file = figure_path(file)
204
- Padrino.mounted_apps.find_all { |app| File.identical?(file, app.app_file) }
205
- end
198
+ ##
199
+ # Return the mounted_apps providing the app location
200
+ # Can be an array because in one app.rb we can define multiple Padrino::Appplications
201
+ #
202
+ def mounted_apps_of(file)
203
+ file = figure_path(file)
204
+ Padrino.mounted_apps.find_all { |app| File.identical?(file, app.app_file) }
205
+ end
206
206
 
207
- ##
208
- # Returns true if file is in our Padrino.root
209
- #
210
- def in_root?(file)
211
- # This is better but slow:
212
- # Pathname.new(Padrino.root).find { |f| File.identical?(Padrino.root(f), figure_path(file)) }
213
- figure_path(file) =~ %r{^#{Regexp.escape(Padrino.root)}}
214
- end
207
+ ##
208
+ # Returns true if file is in our Padrino.root
209
+ #
210
+ def in_root?(file)
211
+ # This is better but slow:
212
+ # Pathname.new(Padrino.root).find { |f| File.identical?(Padrino.root(f), figure_path(file)) }
213
+ figure_path(file).index(Padrino.root) == 0
214
+ end
215
215
 
216
- ##
217
- # Searches Ruby files in your +Padrino.load_paths+ , Padrino::Application.load_paths
218
- # and monitors them for any changes.
219
- #
220
- def rotation
221
- files = Padrino.load_paths.map { |path| Dir["#{path}/**/*.rb"] }.flatten
222
- files = files | Padrino.mounted_apps.map { |app| app.app_file }
223
- files = files | Padrino.mounted_apps.map { |app| app.app_obj.dependencies }.flatten
224
- files.uniq.map { |file|
225
- file = File.expand_path(file)
226
- next if Padrino::Reloader.exclude.any? { |base| file =~ %r{^#{Regexp.escape(base)}} } || !File.exist?(file)
227
- yield(file, File.mtime(file))
228
- }.compact
229
- end
216
+ ##
217
+ # Searches Ruby files in your +Padrino.load_paths+ , Padrino::Application.load_paths
218
+ # and monitors them for any changes.
219
+ #
220
+ def rotation
221
+ files = Padrino.load_paths.map { |path| Dir["#{path}/**/*.rb"] }.flatten
222
+ files = files | Padrino.mounted_apps.map { |app| app.app_file }
223
+ files = files | Padrino.mounted_apps.map { |app| app.app_obj.dependencies }.flatten
224
+ files.uniq.map do |file|
225
+ file = File.expand_path(file)
226
+ next if Padrino::Reloader.exclude.any? { |base| file.index(base) == 0 } || !File.exist?(file)
227
+ yield file, File.mtime(file)
228
+ end.compact
229
+ end
230
230
  end # self
231
231
 
232
232
  ##
@@ -17,7 +17,7 @@ module Padrino
17
17
  #
18
18
  class Server < Rack::Server
19
19
  # Server Handlers
20
- Handlers = [:thin, :mongrel, :webrick]
20
+ Handlers = [:thin, :mongrel, :trinidad, :webrick]
21
21
 
22
22
  # Starts the application on the available server with specified options.
23
23
  def self.start(app, opts={})
@@ -44,7 +44,7 @@ module Padrino
44
44
  [:INT, :TERM].each { |sig| trap(sig) { exit } }
45
45
  super
46
46
  ensure
47
- puts "<= Padrino has ended his set (crowd applauds)" unless options[:daemonize]
47
+ puts "<= Padrino leaves the gun, takes the cannoli" unless options[:daemonize]
48
48
  end
49
49
 
50
50
  # The application the server will run.
@@ -11,7 +11,7 @@ require 'active_support/inflector/methods' # constantize
11
11
  require 'active_support/inflector/inflections' # pluralize
12
12
  require 'active_support/inflections' # load default inflections
13
13
  require 'yaml' unless defined?(YAML) # load yaml for i18n
14
- require 'Win32/Console/ANSI' if RUBY_PLATFORM =~ /win32/ # ruby color suppor for win
14
+ require 'win32console' if RUBY_PLATFORM =~ /(win|m)32/ # ruby color support for win
15
15
 
16
16
  ##
17
17
  # This is an adapted version of active_support/core_ext/string/inflections.rb
@@ -113,8 +113,8 @@ module ObjectSpace
113
113
  # Returns all the classes in the object space.
114
114
  def classes
115
115
  ObjectSpace.each_object(Module).select do |klass|
116
- # Why this? Ruby when you remove a constant don't clean it from
117
- # rb_tables, this mean that here we can found classes that was
116
+ # Why? Ruby, when you remove a costant dosen't remove it from
117
+ # rb_tables, this mean that here we can find classes that was
118
118
  # removed.
119
119
  klass.name rescue false
120
120
  end
@@ -191,8 +191,7 @@ end
191
191
  ##
192
192
  # Loads our locale configuration files
193
193
  #
194
-
195
- # I18n.load_path += Dir["#{File.dirname(__FILE__)}/locale/*.yml"] if defined?(I18n)
194
+ ### I18n.load_path += Dir["#{File.dirname(__FILE__)}/locale/*.yml"] if defined?(I18n) ### !!! FIXME middleman ###
196
195
 
197
196
  ##
198
197
  # Used to determine if this file has already been required
@@ -6,7 +6,7 @@
6
6
  #
7
7
  module Padrino
8
8
  # The version constant for the current version of Padrino.
9
- VERSION = '0.10.5' unless defined?(Padrino::VERSION)
9
+ VERSION = '0.10.6' unless defined?(Padrino::VERSION)
10
10
 
11
11
  #
12
12
  # The current Padrino version.
@@ -112,21 +112,6 @@ module Padrino
112
112
  nil
113
113
  end
114
114
 
115
- ##
116
- # Determines whether the dependencies are locked by Bundler.
117
- # otherwise return nil
118
- #
119
- # @return [:locked, :unlocked, nil]
120
- # Returns +:locked+ if the +Gemfile.lock+ file exists, or +:unlocked+
121
- # if only the +Gemfile+ exists.
122
- #
123
- # @deprecated Will be removed in 1.0.0
124
- #
125
- def bundle
126
- return :locked if File.exist?(root('Gemfile.lock'))
127
- return :unlocked if File.exist?(root("Gemfile"))
128
- end
129
-
130
115
  ##
131
116
  # A Rack::Builder object that allows to add middlewares in front of all
132
117
  # Padrino applications.
@@ -34,5 +34,5 @@ Gem::Specification.new do |s|
34
34
  s.add_dependency("sinatra", "~> 1.3.1")
35
35
  s.add_dependency("http_router", "~> 0.10.2")
36
36
  s.add_dependency("thor", "~> 0.14.3")
37
- s.add_dependency("activesupport", "~> 3.1.0")
37
+ s.add_dependency("activesupport", "~> 3.2.0")
38
38
  end
@@ -44,6 +44,8 @@ class MiniTest::Spec
44
44
  else
45
45
  super(name, *args, &block)
46
46
  end
47
+ rescue Rack::Test::Error # no response yet
48
+ super(name, *args, &block)
47
49
  end
48
50
 
49
51
  alias :response :last_response
@@ -15,7 +15,6 @@ describe "Core" do
15
15
  assert_respond_to Padrino, :load!
16
16
  assert_respond_to Padrino, :reload!
17
17
  assert_respond_to Padrino, :version
18
- assert_respond_to Padrino, :bundle
19
18
  assert_respond_to Padrino, :configure_apps
20
19
  end
21
20
 
@@ -23,7 +22,6 @@ describe "Core" do
23
22
  should 'validate global helpers' do
24
23
  assert_equal :test, Padrino.env
25
24
  assert_match /\/test/, Padrino.root
26
- assert_equal nil, Padrino.bundle
27
25
  assert_not_nil Padrino.version
28
26
  end
29
27