middleman 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. data/CHANGELOG +8 -0
  2. data/lib/middleman.rb +7 -1
  3. data/lib/middleman/vendor/padrino-core-0.10.0/.document +5 -0
  4. data/lib/middleman/vendor/padrino-core-0.10.0/.gitignore +22 -0
  5. data/lib/middleman/vendor/padrino-core-0.10.0/LICENSE +20 -0
  6. data/lib/middleman/vendor/padrino-core-0.10.0/README.rdoc +294 -0
  7. data/lib/middleman/vendor/padrino-core-0.10.0/Rakefile +5 -0
  8. data/lib/middleman/vendor/padrino-core-0.10.0/bin/padrino +9 -0
  9. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core.rb +119 -0
  10. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application.rb +259 -0
  11. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/rendering.rb +228 -0
  12. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/routing.rb +821 -0
  13. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/showexceptions.rb +18 -0
  14. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/caller.rb +45 -0
  15. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/adapter.rb +24 -0
  16. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/base.rb +152 -0
  17. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/console.rb +20 -0
  18. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake.rb +24 -0
  19. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake_tasks.rb +59 -0
  20. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/command.rb +27 -0
  21. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/404.png +0 -0
  22. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/500.png +0 -0
  23. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/loader.rb +182 -0
  24. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/cz.yml +30 -0
  25. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/da.yml +30 -0
  26. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/de.yml +30 -0
  27. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/en.yml +30 -0
  28. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/es.yml +30 -0
  29. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/fr.yml +30 -0
  30. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/hu.yml +30 -0
  31. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/it.yml +37 -0
  32. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ja.yml +30 -0
  33. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/nl.yml +30 -0
  34. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/no.yml +31 -0
  35. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pl.yml +30 -0
  36. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pt_br.yml +37 -0
  37. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ru.yml +30 -0
  38. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/tr.yml +30 -0
  39. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/uk.yml +30 -0
  40. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_cn.yml +30 -0
  41. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_tw.yml +30 -0
  42. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/logger.rb +344 -0
  43. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/mounter.rb +192 -0
  44. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/reloader.rb +247 -0
  45. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/router.rb +79 -0
  46. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/server.rb +70 -0
  47. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/support_lite.rb +135 -0
  48. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/tasks.rb +23 -0
  49. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/version.rb +15 -0
  50. data/lib/middleman/vendor/padrino-core-0.10.0/padrino-core.gemspec +38 -0
  51. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.components +6 -0
  52. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.gitignore +7 -0
  53. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/complex.rb +27 -0
  54. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/simple.rb +33 -0
  55. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/a.rb +9 -0
  56. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/b.rb +4 -0
  57. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/c.rb +1 -0
  58. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/e.rb +13 -0
  59. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/f.rb +2 -0
  60. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/g.rb +2 -0
  61. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/d.rb +4 -0
  62. data/lib/middleman/vendor/padrino-core-0.10.0/test/helper.rb +101 -0
  63. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_application.rb +83 -0
  64. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_core.rb +79 -0
  65. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_dependencies.rb +44 -0
  66. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_filters.rb +266 -0
  67. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_logger.rb +91 -0
  68. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_mounter.rb +176 -0
  69. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_complex.rb +66 -0
  70. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_simple.rb +97 -0
  71. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_rendering.rb +437 -0
  72. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_router.rb +146 -0
  73. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_routing.rb +1491 -0
  74. data/lib/middleman/vendor/padrino-helpers-0.10.0/.document +5 -0
  75. data/lib/middleman/vendor/padrino-helpers-0.10.0/.gitignore +21 -0
  76. data/lib/middleman/vendor/padrino-helpers-0.10.0/LICENSE +20 -0
  77. data/lib/middleman/vendor/padrino-helpers-0.10.0/README.rdoc +239 -0
  78. data/lib/middleman/vendor/padrino-helpers-0.10.0/Rakefile +5 -0
  79. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers.rb +51 -0
  80. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/asset_tag_helpers.rb +288 -0
  81. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/abstract_form_builder.rb +220 -0
  82. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/standard_form_builder.rb +43 -0
  83. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_helpers.rb +446 -0
  84. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/format_helpers.rb +260 -0
  85. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/cz.yml +103 -0
  86. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/da.yml +91 -0
  87. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/de.yml +78 -0
  88. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/en.yml +103 -0
  89. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/es.yml +103 -0
  90. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/fr.yml +79 -0
  91. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/hu.yml +103 -0
  92. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/it.yml +85 -0
  93. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ja.yml +103 -0
  94. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/nl.yml +78 -0
  95. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/no.yml +91 -0
  96. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pl.yml +95 -0
  97. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pt_br.yml +103 -0
  98. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ru.yml +103 -0
  99. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/tr.yml +103 -0
  100. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/uk.yml +103 -0
  101. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_cn.yml +103 -0
  102. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_tw.yml +103 -0
  103. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/number_helpers.rb +273 -0
  104. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers.rb +128 -0
  105. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/abstract_handler.rb +103 -0
  106. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/erb_handler.rb +79 -0
  107. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/haml_handler.rb +64 -0
  108. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/slim_handler.rb +82 -0
  109. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/render_helpers.rb +40 -0
  110. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/tag_helpers.rb +59 -0
  111. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/translation_helpers.rb +21 -0
  112. data/lib/middleman/vendor/padrino-helpers-0.10.0/padrino-helpers.gemspec +27 -0
  113. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/app.rb +73 -0
  114. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.erb +14 -0
  115. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.haml +12 -0
  116. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.slim +13 -0
  117. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.erb +11 -0
  118. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.haml +9 -0
  119. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.slim +9 -0
  120. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.erb +11 -0
  121. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.haml +9 -0
  122. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.slim +9 -0
  123. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.erb +5 -0
  124. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.haml +5 -0
  125. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.slim +5 -0
  126. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.erb +20 -0
  127. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.haml +15 -0
  128. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.slim +15 -0
  129. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.erb +56 -0
  130. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.haml +47 -0
  131. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.slim +47 -0
  132. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.erb +56 -0
  133. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.haml +45 -0
  134. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.slim +45 -0
  135. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.erb +5 -0
  136. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.haml +4 -0
  137. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.slim +4 -0
  138. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.erb +3 -0
  139. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.haml +3 -0
  140. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.slim +3 -0
  141. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.erb +3 -0
  142. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.haml +3 -0
  143. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.slim +3 -0
  144. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_erb.erb +1 -0
  145. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_haml.haml +1 -0
  146. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_slim.slim +1 -0
  147. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.erb +1 -0
  148. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.haml +1 -0
  149. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.slim +1 -0
  150. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/app.rb +45 -0
  151. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engine.haml +5 -0
  152. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_erb.erb +1 -0
  153. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_haml.haml +1 -0
  154. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_slim.slim +1 -0
  155. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/erb/test.erb +1 -0
  156. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/explicit_engine.haml +5 -0
  157. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/haml/test.haml +1 -0
  158. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/_user.haml +7 -0
  159. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/haml_template.haml +1 -0
  160. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/some_template.haml +2 -0
  161. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/helper.rb +78 -0
  162. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_asset_tag_helpers.rb +320 -0
  163. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_builder.rb +998 -0
  164. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_helpers.rb +645 -0
  165. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_format_helpers.rb +227 -0
  166. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_number_helpers.rb +136 -0
  167. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_output_helpers.rb +133 -0
  168. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_render_helpers.rb +69 -0
  169. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_tag_helpers.rb +100 -0
  170. data/lib/middleman/version.rb +1 -1
  171. data/middleman.gemspec +6 -2
  172. metadata +218 -67
@@ -0,0 +1,30 @@
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
+
11
+ day_names: [Pazar, Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi]
12
+ abbr_day_names: [Paz, Pts, Sal, Çar, Per, Cum, Cts]
13
+ month_names: [~, Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz, Ağustos, Eylül, Ekim, Kasım, Aralık]
14
+ abbr_month_names: [~, Oca, Şub, Mar, Nis, May, Haz, Tem, Ağu, Eyl, Eki, Kas, Ara]
15
+ order: [ :day, :month, :year ]
16
+
17
+ time:
18
+ formats:
19
+ default: "%a, %b %b %Y %H:%M:%S %z"
20
+ short: "%b %d %H:%M"
21
+ long: "%d %B, %Y %H:%M"
22
+ am: "öö"
23
+ pm: "ös"
24
+
25
+ # Used in array.to_sentence.
26
+ support:
27
+ array:
28
+ words_connector: ", "
29
+ two_words_connector: " ve "
30
+ last_word_connector: " ve "
@@ -0,0 +1,30 @@
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
+
11
+ day_names: [Неділя, Понеділок, Вівторок, Середа, Четвер, Пятница, Субота]
12
+ abbr_day_names: [Нд, Пн, Вт, Ср, Чт, Пт, Сб]
13
+ month_names: [~, Січено, Лютий, Березень, Квітень, Травень, Червень, Липень, Серпень, Вересень, Жовтень, Листопад, Грудень]
14
+ abbr_month_names: [~, Січ, Лют, Бер, Кві, Тра, Чер, Лип, Сер, Вер, Жов, Лис, Гру]
15
+ order: [ :year, :month, :day ]
16
+
17
+ time:
18
+ formats:
19
+ default: "%a, %d %b %Y %H:%M:%S %z"
20
+ short: "%d %b %H:%M"
21
+ long: "%e %B, %Y %H:%M"
22
+ am: "д.п."
23
+ pm: "п.п"
24
+
25
+ # Used in array.to_sentence.
26
+ support:
27
+ array:
28
+ words_connector: ", "
29
+ two_words_connector: " і "
30
+ last_word_connector: ", і "
@@ -0,0 +1,30 @@
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
+
11
+ day_names: [星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
12
+ abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
13
+ month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
14
+ abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
15
+ order: [ :year, :month, :day ]
16
+
17
+ time:
18
+ formats:
19
+ default: "%Y年%b%d日 %A %H:%M:%S %Z"
20
+ short: "%b%d日 %H:%M"
21
+ long: "%Y年%b%d日 %H:%M"
22
+ am: "上午"
23
+ pm: "下午"
24
+
25
+ # Used in array.to_sentence.
26
+ support:
27
+ array:
28
+ words_connector: ", "
29
+ two_words_connector: " 和 "
30
+ last_word_connector: ", 和 "
@@ -0,0 +1,30 @@
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
+
11
+ day_names: [星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六]
12
+ abbr_day_names: [日, 一, 二, 三, 四, 五, 六]
13
+ month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
14
+ abbr_month_names: [~, 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月]
15
+ order: [ :year, :month, :day ]
16
+
17
+ time:
18
+ formats:
19
+ default: "%Y年%b%d日 %A %H:%M:%S %Z"
20
+ short: "%b%d日 %H:%M"
21
+ long: "%Y年%b%d日 %H:%M"
22
+ am: "上午"
23
+ pm: "下午"
24
+
25
+ # Used in array.to_sentence.
26
+ support:
27
+ array:
28
+ words_connector: ", "
29
+ two_words_connector: " 和 "
30
+ last_word_connector: ", 和 "
@@ -0,0 +1,344 @@
1
+ # Defines our PADRINO_LOG_LEVEL
2
+ PADRINO_LOG_LEVEL = ENV['PADRINO_LOG_LEVEL'] unless defined?(PADRINO_LOG_LEVEL)
3
+
4
+ module Padrino
5
+
6
+ ##
7
+ # Returns the padrino logger
8
+ #
9
+ # ==== Examples
10
+ #
11
+ # logger.debug "foo"
12
+ # logger.warn "bar"
13
+ #
14
+ def self.logger
15
+ Padrino::Logger.setup! if Thread.current[:padrino_logger].nil?
16
+ Thread.current[:padrino_logger]
17
+ end
18
+
19
+ ##
20
+ # Set the padrino logger
21
+ #
22
+ def self.logger=(value)
23
+ Thread.current[:padrino_logger] = value
24
+ end
25
+
26
+ ##
27
+ # Extensions to the built in Ruby logger.
28
+ #
29
+ # ==== Examples
30
+ #
31
+ # logger.debug "foo"
32
+ # logger.warn "bar"
33
+ #
34
+ class Logger
35
+
36
+ attr_accessor :level
37
+ attr_accessor :auto_flush
38
+ attr_reader :buffer
39
+ attr_reader :log
40
+ attr_reader :init_args
41
+ attr_accessor :log_static
42
+
43
+ ##
44
+ # Ruby (standard) logger levels:
45
+ #
46
+ # :fatal:: An unhandleable error that results in a program crash
47
+ # :error:: A handleable error condition
48
+ # :warn:: A warning
49
+ # :info:: generic (useful) information about system operation
50
+ # :debug:: low-level information for developers
51
+ #
52
+ Levels = {
53
+ :fatal => 7,
54
+ :error => 6,
55
+ :warn => 4,
56
+ :info => 3,
57
+ :debug => 0,
58
+ :devel => -1,
59
+ } unless const_defined?(:Levels)
60
+
61
+ @@mutex = {}
62
+
63
+ ##
64
+ # Configuration for a given environment, possible options are:
65
+ #
66
+ # :log_level:: Once of [:fatal, :error, :warn, :info, :debug]
67
+ # :stream:: Once of [:to_file, :null, :stdout, :stderr] our your custom stream
68
+ # :log_level::
69
+ # The log level from, e.g. :fatal or :info. Defaults to :debug in the
70
+ # production environment and :debug otherwise.
71
+ # :auto_flush::
72
+ # Whether the log should automatically flush after new messages are
73
+ # added. Defaults to true.
74
+ # :format_datetime:: Format of datetime. Defaults to: "%d/%b/%Y %H:%M:%S"
75
+ # :format_message:: Format of message. Defaults to: ""%s - - [%s] \"%s\"""
76
+ # :log_static:: Whether or not to show log messages for static files. Defaults to: false
77
+ #
78
+ # ==== Examples
79
+ #
80
+ # Padrino::Logger::Config[:development] = { :log_level => :debug, :stream => :to_file }
81
+ # # or you can edit our defaults
82
+ # Padrino::Logger::Config[:development][:log_level] = :error
83
+ # # or you can use your stream
84
+ # Padrino::Logger::Config[:development][:stream] = StringIO.new
85
+ #
86
+ # Defaults are:
87
+ #
88
+ # :production => { :log_level => :warn, :stream => :to_file }
89
+ # :development => { :log_level => :debug, :stream => :stdout }
90
+ # :test => { :log_level => :fatal, :stream => :null }
91
+ #
92
+ Config = {
93
+ :production => { :log_level => :warn, :stream => :to_file },
94
+ :development => { :log_level => :debug, :stream => :stdout },
95
+ :test => { :log_level => :debug, :stream => :null }
96
+ }
97
+
98
+ # Embed in a String to clear all previous ANSI sequences.
99
+ CLEAR = "\e[0m"
100
+ # The start of an ANSI bold sequence.
101
+ BOLD = "\e[1m"
102
+ # Set the terminal's foreground ANSI color to black.
103
+ BLACK = "\e[30m"
104
+ # Set the terminal's foreground ANSI color to red.
105
+ RED = "\e[31m"
106
+ # Set the terminal's foreground ANSI color to green.
107
+ GREEN = "\e[32m"
108
+ # Set the terminal's foreground ANSI color to yellow.
109
+ YELLOW = "\e[33m"
110
+ # Set the terminal's foreground ANSI color to blue.
111
+ BLUE = "\e[34m"
112
+ # Set the terminal's foreground ANSI color to magenta.
113
+ MAGENTA = "\e[35m"
114
+ # Set the terminal's foreground ANSI color to cyan.
115
+ CYAN = "\e[36m"
116
+ # Set the terminal's foreground ANSI color to white.
117
+ WHITE = "\e[37m"
118
+
119
+ # Colors for levels
120
+ ColoredLevels = {
121
+ :fatal => [BOLD, RED],
122
+ :error => [RED],
123
+ :warn => [YELLOW],
124
+ :info => [GREEN],
125
+ :debug => [CYAN],
126
+ :devel => [MAGENTA]
127
+ } unless defined?(ColoredLevels)
128
+
129
+ ##
130
+ # Setup a new logger
131
+ #
132
+ def self.setup!
133
+ config_level = (PADRINO_LOG_LEVEL || Padrino.env || :test).to_sym # need this for PADRINO_LOG_LEVEL
134
+ config = Config[config_level]
135
+ stream = case config[:stream]
136
+ when :to_file
137
+ FileUtils.mkdir_p(Padrino.root("log")) unless File.exists?(Padrino.root("log"))
138
+ File.new(Padrino.root("log", "#{Padrino.env}.log"), "a+")
139
+ when :null then StringIO.new
140
+ when :stdout then $stdout
141
+ when :stderr then $stderr
142
+ else config[:stream] # return itself, probabilly is a custom stream.
143
+ end
144
+ Thread.current[:padrino_logger] = Padrino::Logger.new(config.merge(:stream => stream))
145
+ end
146
+
147
+ ##
148
+ # To initialize the logger you create a new object, proxies to set_log.
149
+ #
150
+ # ==== Options
151
+ #
152
+ # :stream:: Either an IO object or a name of a logfile. Defaults to $stdout
153
+ # :log_level::
154
+ # The log level from, e.g. :fatal or :info. Defaults to :debug in the
155
+ # production environment and :debug otherwise.
156
+ # :auto_flush::
157
+ # Whether the log should automatically flush after new messages are
158
+ # added. Defaults to true.
159
+ # :format_datetime:: Format of datetime. Defaults to: "%d/%b/%Y %H:%M:%S"
160
+ # :format_message:: Format of message. Defaults to: ""%s - - [%s] \"%s\"""
161
+ # :log_static:: Whether or not to show log messages for static files. Defaults to: false
162
+ #
163
+ def initialize(options={})
164
+ @buffer = []
165
+ @auto_flush = options.has_key?(:auto_flush) ? options[:auto_flush] : true
166
+ @level = options[:log_level] ? Levels[options[:log_level]] : Levels[:debug]
167
+ @log = options[:stream] || $stdout
168
+ @log.sync = true
169
+ @mutex = @@mutex[@log] ||= Mutex.new
170
+ @format_datetime = options[:format_datetime] || "%d/%b/%Y %H:%M:%S"
171
+ @format_message = options[:format_message] || "%s - [%s] \"%s\""
172
+ @log_static = options.has_key?(:log_static) ? options[:log_static] : false
173
+ end
174
+
175
+ ##
176
+ # Colorize our level
177
+ #
178
+ def colored_level(level)
179
+ style = ColoredLevels[level.to_s.downcase.to_sym].join("")
180
+ "#{style}#{level.to_s.upcase.rjust(7)}#{CLEAR}"
181
+ end
182
+
183
+ ##
184
+ # Set a color for our string. Color can be a symbol/string
185
+ #
186
+ def set_color(string, color, bold=false)
187
+ color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol)
188
+ bold = bold ? BOLD : ""
189
+ "#{bold}#{color}#{string}#{CLEAR}"
190
+ end
191
+
192
+ ##
193
+ # Flush the entire buffer to the log object.
194
+ #
195
+ def flush
196
+ return unless @buffer.size > 0
197
+ @mutex.synchronize do
198
+ @log.write(@buffer.slice!(0..-1).join(''))
199
+ end
200
+ end
201
+
202
+ ##
203
+ # Close and remove the current log object.
204
+ #
205
+ def close
206
+ flush
207
+ @log.close if @log.respond_to?(:close) && !@log.tty?
208
+ @log = nil
209
+ end
210
+
211
+ ##
212
+ # Appends a message to the log. The methods yield to an optional block and
213
+ # the output of this block will be appended to the message.
214
+ #
215
+ def push(message = nil, level = nil)
216
+ self << @format_message % [colored_level(level), set_color(Time.now.strftime(@format_datetime), :yellow), message.to_s.strip]
217
+ end
218
+
219
+ ##
220
+ # Directly append message to the log.
221
+ #
222
+ def <<(message = nil)
223
+ message << "\n" unless message[-1] == ?\n
224
+ @buffer << message
225
+ flush if @auto_flush
226
+ message
227
+ end
228
+ alias :write :<<
229
+
230
+ ##
231
+ # Generate the logging methods for Padrino.logger for each log level.
232
+ #
233
+ Levels.each_pair do |name, number|
234
+ class_eval <<-LEVELMETHODS, __FILE__, __LINE__
235
+
236
+ # Appends a message to the log if the log level is at least as high as
237
+ # the log level of the logger.
238
+ #
239
+ # ==== Parameters
240
+ # message:: The message to be logged. Defaults to nil.
241
+ #
242
+ # ==== Returns
243
+ # self:: The logger object for chaining.
244
+ def #{name}(message = nil)
245
+ if #{number} >= level
246
+ message = block_given? ? yield : message
247
+ self.push(message, :#{name}) if #{number} >= level
248
+ end
249
+ self
250
+ end
251
+
252
+ # Appends a message to the log if the log level is at least as high as
253
+ # the log level of the logger. The bang! version of the method also auto
254
+ # flushes the log buffer to disk.
255
+ #
256
+ # ==== Parameters
257
+ # message:: The message to be logged. Defaults to nil.
258
+ #
259
+ # ==== Returns
260
+ # self:: The logger object for chaining.
261
+ def #{name}!(message = nil)
262
+ if #{number} >= level
263
+ message = block_given? ? yield : message
264
+ self.push(message, :#{name}) if #{number} >= level
265
+ flush if #{number} >= level
266
+ end
267
+ self
268
+ end
269
+
270
+ # ==== Returns
271
+ # Boolean:: True if this level will be logged by this logger.
272
+ def #{name}?
273
+ #{number} >= level
274
+ end
275
+ LEVELMETHODS
276
+ end
277
+
278
+ ##
279
+ # Padrino::Loggger::Rack forwards every request to an +app+ given, and
280
+ # logs a line in the Apache common log format to the +logger+, or
281
+ # rack.errors by default.
282
+ #
283
+ class Rack
284
+ ##
285
+ # Common Log Format: http://httpd.apache.org/docs/1.3/logs.html#common
286
+ # "lilith.local - - GET / HTTP/1.1 500 -"
287
+ # %{%s - %s %s %s%s %s - %d %s %0.4f}
288
+ #
289
+ FORMAT = %{%s (%0.4fms) %s - %s %s%s%s %s - %d %s}
290
+
291
+ def initialize(app, uri_root)
292
+ @app = app
293
+ @uri_root = uri_root.sub(/\/$/,"")
294
+ end
295
+
296
+ def call(env)
297
+ env['rack.logger'] = Padrino.logger
298
+ env['rack.errors'] = Padrino.logger.log
299
+ began_at = Time.now
300
+ status, header, body = @app.call(env)
301
+ log(env, status, header, began_at)
302
+ [status, header, body]
303
+ end
304
+
305
+ private
306
+ def log(env, status, header, began_at)
307
+ now = Time.now
308
+ length = extract_content_length(header)
309
+
310
+ return if env['sinatra.static_file'] and !logger.log_static
311
+
312
+ logger.debug FORMAT % [
313
+ env["REQUEST_METHOD"],
314
+ now - began_at,
315
+ env['HTTP_X_FORWARDED_FOR'] || env["REMOTE_ADDR"] || "-",
316
+ env["REMOTE_USER"] || "-",
317
+ @uri_root || "",
318
+ env["PATH_INFO"],
319
+ env["QUERY_STRING"].empty? ? "" : "?" + env["QUERY_STRING"],
320
+ env["HTTP_VERSION"],
321
+ status.to_s[0..3],
322
+ length]
323
+ end
324
+
325
+ def extract_content_length(headers)
326
+ headers.each do |key, value|
327
+ if key.downcase == 'content-length'
328
+ return value.to_s == '0' ? '-' : value
329
+ end
330
+ end
331
+ '-'
332
+ end
333
+ end # Rack
334
+ end # Logger
335
+ end # Padrino
336
+
337
+ module Kernel #:nodoc:
338
+ ##
339
+ # Define a logger available every where in our app
340
+ #
341
+ def logger
342
+ Padrino.logger
343
+ end
344
+ end # Kernel