logster 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (245) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/Guardfile +8 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +38 -0
  7. data/Rakefile +18 -0
  8. data/assets/javascript/app.js +377 -0
  9. data/assets/javascript/external/ember.js +44267 -0
  10. data/assets/javascript/external/ember.min.js +19 -0
  11. data/assets/javascript/external/handlebars.min.js +28 -0
  12. data/assets/javascript/external/jquery.min.js +5 -0
  13. data/assets/javascript/external/lodash.min.js +56 -0
  14. data/assets/javascript/external/moment.min.js +6 -0
  15. data/assets/javascript/templates/application.handlebars +1 -0
  16. data/assets/javascript/templates/index.handlebars +48 -0
  17. data/assets/javascript/templates/message.handlebars +7 -0
  18. data/assets/stylesheets/app.css +188 -0
  19. data/bower_components/ember/.bower.json +22 -0
  20. data/bower_components/ember/.gitignore +5 -0
  21. data/bower_components/ember/Makefile +9 -0
  22. data/bower_components/ember/README.md +12 -0
  23. data/bower_components/ember/bower.json +11 -0
  24. data/bower_components/ember/component.json +13 -0
  25. data/bower_components/ember/composer.json +27 -0
  26. data/bower_components/ember/ember-template-compiler.js +320 -0
  27. data/bower_components/ember/ember.js +44267 -0
  28. data/bower_components/ember/ember.min.js +19 -0
  29. data/bower_components/ember/ember.prod.js +42649 -0
  30. data/bower_components/ember/package.json +11 -0
  31. data/bower_components/handlebars/.bower.json +16 -0
  32. data/bower_components/handlebars/.gitignore +2 -0
  33. data/bower_components/handlebars/README.md +11 -0
  34. data/bower_components/handlebars/bower.json +6 -0
  35. data/bower_components/handlebars/component.json +9 -0
  36. data/bower_components/handlebars/composer.json +35 -0
  37. data/bower_components/handlebars/handlebars-source.gemspec +21 -0
  38. data/bower_components/handlebars/handlebars.amd.js +2719 -0
  39. data/bower_components/handlebars/handlebars.amd.min.js +28 -0
  40. data/bower_components/handlebars/handlebars.js +2746 -0
  41. data/bower_components/handlebars/handlebars.js.nuspec +17 -0
  42. data/bower_components/handlebars/handlebars.min.js +28 -0
  43. data/bower_components/handlebars/handlebars.runtime.amd.js +515 -0
  44. data/bower_components/handlebars/handlebars.runtime.amd.min.js +27 -0
  45. data/bower_components/handlebars/handlebars.runtime.js +530 -0
  46. data/bower_components/handlebars/handlebars.runtime.min.js +27 -0
  47. data/bower_components/handlebars/lib/handlebars/source.rb +11 -0
  48. data/bower_components/jquery/.bower.json +37 -0
  49. data/bower_components/jquery/MIT-LICENSE.txt +21 -0
  50. data/bower_components/jquery/bower.json +27 -0
  51. data/bower_components/jquery/dist/jquery.js +9111 -0
  52. data/bower_components/jquery/dist/jquery.min.js +5 -0
  53. data/bower_components/jquery/dist/jquery.min.map +1 -0
  54. data/bower_components/jquery/src/ajax.js +806 -0
  55. data/bower_components/jquery/src/ajax/jsonp.js +89 -0
  56. data/bower_components/jquery/src/ajax/load.js +75 -0
  57. data/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  58. data/bower_components/jquery/src/ajax/parseXML.js +28 -0
  59. data/bower_components/jquery/src/ajax/script.js +64 -0
  60. data/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  61. data/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  62. data/bower_components/jquery/src/ajax/xhr.js +130 -0
  63. data/bower_components/jquery/src/attributes.js +11 -0
  64. data/bower_components/jquery/src/attributes/attr.js +143 -0
  65. data/bower_components/jquery/src/attributes/classes.js +158 -0
  66. data/bower_components/jquery/src/attributes/prop.js +96 -0
  67. data/bower_components/jquery/src/attributes/support.js +35 -0
  68. data/bower_components/jquery/src/attributes/val.js +153 -0
  69. data/bower_components/jquery/src/callbacks.js +205 -0
  70. data/bower_components/jquery/src/core.js +500 -0
  71. data/bower_components/jquery/src/core/access.js +60 -0
  72. data/bower_components/jquery/src/core/init.js +123 -0
  73. data/bower_components/jquery/src/core/parseHTML.js +39 -0
  74. data/bower_components/jquery/src/core/ready.js +96 -0
  75. data/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  76. data/bower_components/jquery/src/css.js +455 -0
  77. data/bower_components/jquery/src/css/addGetHookIf.js +24 -0
  78. data/bower_components/jquery/src/css/curCSS.js +57 -0
  79. data/bower_components/jquery/src/css/defaultDisplay.js +69 -0
  80. data/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  81. data/bower_components/jquery/src/css/support.js +83 -0
  82. data/bower_components/jquery/src/css/swap.js +28 -0
  83. data/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  84. data/bower_components/jquery/src/css/var/getStyles.js +5 -0
  85. data/bower_components/jquery/src/css/var/isHidden.js +13 -0
  86. data/bower_components/jquery/src/css/var/rmargin.js +3 -0
  87. data/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  88. data/bower_components/jquery/src/data.js +175 -0
  89. data/bower_components/jquery/src/data/Data.js +181 -0
  90. data/bower_components/jquery/src/data/accepts.js +20 -0
  91. data/bower_components/jquery/src/data/var/data_priv.js +5 -0
  92. data/bower_components/jquery/src/data/var/data_user.js +5 -0
  93. data/bower_components/jquery/src/deferred.js +149 -0
  94. data/bower_components/jquery/src/deprecated.js +13 -0
  95. data/bower_components/jquery/src/dimensions.js +50 -0
  96. data/bower_components/jquery/src/effects.js +642 -0
  97. data/bower_components/jquery/src/effects/Tween.js +114 -0
  98. data/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  99. data/bower_components/jquery/src/event.js +859 -0
  100. data/bower_components/jquery/src/event/alias.js +39 -0
  101. data/bower_components/jquery/src/event/support.js +9 -0
  102. data/bower_components/jquery/src/exports/amd.js +18 -0
  103. data/bower_components/jquery/src/exports/global.js +32 -0
  104. data/bower_components/jquery/src/intro.js +44 -0
  105. data/bower_components/jquery/src/jquery.js +36 -0
  106. data/bower_components/jquery/src/manipulation.js +583 -0
  107. data/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  108. data/bower_components/jquery/src/manipulation/support.js +24 -0
  109. data/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  110. data/bower_components/jquery/src/offset.js +204 -0
  111. data/bower_components/jquery/src/outro.js +1 -0
  112. data/bower_components/jquery/src/queue.js +142 -0
  113. data/bower_components/jquery/src/queue/delay.js +22 -0
  114. data/bower_components/jquery/src/selector-native.js +171 -0
  115. data/bower_components/jquery/src/selector-sizzle.js +14 -0
  116. data/bower_components/jquery/src/selector.js +1 -0
  117. data/bower_components/jquery/src/serialize.js +111 -0
  118. data/bower_components/jquery/src/sizzle/dist/sizzle.js +2015 -0
  119. data/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  120. data/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  121. data/bower_components/jquery/src/traversing.js +200 -0
  122. data/bower_components/jquery/src/traversing/findFilter.js +100 -0
  123. data/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  124. data/bower_components/jquery/src/var/arr.js +3 -0
  125. data/bower_components/jquery/src/var/class2type.js +4 -0
  126. data/bower_components/jquery/src/var/concat.js +5 -0
  127. data/bower_components/jquery/src/var/hasOwn.js +5 -0
  128. data/bower_components/jquery/src/var/indexOf.js +5 -0
  129. data/bower_components/jquery/src/var/pnum.js +3 -0
  130. data/bower_components/jquery/src/var/push.js +5 -0
  131. data/bower_components/jquery/src/var/rnotwhite.js +3 -0
  132. data/bower_components/jquery/src/var/slice.js +5 -0
  133. data/bower_components/jquery/src/var/strundefined.js +3 -0
  134. data/bower_components/jquery/src/var/support.js +4 -0
  135. data/bower_components/jquery/src/var/toString.js +5 -0
  136. data/bower_components/jquery/src/var/trim.js +3 -0
  137. data/bower_components/jquery/src/wrap.js +78 -0
  138. data/bower_components/lodash/.bower.json +34 -0
  139. data/bower_components/lodash/LICENSE.txt +22 -0
  140. data/bower_components/lodash/bower.json +23 -0
  141. data/bower_components/lodash/dist/lodash.compat.js +7157 -0
  142. data/bower_components/lodash/dist/lodash.compat.min.js +61 -0
  143. data/bower_components/lodash/dist/lodash.js +6785 -0
  144. data/bower_components/lodash/dist/lodash.min.js +56 -0
  145. data/bower_components/lodash/dist/lodash.underscore.js +4979 -0
  146. data/bower_components/lodash/dist/lodash.underscore.min.js +39 -0
  147. data/bower_components/moment/.bower.json +31 -0
  148. data/bower_components/moment/LICENSE +22 -0
  149. data/bower_components/moment/bower.json +20 -0
  150. data/bower_components/moment/lang/ar-ma.js +56 -0
  151. data/bower_components/moment/lang/ar.js +56 -0
  152. data/bower_components/moment/lang/bg.js +86 -0
  153. data/bower_components/moment/lang/br.js +107 -0
  154. data/bower_components/moment/lang/bs.js +139 -0
  155. data/bower_components/moment/lang/ca.js +66 -0
  156. data/bower_components/moment/lang/cs.js +155 -0
  157. data/bower_components/moment/lang/cv.js +59 -0
  158. data/bower_components/moment/lang/cy.js +77 -0
  159. data/bower_components/moment/lang/da.js +56 -0
  160. data/bower_components/moment/lang/de.js +71 -0
  161. data/bower_components/moment/lang/el.js +79 -0
  162. data/bower_components/moment/lang/en-au.js +62 -0
  163. data/bower_components/moment/lang/en-ca.js +59 -0
  164. data/bower_components/moment/lang/en-gb.js +63 -0
  165. data/bower_components/moment/lang/eo.js +65 -0
  166. data/bower_components/moment/lang/es.js +75 -0
  167. data/bower_components/moment/lang/et.js +76 -0
  168. data/bower_components/moment/lang/eu.js +60 -0
  169. data/bower_components/moment/lang/fa.js +97 -0
  170. data/bower_components/moment/lang/fi.js +103 -0
  171. data/bower_components/moment/lang/fo.js +56 -0
  172. data/bower_components/moment/lang/fr-ca.js +54 -0
  173. data/bower_components/moment/lang/fr.js +58 -0
  174. data/bower_components/moment/lang/gl.js +71 -0
  175. data/bower_components/moment/lang/he.js +77 -0
  176. data/bower_components/moment/lang/hi.js +105 -0
  177. data/bower_components/moment/lang/hr.js +140 -0
  178. data/bower_components/moment/lang/hu.js +105 -0
  179. data/bower_components/moment/lang/hy-am.js +113 -0
  180. data/bower_components/moment/lang/id.js +67 -0
  181. data/bower_components/moment/lang/is.js +124 -0
  182. data/bower_components/moment/lang/it.js +59 -0
  183. data/bower_components/moment/lang/ja.js +58 -0
  184. data/bower_components/moment/lang/ka.js +108 -0
  185. data/bower_components/moment/lang/km.js +55 -0
  186. data/bower_components/moment/lang/ko.js +63 -0
  187. data/bower_components/moment/lang/lb.js +160 -0
  188. data/bower_components/moment/lang/lt.js +118 -0
  189. data/bower_components/moment/lang/lv.js +77 -0
  190. data/bower_components/moment/lang/mk.js +86 -0
  191. data/bower_components/moment/lang/ml.js +64 -0
  192. data/bower_components/moment/lang/mr.js +104 -0
  193. data/bower_components/moment/lang/ms-my.js +66 -0
  194. data/bower_components/moment/lang/nb.js +57 -0
  195. data/bower_components/moment/lang/ne.js +105 -0
  196. data/bower_components/moment/lang/nl.js +67 -0
  197. data/bower_components/moment/lang/nn.js +56 -0
  198. data/bower_components/moment/lang/pl.js +98 -0
  199. data/bower_components/moment/lang/pt-br.js +56 -0
  200. data/bower_components/moment/lang/pt.js +60 -0
  201. data/bower_components/moment/lang/ro.js +72 -0
  202. data/bower_components/moment/lang/ru.js +163 -0
  203. data/bower_components/moment/lang/sk.js +156 -0
  204. data/bower_components/moment/lang/sl.js +144 -0
  205. data/bower_components/moment/lang/sq.js +61 -0
  206. data/bower_components/moment/lang/sr-cyr.js +106 -0
  207. data/bower_components/moment/lang/sr.js +106 -0
  208. data/bower_components/moment/lang/sv.js +63 -0
  209. data/bower_components/moment/lang/ta.js +112 -0
  210. data/bower_components/moment/lang/th.js +58 -0
  211. data/bower_components/moment/lang/tl-ph.js +58 -0
  212. data/bower_components/moment/lang/tr.js +93 -0
  213. data/bower_components/moment/lang/tzm-la.js +55 -0
  214. data/bower_components/moment/lang/tzm.js +55 -0
  215. data/bower_components/moment/lang/uk.js +157 -0
  216. data/bower_components/moment/lang/uz.js +55 -0
  217. data/bower_components/moment/lang/vi.js +62 -0
  218. data/bower_components/moment/lang/zh-cn.js +108 -0
  219. data/bower_components/moment/lang/zh-tw.js +84 -0
  220. data/bower_components/moment/min/langs.js +5991 -0
  221. data/bower_components/moment/min/langs.min.js +3 -0
  222. data/bower_components/moment/min/moment-with-langs.js +7993 -0
  223. data/bower_components/moment/min/moment-with-langs.min.js +9 -0
  224. data/bower_components/moment/min/moment.min.js +6 -0
  225. data/bower_components/moment/moment.js +2489 -0
  226. data/bower_components/moment/readme.md +368 -0
  227. data/lib/logster.rb +9 -0
  228. data/lib/logster/logger.rb +31 -0
  229. data/lib/logster/message.rb +42 -0
  230. data/lib/logster/middleware/reporter.rb +13 -0
  231. data/lib/logster/middleware/viewer.rb +122 -0
  232. data/lib/logster/rails/railtie.rb +39 -0
  233. data/lib/logster/redis_store.rb +124 -0
  234. data/lib/logster/version.rb +3 -0
  235. data/logster.gemspec +30 -0
  236. data/test/logster/middleware/test_viewer.rb +34 -0
  237. data/test/logster/test_redis_store.rb +112 -0
  238. data/test/test_helper.rb +6 -0
  239. data/website/Gemfile +6 -0
  240. data/website/config.ru +2 -0
  241. data/website/data/data.json +1 -0
  242. data/website/docker_container/logster.yml +95 -0
  243. data/website/sample.rb +85 -0
  244. data/website/scripts/persist_logs.rb +13 -0
  245. metadata +375 -0
@@ -0,0 +1,55 @@
1
+ // moment.js language configuration
2
+ // language : Morocco Central Atlas Tamaziɣt in Latin (tzm-la)
3
+ // author : Abdel Said : https://github.com/abdelsaid
4
+
5
+ (function (factory) {
6
+ if (typeof define === 'function' && define.amd) {
7
+ define(['moment'], factory); // AMD
8
+ } else if (typeof exports === 'object') {
9
+ module.exports = factory(require('../moment')); // Node
10
+ } else {
11
+ factory(window.moment); // Browser global
12
+ }
13
+ }(function (moment) {
14
+ return moment.lang('tzm-la', {
15
+ months : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
16
+ monthsShort : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
17
+ weekdays : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
18
+ weekdaysShort : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
19
+ weekdaysMin : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
20
+ longDateFormat : {
21
+ LT : "HH:mm",
22
+ L : "DD/MM/YYYY",
23
+ LL : "D MMMM YYYY",
24
+ LLL : "D MMMM YYYY LT",
25
+ LLLL : "dddd D MMMM YYYY LT"
26
+ },
27
+ calendar : {
28
+ sameDay: "[asdkh g] LT",
29
+ nextDay: '[aska g] LT',
30
+ nextWeek: 'dddd [g] LT',
31
+ lastDay: '[assant g] LT',
32
+ lastWeek: 'dddd [g] LT',
33
+ sameElse: 'L'
34
+ },
35
+ relativeTime : {
36
+ future : "dadkh s yan %s",
37
+ past : "yan %s",
38
+ s : "imik",
39
+ m : "minuḍ",
40
+ mm : "%d minuḍ",
41
+ h : "saɛa",
42
+ hh : "%d tassaɛin",
43
+ d : "ass",
44
+ dd : "%d ossan",
45
+ M : "ayowr",
46
+ MM : "%d iyyirn",
47
+ y : "asgas",
48
+ yy : "%d isgasn"
49
+ },
50
+ week : {
51
+ dow : 6, // Saturday is the first day of the week.
52
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
53
+ }
54
+ });
55
+ }));
@@ -0,0 +1,55 @@
1
+ // moment.js language configuration
2
+ // language : Morocco Central Atlas Tamaziɣt (tzm)
3
+ // author : Abdel Said : https://github.com/abdelsaid
4
+
5
+ (function (factory) {
6
+ if (typeof define === 'function' && define.amd) {
7
+ define(['moment'], factory); // AMD
8
+ } else if (typeof exports === 'object') {
9
+ module.exports = factory(require('../moment')); // Node
10
+ } else {
11
+ factory(window.moment); // Browser global
12
+ }
13
+ }(function (moment) {
14
+ return moment.lang('tzm', {
15
+ months : "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),
16
+ monthsShort : "ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),
17
+ weekdays : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
18
+ weekdaysShort : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
19
+ weekdaysMin : "ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),
20
+ longDateFormat : {
21
+ LT : "HH:mm",
22
+ L : "DD/MM/YYYY",
23
+ LL : "D MMMM YYYY",
24
+ LLL : "D MMMM YYYY LT",
25
+ LLLL : "dddd D MMMM YYYY LT"
26
+ },
27
+ calendar : {
28
+ sameDay: "[ⴰⵙⴷⵅ ⴴ] LT",
29
+ nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
30
+ nextWeek: 'dddd [ⴴ] LT',
31
+ lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
32
+ lastWeek: 'dddd [ⴴ] LT',
33
+ sameElse: 'L'
34
+ },
35
+ relativeTime : {
36
+ future : "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",
37
+ past : "ⵢⴰⵏ %s",
38
+ s : "ⵉⵎⵉⴽ",
39
+ m : "ⵎⵉⵏⵓⴺ",
40
+ mm : "%d ⵎⵉⵏⵓⴺ",
41
+ h : "ⵙⴰⵄⴰ",
42
+ hh : "%d ⵜⴰⵙⵙⴰⵄⵉⵏ",
43
+ d : "ⴰⵙⵙ",
44
+ dd : "%d oⵙⵙⴰⵏ",
45
+ M : "ⴰⵢoⵓⵔ",
46
+ MM : "%d ⵉⵢⵢⵉⵔⵏ",
47
+ y : "ⴰⵙⴳⴰⵙ",
48
+ yy : "%d ⵉⵙⴳⴰⵙⵏ"
49
+ },
50
+ week : {
51
+ dow : 6, // Saturday is the first day of the week.
52
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
53
+ }
54
+ });
55
+ }));
@@ -0,0 +1,157 @@
1
+ // moment.js language configuration
2
+ // language : ukrainian (uk)
3
+ // author : zemlanin : https://github.com/zemlanin
4
+ // Author : Menelion Elensúle : https://github.com/Oire
5
+
6
+ (function (factory) {
7
+ if (typeof define === 'function' && define.amd) {
8
+ define(['moment'], factory); // AMD
9
+ } else if (typeof exports === 'object') {
10
+ module.exports = factory(require('../moment')); // Node
11
+ } else {
12
+ factory(window.moment); // Browser global
13
+ }
14
+ }(function (moment) {
15
+ function plural(word, num) {
16
+ var forms = word.split('_');
17
+ return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
18
+ }
19
+
20
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
21
+ var format = {
22
+ 'mm': 'хвилина_хвилини_хвилин',
23
+ 'hh': 'година_години_годин',
24
+ 'dd': 'день_дні_днів',
25
+ 'MM': 'місяць_місяці_місяців',
26
+ 'yy': 'рік_роки_років'
27
+ };
28
+ if (key === 'm') {
29
+ return withoutSuffix ? 'хвилина' : 'хвилину';
30
+ }
31
+ else if (key === 'h') {
32
+ return withoutSuffix ? 'година' : 'годину';
33
+ }
34
+ else {
35
+ return number + ' ' + plural(format[key], +number);
36
+ }
37
+ }
38
+
39
+ function monthsCaseReplace(m, format) {
40
+ var months = {
41
+ 'nominative': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_'),
42
+ 'accusative': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_')
43
+ },
44
+
45
+ nounCase = (/D[oD]? *MMMM?/).test(format) ?
46
+ 'accusative' :
47
+ 'nominative';
48
+
49
+ return months[nounCase][m.month()];
50
+ }
51
+
52
+ function weekdaysCaseReplace(m, format) {
53
+ var weekdays = {
54
+ 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
55
+ 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
56
+ 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
57
+ },
58
+
59
+ nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
60
+ 'accusative' :
61
+ ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
62
+ 'genitive' :
63
+ 'nominative');
64
+
65
+ return weekdays[nounCase][m.day()];
66
+ }
67
+
68
+ function processHoursFunction(str) {
69
+ return function () {
70
+ return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
71
+ };
72
+ }
73
+
74
+ return moment.lang('uk', {
75
+ months : monthsCaseReplace,
76
+ monthsShort : "січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),
77
+ weekdays : weekdaysCaseReplace,
78
+ weekdaysShort : "нд_пн_вт_ср_чт_пт_сб".split("_"),
79
+ weekdaysMin : "нд_пн_вт_ср_чт_пт_сб".split("_"),
80
+ longDateFormat : {
81
+ LT : "HH:mm",
82
+ L : "DD.MM.YYYY",
83
+ LL : "D MMMM YYYY р.",
84
+ LLL : "D MMMM YYYY р., LT",
85
+ LLLL : "dddd, D MMMM YYYY р., LT"
86
+ },
87
+ calendar : {
88
+ sameDay: processHoursFunction('[Сьогодні '),
89
+ nextDay: processHoursFunction('[Завтра '),
90
+ lastDay: processHoursFunction('[Вчора '),
91
+ nextWeek: processHoursFunction('[У] dddd ['),
92
+ lastWeek: function () {
93
+ switch (this.day()) {
94
+ case 0:
95
+ case 3:
96
+ case 5:
97
+ case 6:
98
+ return processHoursFunction('[Минулої] dddd [').call(this);
99
+ case 1:
100
+ case 2:
101
+ case 4:
102
+ return processHoursFunction('[Минулого] dddd [').call(this);
103
+ }
104
+ },
105
+ sameElse: 'L'
106
+ },
107
+ relativeTime : {
108
+ future : "за %s",
109
+ past : "%s тому",
110
+ s : "декілька секунд",
111
+ m : relativeTimeWithPlural,
112
+ mm : relativeTimeWithPlural,
113
+ h : "годину",
114
+ hh : relativeTimeWithPlural,
115
+ d : "день",
116
+ dd : relativeTimeWithPlural,
117
+ M : "місяць",
118
+ MM : relativeTimeWithPlural,
119
+ y : "рік",
120
+ yy : relativeTimeWithPlural
121
+ },
122
+
123
+ // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
124
+
125
+ meridiem : function (hour, minute, isLower) {
126
+ if (hour < 4) {
127
+ return "ночі";
128
+ } else if (hour < 12) {
129
+ return "ранку";
130
+ } else if (hour < 17) {
131
+ return "дня";
132
+ } else {
133
+ return "вечора";
134
+ }
135
+ },
136
+
137
+ ordinal: function (number, period) {
138
+ switch (period) {
139
+ case 'M':
140
+ case 'd':
141
+ case 'DDD':
142
+ case 'w':
143
+ case 'W':
144
+ return number + '-й';
145
+ case 'D':
146
+ return number + '-го';
147
+ default:
148
+ return number;
149
+ }
150
+ },
151
+
152
+ week : {
153
+ dow : 1, // Monday is the first day of the week.
154
+ doy : 7 // The week that contains Jan 1st is the first week of the year.
155
+ }
156
+ });
157
+ }));
@@ -0,0 +1,55 @@
1
+ // moment.js language configuration
2
+ // language : uzbek
3
+ // author : Sardor Muminov : https://github.com/muminoff
4
+
5
+ (function (factory) {
6
+ if (typeof define === 'function' && define.amd) {
7
+ define(['moment'], factory); // AMD
8
+ } else if (typeof exports === 'object') {
9
+ module.exports = factory(require('../moment')); // Node
10
+ } else {
11
+ factory(window.moment); // Browser global
12
+ }
13
+ }(function (moment) {
14
+ return moment.lang('uz', {
15
+ months : "январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),
16
+ monthsShort : "янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),
17
+ weekdays : "Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),
18
+ weekdaysShort : "Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),
19
+ weekdaysMin : "Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),
20
+ longDateFormat : {
21
+ LT : "HH:mm",
22
+ L : "DD/MM/YYYY",
23
+ LL : "D MMMM YYYY",
24
+ LLL : "D MMMM YYYY LT",
25
+ LLLL : "D MMMM YYYY, dddd LT"
26
+ },
27
+ calendar : {
28
+ sameDay : '[Бугун соат] LT [да]',
29
+ nextDay : '[Эртага] LT [да]',
30
+ nextWeek : 'dddd [куни соат] LT [да]',
31
+ lastDay : '[Кеча соат] LT [да]',
32
+ lastWeek : '[Утган] dddd [куни соат] LT [да]',
33
+ sameElse : 'L'
34
+ },
35
+ relativeTime : {
36
+ future : "Якин %s ичида",
37
+ past : "Бир неча %s олдин",
38
+ s : "фурсат",
39
+ m : "бир дакика",
40
+ mm : "%d дакика",
41
+ h : "бир соат",
42
+ hh : "%d соат",
43
+ d : "бир кун",
44
+ dd : "%d кун",
45
+ M : "бир ой",
46
+ MM : "%d ой",
47
+ y : "бир йил",
48
+ yy : "%d йил"
49
+ },
50
+ week : {
51
+ dow : 1, // Monday is the first day of the week.
52
+ doy : 7 // The week that contains Jan 4th is the first week of the year.
53
+ }
54
+ });
55
+ }));
@@ -0,0 +1,62 @@
1
+ // moment.js language configuration
2
+ // language : vietnamese (vi)
3
+ // author : Bang Nguyen : https://github.com/bangnk
4
+
5
+ (function (factory) {
6
+ if (typeof define === 'function' && define.amd) {
7
+ define(['moment'], factory); // AMD
8
+ } else if (typeof exports === 'object') {
9
+ module.exports = factory(require('../moment')); // Node
10
+ } else {
11
+ factory(window.moment); // Browser global
12
+ }
13
+ }(function (moment) {
14
+ return moment.lang('vi', {
15
+ months : "tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),
16
+ monthsShort : "Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),
17
+ weekdays : "chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),
18
+ weekdaysShort : "CN_T2_T3_T4_T5_T6_T7".split("_"),
19
+ weekdaysMin : "CN_T2_T3_T4_T5_T6_T7".split("_"),
20
+ longDateFormat : {
21
+ LT : "HH:mm",
22
+ L : "DD/MM/YYYY",
23
+ LL : "D MMMM [năm] YYYY",
24
+ LLL : "D MMMM [năm] YYYY LT",
25
+ LLLL : "dddd, D MMMM [năm] YYYY LT",
26
+ l : "DD/M/YYYY",
27
+ ll : "D MMM YYYY",
28
+ lll : "D MMM YYYY LT",
29
+ llll : "ddd, D MMM YYYY LT"
30
+ },
31
+ calendar : {
32
+ sameDay: "[Hôm nay lúc] LT",
33
+ nextDay: '[Ngày mai lúc] LT',
34
+ nextWeek: 'dddd [tuần tới lúc] LT',
35
+ lastDay: '[Hôm qua lúc] LT',
36
+ lastWeek: 'dddd [tuần rồi lúc] LT',
37
+ sameElse: 'L'
38
+ },
39
+ relativeTime : {
40
+ future : "%s tới",
41
+ past : "%s trước",
42
+ s : "vài giây",
43
+ m : "một phút",
44
+ mm : "%d phút",
45
+ h : "một giờ",
46
+ hh : "%d giờ",
47
+ d : "một ngày",
48
+ dd : "%d ngày",
49
+ M : "một tháng",
50
+ MM : "%d tháng",
51
+ y : "một năm",
52
+ yy : "%d năm"
53
+ },
54
+ ordinal : function (number) {
55
+ return number;
56
+ },
57
+ week : {
58
+ dow : 1, // Monday is the first day of the week.
59
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
60
+ }
61
+ });
62
+ }));
@@ -0,0 +1,108 @@
1
+ // moment.js language configuration
2
+ // language : chinese
3
+ // author : suupic : https://github.com/suupic
4
+ // author : Zeno Zeng : https://github.com/zenozeng
5
+
6
+ (function (factory) {
7
+ if (typeof define === 'function' && define.amd) {
8
+ define(['moment'], factory); // AMD
9
+ } else if (typeof exports === 'object') {
10
+ module.exports = factory(require('../moment')); // Node
11
+ } else {
12
+ factory(window.moment); // Browser global
13
+ }
14
+ }(function (moment) {
15
+ return moment.lang('zh-cn', {
16
+ months : "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
17
+ monthsShort : "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
18
+ weekdays : "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
19
+ weekdaysShort : "周日_周一_周二_周三_周四_周五_周六".split("_"),
20
+ weekdaysMin : "日_一_二_三_四_五_六".split("_"),
21
+ longDateFormat : {
22
+ LT : "Ah点mm",
23
+ L : "YYYY-MM-DD",
24
+ LL : "YYYY年MMMD日",
25
+ LLL : "YYYY年MMMD日LT",
26
+ LLLL : "YYYY年MMMD日ddddLT",
27
+ l : "YYYY-MM-DD",
28
+ ll : "YYYY年MMMD日",
29
+ lll : "YYYY年MMMD日LT",
30
+ llll : "YYYY年MMMD日ddddLT"
31
+ },
32
+ meridiem : function (hour, minute, isLower) {
33
+ var hm = hour * 100 + minute;
34
+ if (hm < 600) {
35
+ return "凌晨";
36
+ } else if (hm < 900) {
37
+ return "早上";
38
+ } else if (hm < 1130) {
39
+ return "上午";
40
+ } else if (hm < 1230) {
41
+ return "中午";
42
+ } else if (hm < 1800) {
43
+ return "下午";
44
+ } else {
45
+ return "晚上";
46
+ }
47
+ },
48
+ calendar : {
49
+ sameDay : function () {
50
+ return this.minutes() === 0 ? "[今天]Ah[点整]" : "[今天]LT";
51
+ },
52
+ nextDay : function () {
53
+ return this.minutes() === 0 ? "[明天]Ah[点整]" : "[明天]LT";
54
+ },
55
+ lastDay : function () {
56
+ return this.minutes() === 0 ? "[昨天]Ah[点整]" : "[昨天]LT";
57
+ },
58
+ nextWeek : function () {
59
+ var startOfWeek, prefix;
60
+ startOfWeek = moment().startOf('week');
61
+ prefix = this.unix() - startOfWeek.unix() >= 7 * 24 * 3600 ? '[下]' : '[本]';
62
+ return this.minutes() === 0 ? prefix + "dddAh点整" : prefix + "dddAh点mm";
63
+ },
64
+ lastWeek : function () {
65
+ var startOfWeek, prefix;
66
+ startOfWeek = moment().startOf('week');
67
+ prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';
68
+ return this.minutes() === 0 ? prefix + "dddAh点整" : prefix + "dddAh点mm";
69
+ },
70
+ sameElse : 'LL'
71
+ },
72
+ ordinal : function (number, period) {
73
+ switch (period) {
74
+ case "d":
75
+ case "D":
76
+ case "DDD":
77
+ return number + "日";
78
+ case "M":
79
+ return number + "月";
80
+ case "w":
81
+ case "W":
82
+ return number + "周";
83
+ default:
84
+ return number;
85
+ }
86
+ },
87
+ relativeTime : {
88
+ future : "%s内",
89
+ past : "%s前",
90
+ s : "几秒",
91
+ m : "1分钟",
92
+ mm : "%d分钟",
93
+ h : "1小时",
94
+ hh : "%d小时",
95
+ d : "1天",
96
+ dd : "%d天",
97
+ M : "1个月",
98
+ MM : "%d个月",
99
+ y : "1年",
100
+ yy : "%d年"
101
+ },
102
+ week : {
103
+ // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
104
+ dow : 1, // Monday is the first day of the week.
105
+ doy : 4 // The week that contains Jan 4th is the first week of the year.
106
+ }
107
+ });
108
+ }));