middleman-core 3.2.2 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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