middleman-core 3.2.2 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +4 -4
  2. data/features/cli_init.feature +18 -8
  3. data/features/helpers_select_tag.feature +1 -1
  4. data/features/layouts_dir.feature +8 -0
  5. data/features/markdown_redcarpet.feature +2 -2
  6. data/fixtures/asciidoc-app/source/layouts/default.erb +0 -1
  7. data/fixtures/capture-html-app/source/capture_html_haml.html.haml +1 -1
  8. data/fixtures/content-for-app/source/content_for_haml.html.haml +1 -1
  9. data/fixtures/frontmatter-settings-app/source/layouts/override.erb +1 -2
  10. data/fixtures/frontmatter-settings-neighbor-app/source/layouts/override.erb +1 -2
  11. data/fixtures/layouts-dir-app/source/ambiguous.html.erb +5 -0
  12. data/fixtures/layouts-dir-app/source/layouts/other.erb +3 -0
  13. data/fixtures/layouts-dir-app/source/other.erb +3 -0
  14. data/fixtures/link-to-app/source/link_to_haml.html.haml +1 -1
  15. data/fixtures/link-to-app/source/link_to_slim.html.slim +1 -1
  16. data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +1 -1
  17. data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +1 -1
  18. data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +1 -1
  19. data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +1 -1
  20. data/lib/middleman-core/application.rb +12 -3
  21. data/lib/middleman-core/cli/build.rb +5 -3
  22. data/lib/middleman-core/cli/console.rb +1 -1
  23. data/lib/middleman-core/cli/init.rb +1 -1
  24. data/lib/middleman-core/core_extensions.rb +0 -1
  25. data/lib/middleman-core/core_extensions/file_watcher.rb +11 -11
  26. data/lib/middleman-core/core_extensions/rendering.rb +40 -66
  27. data/lib/middleman-core/extension.rb +167 -0
  28. data/lib/middleman-core/extensions.rb +2 -151
  29. data/lib/middleman-core/logger.rb +2 -2
  30. data/lib/middleman-core/meta_pages/assets/config.css +13 -0
  31. data/lib/middleman-core/meta_pages/assets/meta.css +19 -3
  32. data/lib/middleman-core/meta_pages/assets/sitemap.css +18 -1
  33. data/lib/middleman-core/meta_pages/config_setting.rb +7 -9
  34. data/lib/middleman-core/meta_pages/sitemap_resource.rb +24 -15
  35. data/lib/middleman-core/meta_pages/sitemap_tree.rb +5 -1
  36. data/lib/middleman-core/meta_pages/templates/config.html.erb +2 -2
  37. data/lib/middleman-core/meta_pages/templates/index.html.erb +18 -8
  38. data/lib/middleman-core/meta_pages/templates/sitemap.html.erb +4 -5
  39. data/lib/middleman-core/preview_server.rb +6 -3
  40. data/lib/middleman-core/renderers/erb.rb +12 -14
  41. data/lib/middleman-core/renderers/haml.rb +10 -0
  42. data/lib/middleman-core/renderers/markdown.rb +5 -1
  43. data/lib/middleman-core/renderers/sass.rb +0 -4
  44. data/lib/middleman-core/renderers/slim.rb +16 -3
  45. data/lib/middleman-core/sitemap/resource.rb +1 -1
  46. data/lib/middleman-core/step_definitions.rb +2 -1
  47. data/lib/middleman-core/templates.rb +3 -1
  48. data/lib/middleman-core/templates/shared/Gemfile.tt +4 -1
  49. data/lib/middleman-core/templates/shared/config.tt +3 -1
  50. data/lib/middleman-core/templates/shared/gitignore +2 -1
  51. data/lib/middleman-core/util.rb +22 -16
  52. data/lib/middleman-core/version.rb +1 -1
  53. data/lib/middleman-more/core_extensions/compass.rb +3 -3
  54. data/lib/middleman-more/core_extensions/default_helpers.rb +18 -15
  55. data/lib/middleman-more/extensions/asset_hash.rb +1 -0
  56. data/middleman-core.gemspec +9 -6
  57. metadata +69 -227
  58. data/features/sass_cache_path.feature +0 -22
  59. data/fixtures/sass-cache-path-custom-app/config.rb +0 -3
  60. data/fixtures/sass-cache-path-custom-app/source/stylesheets/plain.css.sass +0 -4
  61. data/fixtures/sass-cache-path-default-app/config.rb +0 -3
  62. data/fixtures/sass-cache-path-default-app/source/stylesheets/plain.css.sass +0 -4
  63. data/lib/vendored-middleman-deps/hooks-0.2.0/CHANGES.textile +0 -9
  64. data/lib/vendored-middleman-deps/hooks-0.2.0/Gemfile +0 -3
  65. data/lib/vendored-middleman-deps/hooks-0.2.0/README.rdoc +0 -107
  66. data/lib/vendored-middleman-deps/hooks-0.2.0/Rakefile +0 -12
  67. data/lib/vendored-middleman-deps/hooks-0.2.0/hooks.gemspec +0 -22
  68. data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks.rb +0 -109
  69. data/lib/vendored-middleman-deps/hooks-0.2.0/lib/hooks/inheritable_attribute.rb +0 -33
  70. data/lib/vendored-middleman-deps/hooks-0.2.0/test/hooks_test.rb +0 -141
  71. data/lib/vendored-middleman-deps/hooks-0.2.0/test/inheritable_attribute_test.rb +0 -55
  72. data/lib/vendored-middleman-deps/hooks-0.2.0/test/test_helper.rb +0 -10
  73. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.document +0 -5
  74. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.gitignore +0 -22
  75. data/lib/vendored-middleman-deps/padrino-core-0.11.4/.yardopts +0 -1
  76. data/lib/vendored-middleman-deps/padrino-core-0.11.4/LICENSE.txt +0 -20
  77. data/lib/vendored-middleman-deps/padrino-core-0.11.4/README.rdoc +0 -294
  78. data/lib/vendored-middleman-deps/padrino-core-0.11.4/Rakefile +0 -5
  79. data/lib/vendored-middleman-deps/padrino-core-0.11.4/bin/padrino +0 -9
  80. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core.rb +0 -200
  81. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application.rb +0 -297
  82. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/flash.rb +0 -229
  83. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering.rb +0 -317
  84. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/erubis.rb +0 -64
  85. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/haml.rb +0 -28
  86. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/rendering/extensions/slim.rb +0 -14
  87. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/routing.rb +0 -1077
  88. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/application/showexceptions.rb +0 -21
  89. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/caller.rb +0 -53
  90. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/adapter.rb +0 -24
  91. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/base.rb +0 -159
  92. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/console.rb +0 -20
  93. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake.rb +0 -47
  94. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/cli/rake_tasks.rb +0 -52
  95. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/command.rb +0 -38
  96. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/404.png +0 -0
  97. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/images/500.png +0 -0
  98. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/loader.rb +0 -224
  99. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/cs.yml +0 -33
  100. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/da.yml +0 -33
  101. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/de.yml +0 -33
  102. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/en.yml +0 -33
  103. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/es.yml +0 -33
  104. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/fr.yml +0 -33
  105. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/hu.yml +0 -33
  106. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/it.yml +0 -39
  107. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ja.yml +0 -33
  108. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/lv.yml +0 -33
  109. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/nl.yml +0 -33
  110. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/no.yml +0 -33
  111. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pl.yml +0 -33
  112. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/pt_br.yml +0 -39
  113. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ro.yml +0 -33
  114. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/ru.yml +0 -34
  115. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/sv.yml +0 -33
  116. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/tr.yml +0 -33
  117. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/uk.yml +0 -33
  118. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_cn.yml +0 -33
  119. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/locale/zh_tw.yml +0 -33
  120. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/logger.rb +0 -438
  121. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/module.rb +0 -58
  122. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/mounter.rb +0 -234
  123. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/reloader.rb +0 -341
  124. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/router.rb +0 -95
  125. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/server.rb +0 -77
  126. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/support_lite.rb +0 -260
  127. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/tasks.rb +0 -21
  128. data/lib/vendored-middleman-deps/padrino-core-0.11.4/lib/padrino-core/version.rb +0 -20
  129. data/lib/vendored-middleman-deps/padrino-core-0.11.4/padrino-core.gemspec +0 -43
  130. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/Gemfile +0 -4
  131. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app/app.rb +0 -3
  132. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/app_gem.gemspec +0 -17
  133. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem.rb +0 -7
  134. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/app_gem/lib/app_gem/version.rb +0 -3
  135. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.components +0 -6
  136. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/.gitignore +0 -7
  137. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/complex.rb +0 -32
  138. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/apps/simple.rb +0 -33
  139. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/a.rb +0 -9
  140. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/b.rb +0 -4
  141. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/c.rb +0 -1
  142. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/e.rb +0 -13
  143. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/f.rb +0 -2
  144. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/circular/g.rb +0 -2
  145. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/fixtures/dependencies/d.rb +0 -4
  146. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/helper.rb +0 -83
  147. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/mini_shoulda.rb +0 -45
  148. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_application.rb +0 -125
  149. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_core.rb +0 -77
  150. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_csrf_protection.rb +0 -80
  151. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_dependencies.rb +0 -44
  152. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_filters.rb +0 -348
  153. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_flash.rb +0 -168
  154. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_locale.rb +0 -21
  155. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_logger.rb +0 -210
  156. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_mounter.rb +0 -199
  157. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_complex.rb +0 -75
  158. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_reloader_simple.rb +0 -98
  159. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering.rb +0 -545
  160. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_rendering_extensions.rb +0 -14
  161. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_restful_routing.rb +0 -33
  162. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_router.rb +0 -146
  163. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_routing.rb +0 -1927
  164. data/lib/vendored-middleman-deps/padrino-core-0.11.4/test/test_support_lite.rb +0 -56
  165. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.document +0 -5
  166. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.gitignore +0 -21
  167. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/.yardopts +0 -1
  168. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/LICENSE.txt +0 -20
  169. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/README.rdoc +0 -239
  170. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/Rakefile +0 -5
  171. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers.rb +0 -57
  172. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/asset_tag_helpers.rb +0 -401
  173. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/breadcrumb_helpers.rb +0 -183
  174. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -317
  175. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -40
  176. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/form_helpers.rb +0 -919
  177. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/format_helpers.rb +0 -372
  178. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/cs.yml +0 -103
  179. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/da.yml +0 -91
  180. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/de.yml +0 -81
  181. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/en.yml +0 -103
  182. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/es.yml +0 -103
  183. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/fr.yml +0 -79
  184. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/hu.yml +0 -103
  185. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/it.yml +0 -89
  186. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ja.yml +0 -103
  187. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/lv.yml +0 -103
  188. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/nl.yml +0 -82
  189. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/no.yml +0 -91
  190. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pl.yml +0 -95
  191. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/pt_br.yml +0 -103
  192. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ro.yml +0 -103
  193. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/ru.yml +0 -103
  194. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/sv.yml +0 -103
  195. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/tr.yml +0 -103
  196. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/uk.yml +0 -103
  197. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_cn.yml +0 -103
  198. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/locale/zh_tw.yml +0 -103
  199. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/number_helpers.rb +0 -283
  200. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers.rb +0 -207
  201. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -96
  202. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -78
  203. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -63
  204. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -78
  205. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/render_helpers.rb +0 -59
  206. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/tag_helpers.rb +0 -292
  207. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/translation_helpers.rb +0 -36
  208. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/padrino-helpers.gemspec +0 -27
  209. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/app.rb +0 -84
  210. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.erb +0 -8
  211. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.haml +0 -5
  212. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/button_to.slim +0 -6
  213. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.erb +0 -14
  214. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.haml +0 -12
  215. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/capture_concat.slim +0 -12
  216. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.erb +0 -14
  217. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.haml +0 -12
  218. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_for.slim +0 -12
  219. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.erb +0 -11
  220. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.haml +0 -9
  221. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/content_tag.slim +0 -9
  222. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.erb +0 -5
  223. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.haml +0 -5
  224. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/current_engine.slim +0 -5
  225. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.erb +0 -20
  226. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.haml +0 -15
  227. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/fields_for.slim +0 -15
  228. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.erb +0 -72
  229. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.haml +0 -59
  230. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_for.slim +0 -59
  231. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.erb +0 -95
  232. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.haml +0 -78
  233. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/form_tag.slim +0 -79
  234. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.erb +0 -5
  235. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.haml +0 -4
  236. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/link_to.slim +0 -4
  237. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.erb +0 -3
  238. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.haml +0 -3
  239. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/mail_to.slim +0 -3
  240. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.erb +0 -3
  241. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.haml +0 -3
  242. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/meta_tag.slim +0 -3
  243. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
  244. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
  245. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
  246. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.erb +0 -1
  247. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.haml +0 -1
  248. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/markup_app/views/simple_partial.slim +0 -1
  249. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/app.rb +0 -58
  250. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engine.haml +0 -5
  251. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
  252. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
  253. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
  254. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_erb.erb +0 -3
  255. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_haml.haml +0 -2
  256. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/double_capture_slim.slim +0 -2
  257. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/erb/test.erb +0 -1
  258. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/explicit_engine.haml +0 -5
  259. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/haml/test.haml +0 -1
  260. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/_user.haml +0 -7
  261. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/haml_template.haml +0 -1
  262. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/fixtures/render_app/views/template/some_template.haml +0 -2
  263. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/helper.rb +0 -67
  264. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_asset_tag_helpers.rb +0 -359
  265. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_breadcrumb_helpers.rb +0 -134
  266. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_builder.rb +0 -1178
  267. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_form_helpers.rb +0 -1030
  268. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_format_helpers.rb +0 -241
  269. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_locale.rb +0 -20
  270. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_number_helpers.rb +0 -143
  271. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_output_helpers.rb +0 -154
  272. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_render_helpers.rb +0 -94
  273. data/lib/vendored-middleman-deps/padrino-helpers-0.11.4/test/test_tag_helpers.rb +0 -117
@@ -1,39 +0,0 @@
1
- pt_br:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%d-%m-%Y"
8
- short: "%d %b"
9
- long: "%d %B %Y"
10
- only_day: "%e"
11
-
12
- day_names: [Domingo, Segunda-feira, Terça-feira, Quarta-feira, Quinta-feira, Sexta-feira, Sábado]
13
- abbr_day_names: [Dom, Seg, Ter, Qua, Qui, Sex, Sab]
14
- month_names: [~, Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro]
15
- abbr_month_names: [~, Jan, Fev, Mar, Abr, Maio, Jun, Jul, Ago, Set, Out, Nov, Dez]
16
- order:
17
- - day
18
- - month
19
- - year
20
-
21
- time:
22
- formats:
23
- default: "%a %d %b %Y, %H:%M:%S %z"
24
- time: "%H:%M"
25
- short: "%d %b %H:%M"
26
- long: "%d %B %Y %H:%M"
27
- only_second: "%S"
28
-
29
- datetime:
30
- formats:
31
- default: "%d-%m-%YT%H:%M:%S%Z"
32
-
33
- am: 'am'
34
- pm: 'pm'
35
-
36
- support:
37
- array:
38
- sentence_connector: "e"
39
- skip_last_comma: false
@@ -1,33 +0,0 @@
1
- ro:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%d.%m.%Y"
8
- short: "%d %b"
9
- long: "%d %B %Y"
10
- only_day: "%e"
11
-
12
- day_names: [Duminică, Luni, Marți, Miercuri, Joi, Vineri, Sâmbătă]
13
- abbr_day_names: [Dum, Lun, Mar, Mie, Joi, Vin, Sâm]
14
- month_names: [~, Ianuarie, Februarie, Martie, Aprilie, Mai, Iunie, Iulie, August, Septembrie, Octombrie, Noiembrie, Decembrie]
15
- abbr_month_names: [~, Ian, Feb, Mar, Apr, Mai, Iun, Iul, Aug, Sep, Oct, Noi, Dec]
16
- order:
17
- - day
18
- - month
19
- - year
20
-
21
- time:
22
- formats:
23
- default: "%a, %d %b %Y %H:%M:%S %z"
24
- short: "%d %b %H:%M"
25
- long: "%d, %B %Y %H:%M"
26
- am: "am"
27
- pm: "pm"
28
-
29
- support:
30
- array:
31
- words_connector: ", "
32
- two_words_connector: " și "
33
- last_word_connector: " și "
@@ -1,34 +0,0 @@
1
- ru:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%d.%m.%Y"
8
- short: "%d %b"
9
- long: "%e %B, %Y"
10
- only_day: "%e"
11
-
12
- day_names: [Воскресенье, Понедельник, Вторник, Среда, Четверг, Пятница, Суббота]
13
- abbr_day_names: [Вс, Пн, Вт, Ср, Чт, Пт, Сб]
14
- month_names: [~, Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь]
15
- abbr_month_names: [~, Янв, Фев, Мар, Апр, Май, Июн, Июл, Авг, Сен, Окт, Ноя, Дек]
16
- order:
17
- - year
18
- - month
19
- - day
20
-
21
- time:
22
- formats:
23
- default: "%a, %d %b %Y %H:%M:%S %z"
24
- short: "%d %b %H:%M"
25
- long: "%e %B, %Y %H:%M"
26
- am: "д.п."
27
- pm: "п.п."
28
-
29
- support:
30
- array:
31
- words_connector: ", "
32
- two_words_connector: " и "
33
- last_word_connector: " и "
34
-
@@ -1,33 +0,0 @@
1
- sv:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%Y-%m-%d"
8
- short: "%b %d"
9
- long: "%B %d, %Y"
10
- only_day: "%e"
11
-
12
- day_names: [söndag, måndag, tisdag, onsdag, torsdag, fredag, lördag]
13
- abbr_day_names: [sön, mån, tis, ons, tors, fre, lör]
14
- month_names: [~, januari, februari, mars, april, maj, juni, juli, augusti, september, oktober, november, december]
15
- abbr_month_names: [~, jan, feb, mar, apr, may, jun, jul, aug, sep, okt, nov, dec]
16
- order:
17
- - år
18
- - månad
19
- - dag
20
-
21
- time:
22
- formats:
23
- default: "%a, %d %b %Y %H:%M:%S %z"
24
- short: "%d %b %H:%M"
25
- long: "%B %d, %Y %H:%M"
26
- am: "fm"
27
- pm: "em"
28
-
29
- support:
30
- array:
31
- words_connector: ", "
32
- two_words_connector: " och "
33
- last_word_connector: ", och "
@@ -1,33 +0,0 @@
1
- tr:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%d/%m/%Y"
8
- short: "%d %b"
9
- long: "%d %B %Y"
10
- only_day: "%e"
11
-
12
- day_names: [Pazar, Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi]
13
- abbr_day_names: [Paz, Pts, Sal, Çar, Per, Cum, Cts]
14
- month_names: [~, Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz, Ağustos, Eylül, Ekim, Kasım, Aralık]
15
- abbr_month_names: [~, Oca, Şub, Mar, Nis, May, Haz, Tem, Ağu, Eyl, Eki, Kas, Ara]
16
- order:
17
- - day
18
- - month
19
- - year
20
-
21
- time:
22
- formats:
23
- default: "%a, %b %b %Y %H:%M:%S %z"
24
- short: "%b %d %H:%M"
25
- long: "%d %B, %Y %H:%M"
26
- am: "öö"
27
- pm: "ös"
28
-
29
- support:
30
- array:
31
- words_connector: ", "
32
- two_words_connector: " ve "
33
- last_word_connector: " ve "
@@ -1,33 +0,0 @@
1
- uk:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%d.%m.%Y"
8
- short: "%d %b"
9
- long: "%e %B, %Y"
10
- only_day: "%e"
11
-
12
- day_names: [Неділя, Понеділок, Вівторок, Середа, Четвер, Пятница, Субота]
13
- abbr_day_names: [Нд, Пн, Вт, Ср, Чт, Пт, Сб]
14
- month_names: [~, Січено, Лютий, Березень, Квітень, Травень, Червень, Липень, Серпень, Вересень, Жовтень, Листопад, Грудень]
15
- abbr_month_names: [~, Січ, Лют, Бер, Кві, Тра, Чер, Лип, Сер, Вер, Жов, Лис, Гру]
16
- order:
17
- - year
18
- - month
19
- - day
20
-
21
- time:
22
- formats:
23
- default: "%a, %d %b %Y %H:%M:%S %z"
24
- short: "%d %b %H:%M"
25
- long: "%e %B, %Y %H:%M"
26
- am: "д.п."
27
- pm: "п.п"
28
-
29
- support:
30
- array:
31
- words_connector: ", "
32
- two_words_connector: " і "
33
- last_word_connector: ", і "
@@ -1,33 +0,0 @@
1
- zh_cn:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%Y 年 %m 月 %d 日"
8
- short: "%b 月 %d 日"
9
- long: "公元 %Y 年 %B 月 %d 日"
10
- only_day: "%e"
11
-
12
- day_names: [星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
13
- abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
14
- month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
15
- abbr_month_names: [~, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
16
- order:
17
- - year
18
- - month
19
- - day
20
-
21
- time:
22
- formats:
23
- default: "%Y 年 %b 月 %d 日 %H:%M:%S %z"
24
- short: "%d 月 %b 日 %H:%M"
25
- long: "%Y 年 %B 月 %d 日 %H 时 %M 分"
26
- am: "上午"
27
- pm: "下午"
28
-
29
- support:
30
- array:
31
- words_connector: ","
32
- two_words_connector: "和"
33
- last_word_connector: ",还有"
@@ -1,33 +0,0 @@
1
- zh_tw:
2
- date:
3
- formats:
4
- # Use the strftime parameters for formats.
5
- # When no format has been given, it uses default.
6
- # You can provide other formats here if you like!
7
- default: "%Y-%m-%d"
8
- short: "%b%d日"
9
- long: "%Y年%b%d日"
10
- only_day: "%e"
11
-
12
- day_names: [星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
13
- abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
14
- month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
15
- abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
16
- order:
17
- - year
18
- - month
19
- - day
20
-
21
- time:
22
- formats:
23
- default: "%Y年%b%d日 %A %H:%M:%S %Z"
24
- short: "%b%d日 %H:%M"
25
- long: "%Y年%b%d日 %H:%M"
26
- am: "上午"
27
- pm: "下午"
28
-
29
- support:
30
- array:
31
- words_connector: ", "
32
- two_words_connector: " 和 "
33
- last_word_connector: ", 和 "
@@ -1,438 +0,0 @@
1
- # Defines the log level for a Padrino project.
2
- PADRINO_LOG_LEVEL = ENV['PADRINO_LOG_LEVEL'] unless defined?(PADRINO_LOG_LEVEL)
3
-
4
- # Defines the logger used for a Padrino project.
5
- PADRINO_LOGGER = ENV['PADRINO_LOGGER'] unless defined?(PADRINO_LOGGER)
6
-
7
- module Padrino
8
- ##
9
- # @return [Padrino::Logger]
10
- #
11
- # @example
12
- # logger.debug "foo"
13
- # logger.warn "bar"
14
- #
15
- def self.logger
16
- Padrino::Logger.logger
17
- end
18
-
19
- ##
20
- # Set the padrino logger.
21
- #
22
- # @param [Object] value
23
- # an object that respond to <<, write, puts, debug, warn etc..
24
- #
25
- # @return [Object]
26
- # The given value.
27
- #
28
- # @example using ruby default logger
29
- # require 'logger'
30
- # Padrino.logger = Logger.new(STDOUT)
31
- #
32
- # @example using ActiveSupport
33
- # require 'active_support/buffered_logger'
34
- # Padrino.logger = Buffered.new(STDOUT)
35
- #
36
- def self.logger=(value)
37
- Padrino::Logger.logger = value
38
- end
39
-
40
- ##
41
- # Padrinos internal logger, using all of Padrino log extensions.
42
- #
43
- class Logger
44
- ##
45
- # Ruby (standard) logger levels:
46
- #
47
- # :fatal:: An not handleable error that results in a program crash
48
- # :error:: A handleable error condition
49
- # :warn:: A warning
50
- # :info:: generic (useful) information about system operation
51
- # :debug:: low-level information for developers
52
- # :devel:: Development-related information that is unnecessary in debug mode
53
- #
54
- Levels = {
55
- :fatal => 7,
56
- :error => 6,
57
- :warn => 4,
58
- :info => 3,
59
- :debug => 0,
60
- :devel => -1,
61
- } unless defined?(Levels)
62
-
63
- module Extensions
64
- ##
65
- # Generate the logging methods for {Padrino.logger} for each log level.
66
- #
67
- Padrino::Logger::Levels.each_pair do |name, number|
68
- define_method(name) do |*args|
69
- return if number < level
70
- if args.size > 1
71
- bench(args[0], args[1], args[2], name)
72
- else
73
- push(args * '', name)
74
- end
75
- end
76
-
77
- define_method(:"#{name}?") do
78
- number >= level
79
- end
80
- end
81
-
82
- ##
83
- # Append a to development logger a given action with time.
84
- #
85
- # @param [string] action
86
- # The action.
87
- #
88
- # @param [float] time
89
- # Time duration for the given action.
90
- #
91
- # @param [message] string
92
- # The message that you want to log.
93
- #
94
- # @example
95
- # logger.bench 'GET', started_at, '/blog/categories'
96
- # # => DEBUG - GET (0.0056s) - /blog/categories
97
- #
98
- def bench(action, began_at, message, level=:debug, color=:yellow)
99
- @_pad ||= 8
100
- @_pad = action.to_s.size if action.to_s.size > @_pad
101
- duration = Time.now - began_at
102
- color = :red if duration > 1
103
- action = colorize(action.to_s.upcase.rjust(@_pad), color)
104
- duration = colorize('%0.4fs' % duration, :bold, color)
105
- push "#{action} (#{duration}) #{message}", level
106
- end
107
-
108
- ##
109
- # Appends a message to the log. The methods yield to an optional block and
110
- # the output of this block will be appended to the message.
111
- #
112
- # @param [String] message
113
- # The message that you want write to your stream.
114
- #
115
- # @param [String] level
116
- # The level one of :debug, :warn etc. ...
117
- #
118
- #
119
- def push(message = nil, level = nil)
120
- add(Padrino::Logger::Levels[level], format(message, level))
121
- end
122
-
123
- ##
124
- # Formats the log message. This method is a noop and should be implemented by other
125
- # logger components such as {Padrino::Logger}.
126
- #
127
- # @param [String] message
128
- # The message to format.
129
- #
130
- # @param [String,Symbol] level
131
- # The log level, one of :debug, :warn ...
132
- def format(message, level)
133
- message
134
- end
135
-
136
- ##
137
- # The debug level, with some style added. May be reimplemented.
138
- #
139
- # @example
140
- # stylized_level(:debug) => DEBUG
141
- #
142
- # @param [String,Symbol] level
143
- # The log level.
144
- #
145
- def stylized_level(level)
146
- level.to_s.upcase.rjust(7)
147
- end
148
-
149
- ##
150
- # Colorizes a string for colored console output. This is a noop and can be reimplemented
151
- # to colorize the string as needed.
152
- #
153
- # @see
154
- # ColorizedLogger
155
- #
156
- # @param [string]
157
- # The string to be colorized.
158
- #
159
- # @param [Array<Symbol>]
160
- # The colors to use. Should be applied in the order given.
161
- def colorize(string, *colors)
162
- string
163
- end
164
-
165
- ##
166
- # Turns a logger with LoggingExtensions into a logger with colorized output.
167
- #
168
- # @example
169
- # Padrino.logger = Logger.new($stdout)
170
- # Padrino.logger.colorize!
171
- # Padrino.logger.debug("Fancy Padrino debug string")
172
- def colorize!
173
- self.extend(Colorize)
174
- end
175
- end
176
-
177
- module Colorize
178
- # Colors for levels
179
- ColoredLevels = {
180
- :fatal => [:bold, :red],
181
- :error => [:red],
182
- :warn => [:yellow],
183
- :info => [:green],
184
- :debug => [:cyan],
185
- :devel => [:magenta]
186
- } unless defined?(ColoredLevels)
187
-
188
- ##
189
- # Colorize our level.
190
- #
191
- # @param [String, Symbol] level
192
- #
193
- # @see Padrino::Logging::ColorizedLogger::ColoredLevels
194
- #
195
- def colorize(string, *colors)
196
- colors.each do |c|
197
- string = string.send(c)
198
- end
199
- string
200
- end
201
-
202
- def stylized_level(level)
203
- style = ColoredLevels[level].map { |c| "\e[%dm" % String.colors[c] } * ''
204
- [style, super, "\e[0m"] * ''
205
- end
206
- end
207
-
208
- include Extensions
209
-
210
- attr_accessor :auto_flush, :level, :log_static
211
- attr_reader :buffer, :colorize_logging, :init_args, :log
212
-
213
- ##
214
- # Configuration for a given environment, possible options are:
215
- #
216
- # :log_level:: Once of [:fatal, :error, :warn, :info, :debug]
217
- # :stream:: Once of [:to_file, :null, :stdout, :stderr] our your custom stream
218
- # :log_level::
219
- # The log level from, e.g. :fatal or :info. Defaults to :warn in the
220
- # production environment and :debug otherwise.
221
- # :auto_flush::
222
- # Whether the log should automatically flush after new messages are
223
- # added. Defaults to true.
224
- # :format_datetime:: Format of datetime. Defaults to: "%d/%b/%Y %H:%M:%S"
225
- # :format_message:: Format of message. Defaults to: ""%s - - [%s] \"%s\"""
226
- # :log_static:: Whether or not to show log messages for static files. Defaults to: false
227
- # :colorize_logging:: Whether or not to colorize log messages. Defaults to: true
228
- #
229
- # @example
230
- # Padrino::Logger::Config[:development] = { :log_level => :debug, :stream => :to_file }
231
- # # or you can edit our defaults
232
- # Padrino::Logger::Config[:development][:log_level] = :error
233
- # # or you can use your stream
234
- # Padrino::Logger::Config[:development][:stream] = StringIO.new
235
- #
236
- # Defaults are:
237
- #
238
- # :production => { :log_level => :warn, :stream => :to_file }
239
- # :development => { :log_level => :debug, :stream => :stdout }
240
- # :test => { :log_level => :fatal, :stream => :null }
241
- #
242
- # In some cases, configuring the loggers before loading the framework is necessary.
243
- # You can do so by setting PADRINO_LOGGER:
244
- #
245
- # PADRINO_LOGGER = { :staging => { :log_level => :debug, :stream => :to_file }}
246
- #
247
- Config = {
248
- :production => { :log_level => :warn, :stream => :to_file },
249
- :development => { :log_level => :debug, :stream => :stdout, :format_datetime => '' },
250
- :test => { :log_level => :debug, :stream => :null }
251
- }
252
- Config.merge!(PADRINO_LOGGER) if PADRINO_LOGGER
253
-
254
- @@mutex = Mutex.new
255
- def self.logger
256
- @_logger || setup!
257
- end
258
-
259
- def self.logger=(logger)
260
- logger.extend(Padrino::Logger::Extensions)
261
-
262
- @_logger = logger
263
- end
264
-
265
- ##
266
- # Setup a new logger.
267
- #
268
- # @return [Padrino::Logger]
269
- # A {Padrino::Logger} instance
270
- #
271
- def self.setup!
272
- self.logger = begin
273
- config_level = (PADRINO_LOG_LEVEL || Padrino.env || :test).to_sym # need this for PADRINO_LOG_LEVEL
274
- config = Config[config_level]
275
-
276
- unless config
277
- warn("No logging configuration for :#{config_level} found, falling back to :production")
278
- config = Config[:production]
279
- end
280
-
281
- stream = case config[:stream]
282
- when :to_file
283
- FileUtils.mkdir_p(Padrino.root('log')) unless File.exists?(Padrino.root('log'))
284
- File.new(Padrino.root('log', "#{Padrino.env}.log"), 'a+')
285
- when :null then StringIO.new
286
- when :stdout then $stdout
287
- when :stderr then $stderr
288
- else config[:stream] # return itself, probabilly is a custom stream.
289
- end
290
-
291
- Padrino::Logger.new(config.merge(:stream => stream))
292
- end
293
- end
294
-
295
- ##
296
- # To initialize the logger you create a new object, proxies to set_log.
297
- #
298
- # @param [Hash] options
299
- #
300
- # @option options [Symbol] :stream ($stdout)
301
- # Either an IO object or a name of a logfile. Defaults to $stdout
302
- #
303
- # @option options [Symbol] :log_level (:production in the production environment and :debug otherwise)
304
- # The log level from, e.g. :fatal or :info.
305
- #
306
- # @option options [Symbol] :auto_flush (true)
307
- # Whether the log should automatically flush after new messages are
308
- # added. Defaults to true.
309
- #
310
- # @option options [Symbol] :format_datetime (" [%d/%b/%Y %H:%M:%S] ")
311
- # Format of datetime.
312
- #
313
- # @option options [Symbol] :format_message ("%s -%s%s")
314
- # Format of message.
315
- #
316
- # @option options [Symbol] :log_static (false)
317
- # Whether or not to show log messages for static files.
318
- #
319
- # @option options [Symbol] :colorize_logging (true)
320
- # Whether or not to colorize log messages. Defaults to: true.
321
- #
322
- def initialize(options={})
323
- @buffer = []
324
- @auto_flush = options.has_key?(:auto_flush) ? options[:auto_flush] : true
325
- @level = options[:log_level] ? Padrino::Logger::Levels[options[:log_level]] : Padrino::Logger::Levels[:debug]
326
- @log = options[:stream] || $stdout
327
- @log.sync = true
328
- @format_datetime = options[:format_datetime] || "%d/%b/%Y %H:%M:%S"
329
- @format_message = options[:format_message] || "%s - %s %s"
330
- @log_static = options.has_key?(:log_static) ? options[:log_static] : false
331
- @colorize_logging = options.has_key?(:colorize_logging) ? options[:colorize_logging] : true
332
- colorize! if @colorize_logging
333
- end
334
-
335
- ##
336
- # Flush the entire buffer to the log object.
337
- #
338
- def flush
339
- return unless @buffer.size > 0
340
- @@mutex.synchronize do
341
- @log.write(@buffer.join(''))
342
- @buffer.clear
343
- end
344
- end
345
-
346
- ##
347
- # Close and remove the current log object.
348
- #
349
- # @return [NilClass]
350
- #
351
- def close
352
- flush
353
- @log.close if @log.respond_to?(:close) && !@log.tty?
354
- @log = nil
355
- end
356
-
357
- ##
358
- # Adds a message to the log - for compatibility with other loggers.
359
- #
360
- def add(level, message = nil)
361
- write(message)
362
- end
363
-
364
- ##
365
- # Directly append message to the log.
366
- #
367
- # @param [String] message
368
- # The message
369
- #
370
- def <<(message = nil)
371
- message << "\n" unless message[-1] == ?\n
372
- @@mutex.synchronize {
373
- @buffer << message
374
- }
375
- flush if @auto_flush
376
- message
377
- end
378
- alias :write :<<
379
-
380
- def format(message, level)
381
- @format_message % [stylized_level(level), colorize(Time.now.strftime(@format_datetime), :yellow), message.to_s.strip]
382
- end
383
-
384
- ##
385
- # Padrino::Logger::Rack forwards every request to an +app+ given, and
386
- # logs a line in the Apache common log format to the +logger+, or
387
- # rack.errors by default.
388
- #
389
- class Rack
390
- def initialize(app, uri_root)
391
- @app = app
392
- @uri_root = uri_root.sub(/\/$/,"")
393
- end
394
-
395
- def call(env)
396
- env['rack.logger'] = Padrino.logger
397
- began_at = Time.now
398
- status, header, body = @app.call(env)
399
- log(env, status, header, began_at) if logger.debug?
400
- [status, header, body]
401
- end
402
-
403
- private
404
-
405
- def log(env, status, header, began_at)
406
- return if env['sinatra.static_file'] && (!logger.respond_to?(:log_static) || !logger.log_static)
407
- logger.bench(
408
- env["REQUEST_METHOD"],
409
- began_at,
410
- [
411
- @uri_root.to_s,
412
- env["PATH_INFO"],
413
- env["QUERY_STRING"].empty? ? "" : "?" + env["QUERY_STRING"],
414
- ' - ',
415
- logger.colorize(status.to_s[0..3], :bold),
416
- ' ',
417
- code_to_name(status)
418
- ] * '',
419
- :debug,
420
- :magenta
421
- )
422
- end
423
-
424
- def code_to_name(status)
425
- ::Rack::Utils::HTTP_STATUS_CODES[status.to_i] || ''
426
- end
427
- end
428
- end
429
- end
430
-
431
- module Kernel
432
- ##
433
- # Define a logger available every where in our app
434
- #
435
- def logger
436
- Padrino.logger
437
- end
438
- end