sidekiq 2.15.1 → 4.2.10

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

Files changed (187) hide show
  1. checksums.yaml +7 -0
  2. data/.github/contributing.md +32 -0
  3. data/.github/issue_template.md +9 -0
  4. data/.gitignore +1 -0
  5. data/.travis.yml +16 -17
  6. data/3.0-Upgrade.md +70 -0
  7. data/4.0-Upgrade.md +53 -0
  8. data/COMM-LICENSE +56 -44
  9. data/Changes.md +644 -1
  10. data/Ent-Changes.md +173 -0
  11. data/Gemfile +27 -0
  12. data/LICENSE +1 -1
  13. data/Pro-2.0-Upgrade.md +138 -0
  14. data/Pro-3.0-Upgrade.md +44 -0
  15. data/Pro-Changes.md +457 -3
  16. data/README.md +46 -29
  17. data/Rakefile +6 -3
  18. data/bin/sidekiq +4 -0
  19. data/bin/sidekiqctl +41 -20
  20. data/bin/sidekiqload +154 -0
  21. data/code_of_conduct.md +50 -0
  22. data/lib/generators/sidekiq/templates/worker.rb.erb +9 -0
  23. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +6 -0
  24. data/lib/generators/sidekiq/templates/worker_test.rb.erb +8 -0
  25. data/lib/generators/sidekiq/worker_generator.rb +49 -0
  26. data/lib/sidekiq.rb +141 -29
  27. data/lib/sidekiq/api.rb +540 -106
  28. data/lib/sidekiq/cli.rb +131 -71
  29. data/lib/sidekiq/client.rb +168 -96
  30. data/lib/sidekiq/core_ext.rb +36 -8
  31. data/lib/sidekiq/exception_handler.rb +20 -28
  32. data/lib/sidekiq/extensions/action_mailer.rb +25 -5
  33. data/lib/sidekiq/extensions/active_record.rb +8 -4
  34. data/lib/sidekiq/extensions/class_methods.rb +9 -5
  35. data/lib/sidekiq/extensions/generic_proxy.rb +1 -0
  36. data/lib/sidekiq/fetch.rb +45 -101
  37. data/lib/sidekiq/launcher.rb +144 -30
  38. data/lib/sidekiq/logging.rb +69 -12
  39. data/lib/sidekiq/manager.rb +90 -140
  40. data/lib/sidekiq/middleware/chain.rb +18 -5
  41. data/lib/sidekiq/middleware/i18n.rb +9 -2
  42. data/lib/sidekiq/middleware/server/active_record.rb +1 -1
  43. data/lib/sidekiq/middleware/server/logging.rb +11 -11
  44. data/lib/sidekiq/middleware/server/retry_jobs.rb +98 -44
  45. data/lib/sidekiq/paginator.rb +20 -8
  46. data/lib/sidekiq/processor.rb +157 -96
  47. data/lib/sidekiq/rails.rb +109 -5
  48. data/lib/sidekiq/redis_connection.rb +70 -24
  49. data/lib/sidekiq/scheduled.rb +122 -50
  50. data/lib/sidekiq/testing.rb +171 -31
  51. data/lib/sidekiq/testing/inline.rb +1 -0
  52. data/lib/sidekiq/util.rb +31 -5
  53. data/lib/sidekiq/version.rb +2 -1
  54. data/lib/sidekiq/web.rb +136 -263
  55. data/lib/sidekiq/web/action.rb +93 -0
  56. data/lib/sidekiq/web/application.rb +336 -0
  57. data/lib/sidekiq/web/helpers.rb +278 -0
  58. data/lib/sidekiq/web/router.rb +100 -0
  59. data/lib/sidekiq/worker.rb +40 -7
  60. data/sidekiq.gemspec +18 -14
  61. data/web/assets/images/favicon.ico +0 -0
  62. data/web/assets/images/{status-sd8051fd480.png → status.png} +0 -0
  63. data/web/assets/javascripts/application.js +67 -19
  64. data/web/assets/javascripts/dashboard.js +138 -29
  65. data/web/assets/stylesheets/application.css +267 -406
  66. data/web/assets/stylesheets/bootstrap.css +4 -8
  67. data/web/locales/cs.yml +78 -0
  68. data/web/locales/da.yml +9 -1
  69. data/web/locales/de.yml +18 -9
  70. data/web/locales/el.yml +68 -0
  71. data/web/locales/en.yml +19 -4
  72. data/web/locales/es.yml +10 -1
  73. data/web/locales/fa.yml +79 -0
  74. data/web/locales/fr.yml +50 -32
  75. data/web/locales/hi.yml +75 -0
  76. data/web/locales/it.yml +27 -18
  77. data/web/locales/ja.yml +27 -12
  78. data/web/locales/ko.yml +8 -3
  79. data/web/locales/{no.yml → nb.yml} +19 -5
  80. data/web/locales/nl.yml +8 -3
  81. data/web/locales/pl.yml +0 -1
  82. data/web/locales/pt-br.yml +11 -4
  83. data/web/locales/pt.yml +8 -1
  84. data/web/locales/ru.yml +39 -21
  85. data/web/locales/sv.yml +68 -0
  86. data/web/locales/ta.yml +75 -0
  87. data/web/locales/uk.yml +76 -0
  88. data/web/locales/zh-cn.yml +68 -0
  89. data/web/locales/zh-tw.yml +68 -0
  90. data/web/views/_footer.erb +17 -0
  91. data/web/views/_job_info.erb +72 -60
  92. data/web/views/_nav.erb +58 -25
  93. data/web/views/_paging.erb +5 -5
  94. data/web/views/_poll_link.erb +7 -0
  95. data/web/views/_summary.erb +20 -14
  96. data/web/views/busy.erb +94 -0
  97. data/web/views/dashboard.erb +34 -21
  98. data/web/views/dead.erb +34 -0
  99. data/web/views/layout.erb +8 -30
  100. data/web/views/morgue.erb +75 -0
  101. data/web/views/queue.erb +37 -30
  102. data/web/views/queues.erb +26 -20
  103. data/web/views/retries.erb +60 -47
  104. data/web/views/retry.erb +23 -19
  105. data/web/views/scheduled.erb +39 -35
  106. data/web/views/scheduled_job_info.erb +2 -1
  107. metadata +152 -195
  108. data/Contributing.md +0 -29
  109. data/config.ru +0 -18
  110. data/lib/sidekiq/actor.rb +0 -7
  111. data/lib/sidekiq/capistrano.rb +0 -54
  112. data/lib/sidekiq/yaml_patch.rb +0 -21
  113. data/test/config.yml +0 -11
  114. data/test/env_based_config.yml +0 -11
  115. data/test/fake_env.rb +0 -0
  116. data/test/helper.rb +0 -42
  117. data/test/test_api.rb +0 -341
  118. data/test/test_cli.rb +0 -326
  119. data/test/test_client.rb +0 -211
  120. data/test/test_exception_handler.rb +0 -124
  121. data/test/test_extensions.rb +0 -105
  122. data/test/test_fetch.rb +0 -44
  123. data/test/test_manager.rb +0 -83
  124. data/test/test_middleware.rb +0 -135
  125. data/test/test_processor.rb +0 -160
  126. data/test/test_redis_connection.rb +0 -97
  127. data/test/test_retry.rb +0 -306
  128. data/test/test_scheduled.rb +0 -86
  129. data/test/test_scheduling.rb +0 -47
  130. data/test/test_sidekiq.rb +0 -37
  131. data/test/test_testing.rb +0 -82
  132. data/test/test_testing_fake.rb +0 -265
  133. data/test/test_testing_inline.rb +0 -92
  134. data/test/test_util.rb +0 -18
  135. data/test/test_web.rb +0 -372
  136. data/web/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
  137. data/web/assets/images/bootstrap/glyphicons-halflings.png +0 -0
  138. data/web/assets/images/status/active.png +0 -0
  139. data/web/assets/images/status/idle.png +0 -0
  140. data/web/assets/javascripts/locales/README.md +0 -27
  141. data/web/assets/javascripts/locales/jquery.timeago.ar.js +0 -96
  142. data/web/assets/javascripts/locales/jquery.timeago.bg.js +0 -18
  143. data/web/assets/javascripts/locales/jquery.timeago.bs.js +0 -49
  144. data/web/assets/javascripts/locales/jquery.timeago.ca.js +0 -18
  145. data/web/assets/javascripts/locales/jquery.timeago.cy.js +0 -20
  146. data/web/assets/javascripts/locales/jquery.timeago.cz.js +0 -18
  147. data/web/assets/javascripts/locales/jquery.timeago.da.js +0 -18
  148. data/web/assets/javascripts/locales/jquery.timeago.de.js +0 -18
  149. data/web/assets/javascripts/locales/jquery.timeago.el.js +0 -18
  150. data/web/assets/javascripts/locales/jquery.timeago.en-short.js +0 -20
  151. data/web/assets/javascripts/locales/jquery.timeago.en.js +0 -20
  152. data/web/assets/javascripts/locales/jquery.timeago.es.js +0 -18
  153. data/web/assets/javascripts/locales/jquery.timeago.et.js +0 -18
  154. data/web/assets/javascripts/locales/jquery.timeago.fa.js +0 -22
  155. data/web/assets/javascripts/locales/jquery.timeago.fi.js +0 -28
  156. data/web/assets/javascripts/locales/jquery.timeago.fr-short.js +0 -16
  157. data/web/assets/javascripts/locales/jquery.timeago.fr.js +0 -17
  158. data/web/assets/javascripts/locales/jquery.timeago.he.js +0 -18
  159. data/web/assets/javascripts/locales/jquery.timeago.hr.js +0 -49
  160. data/web/assets/javascripts/locales/jquery.timeago.hu.js +0 -18
  161. data/web/assets/javascripts/locales/jquery.timeago.hy.js +0 -18
  162. data/web/assets/javascripts/locales/jquery.timeago.id.js +0 -18
  163. data/web/assets/javascripts/locales/jquery.timeago.it.js +0 -16
  164. data/web/assets/javascripts/locales/jquery.timeago.ja.js +0 -19
  165. data/web/assets/javascripts/locales/jquery.timeago.ko.js +0 -17
  166. data/web/assets/javascripts/locales/jquery.timeago.lt.js +0 -20
  167. data/web/assets/javascripts/locales/jquery.timeago.mk.js +0 -20
  168. data/web/assets/javascripts/locales/jquery.timeago.nl.js +0 -20
  169. data/web/assets/javascripts/locales/jquery.timeago.no.js +0 -18
  170. data/web/assets/javascripts/locales/jquery.timeago.pl.js +0 -31
  171. data/web/assets/javascripts/locales/jquery.timeago.pt-br.js +0 -16
  172. data/web/assets/javascripts/locales/jquery.timeago.pt.js +0 -16
  173. data/web/assets/javascripts/locales/jquery.timeago.ro.js +0 -18
  174. data/web/assets/javascripts/locales/jquery.timeago.rs.js +0 -49
  175. data/web/assets/javascripts/locales/jquery.timeago.ru.js +0 -34
  176. data/web/assets/javascripts/locales/jquery.timeago.sk.js +0 -18
  177. data/web/assets/javascripts/locales/jquery.timeago.sl.js +0 -44
  178. data/web/assets/javascripts/locales/jquery.timeago.sv.js +0 -18
  179. data/web/assets/javascripts/locales/jquery.timeago.th.js +0 -20
  180. data/web/assets/javascripts/locales/jquery.timeago.tr.js +0 -16
  181. data/web/assets/javascripts/locales/jquery.timeago.uk.js +0 -34
  182. data/web/assets/javascripts/locales/jquery.timeago.uz.js +0 -19
  183. data/web/assets/javascripts/locales/jquery.timeago.zh-CN.js +0 -20
  184. data/web/assets/javascripts/locales/jquery.timeago.zh-TW.js +0 -20
  185. data/web/views/_poll.erb +0 -14
  186. data/web/views/_workers.erb +0 -29
  187. data/web/views/index.erb +0 -16
@@ -1,16 +0,0 @@
1
- // French shortened
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "il y a",
4
- prefixFromNow: "d'ici",
5
- seconds: "moins d'une minute",
6
- minute: "une minute",
7
- minutes: "%d minutes",
8
- hour: "une heure",
9
- hours: "%d heures",
10
- day: "un jour",
11
- days: "%d jours",
12
- month: "un mois",
13
- months: "%d mois",
14
- year: "un an",
15
- years: "%d ans"
16
- };
@@ -1,17 +0,0 @@
1
- // French
2
- jQuery.timeago.settings.strings = {
3
- // environ ~= about, it's optional
4
- prefixAgo: "il y a",
5
- prefixFromNow: "d'ici",
6
- seconds: "moins d'une minute",
7
- minute: "environ une minute",
8
- minutes: "environ %d minutes",
9
- hour: "environ une heure",
10
- hours: "environ %d heures",
11
- day: "environ un jour",
12
- days: "environ %d jours",
13
- month: "environ un mois",
14
- months: "environ %d mois",
15
- year: "un an",
16
- years: "%d ans"
17
- };
@@ -1,18 +0,0 @@
1
- // Hebrew
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "לפני",
4
- prefixFromNow: "מעכשיו",
5
- suffixAgo: "",
6
- suffixFromNow: "",
7
- seconds: "פחות מדקה",
8
- minute: "דקה",
9
- minutes: "%d דקות",
10
- hour: "שעה",
11
- hours: "%d שעות",
12
- day: "יום",
13
- days: "%d ימים",
14
- month: "חודש",
15
- months: "%d חודשים",
16
- year: "שנה",
17
- years: "%d שנים"
18
- };
@@ -1,49 +0,0 @@
1
- // Croatian
2
- (function () {
3
- var numpf;
4
-
5
- numpf = function (n, f, s, t) {
6
- var n10;
7
- n10 = n % 10;
8
- if (n10 === 1 && (n === 1 || n > 20)) {
9
- return f;
10
- } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {
11
- return s;
12
- } else {
13
- return t;
14
- }
15
- };
16
-
17
- jQuery.timeago.settings.strings = {
18
- prefixAgo: "prije",
19
- prefixFromNow: "za",
20
- suffixAgo: null,
21
- suffixFromNow: null,
22
- second: "sekundu",
23
- seconds: function (value) {
24
- return numpf(value, "%d sekundu", "%d sekunde", "%d sekundi");
25
- },
26
- minute: "oko minutu",
27
- minutes: function (value) {
28
- return numpf(value, "%d minutu", "%d minute", "%d minuta");
29
- },
30
- hour: "oko jedan sat",
31
- hours: function (value) {
32
- return numpf(value, "%d sat", "%d sata", "%d sati");
33
- },
34
- day: "jedan dan",
35
- days: function (value) {
36
- return numpf(value, "%d dan", "%d dana", "%d dana");
37
- },
38
- month: "mjesec dana",
39
- months: function (value) {
40
- return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci");
41
- },
42
- year: "prije godinu dana",
43
- years: function (value) {
44
- return numpf(value, "%d godinu", "%d godine", "%d godina");
45
- },
46
- wordSeparator: " "
47
- };
48
-
49
- }).call(this);
@@ -1,18 +0,0 @@
1
- // Hungarian
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: null,
6
- suffixFromNow: null,
7
- seconds: "kevesebb mint egy perce",
8
- minute: "körülbelül egy perce",
9
- minutes: "%d perce",
10
- hour: "körülbelül egy órája",
11
- hours: "körülbelül %d órája",
12
- day: "körülbelül egy napja",
13
- days: "%d napja",
14
- month: "körülbelül egy hónapja",
15
- months: "%d hónapja",
16
- year: "körülbelül egy éve",
17
- years: "%d éve"
18
- };
@@ -1,18 +0,0 @@
1
- // Armenian
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: "առաջ",
6
- suffixFromNow: "հետո",
7
- seconds: "վայրկյաններ",
8
- minute: "մեկ րոպե",
9
- minutes: "%d րոպե",
10
- hour: "մեկ ժամ",
11
- hours: "%d ժամ",
12
- day: "մեկ օր",
13
- days: "%d օր",
14
- month: "մեկ ամիս",
15
- months: "%d ամիս",
16
- year: "մեկ տարի",
17
- years: "%d տարի"
18
- };
@@ -1,18 +0,0 @@
1
- // Indonesian
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: "yang lalu",
6
- suffixFromNow: "dari sekarang",
7
- seconds: "kurang dari semenit",
8
- minute: "sekitar satu menit",
9
- minutes: "%d menit",
10
- hour: "sekitar sejam",
11
- hours: "sekitar %d jam",
12
- day: "sehari",
13
- days: "%d hari",
14
- month: "sekitar sebulan",
15
- months: "%d bulan",
16
- year: "sekitar setahun",
17
- years: "%d tahun"
18
- };
@@ -1,16 +0,0 @@
1
- // Italian
2
- jQuery.timeago.settings.strings = {
3
- suffixAgo: "fa",
4
- suffixFromNow: "da ora",
5
- seconds: "meno di un minuto",
6
- minute: "circa un minuto",
7
- minutes: "%d minuti",
8
- hour: "circa un'ora",
9
- hours: "circa %d ore",
10
- day: "un giorno",
11
- days: "%d giorni",
12
- month: "circa un mese",
13
- months: "%d mesi",
14
- year: "circa un anno",
15
- years: "%d anni"
16
- };
@@ -1,19 +0,0 @@
1
- // Japanese
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "",
4
- prefixFromNow: "今から",
5
- suffixAgo: "前",
6
- suffixFromNow: "後",
7
- seconds: "1 分未満",
8
- minute: "約 1 分",
9
- minutes: "%d 分",
10
- hour: "約 1 時間",
11
- hours: "約 %d 時間",
12
- day: "約 1 日",
13
- days: "約 %d 日",
14
- month: "約 1 月",
15
- months: "約 %d 月",
16
- year: "約 1 年",
17
- years: "約 %d 年",
18
- wordSeparator: ""
19
- };
@@ -1,17 +0,0 @@
1
- // Korean
2
- jQuery.timeago.settings.strings = {
3
- suffixAgo: "전",
4
- suffixFromNow: "후",
5
- seconds: "1분 이내",
6
- minute: "1분",
7
- minutes: "%d분",
8
- hour: "1시간",
9
- hours: "%d시간",
10
- day: "하루",
11
- days: "%d일",
12
- month: "한 달",
13
- months: "%d달",
14
- year: "1년",
15
- years: "%d년",
16
- wordSeparator: " "
17
- };
@@ -1,20 +0,0 @@
1
- //Lithuanian
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "prieš",
4
- prefixFromNow: null,
5
- suffixAgo: null,
6
- suffixFromNow: "nuo dabar",
7
- seconds: "%d sek.",
8
- minute: "min.",
9
- minutes: "%d min.",
10
- hour: "val.",
11
- hours: "%d val.",
12
- day: "1 d.",
13
- days: "%d d.",
14
- month: "mėn.",
15
- months: "%d mėn.",
16
- year: "metus",
17
- years: "%d metus",
18
- wordSeparator: " ",
19
- numbers: []
20
- };
@@ -1,20 +0,0 @@
1
- // Macedonian
2
- (function() {
3
- jQuery.timeago.settings.strings={
4
- prefixAgo: "пред",
5
- prefixFromNow: "за",
6
- suffixAgo: null,
7
- suffixFromNow: null,
8
- seconds: "%d секунди",
9
- minute: "%d минута",
10
- minutes: "%d минути",
11
- hour: "%d час",
12
- hours: "%d часа",
13
- day: "%d ден",
14
- days: "%d денови" ,
15
- month: "%d месец",
16
- months: "%d месеци",
17
- year: "%d година",
18
- years: "%d години"
19
- }
20
- })();
@@ -1,20 +0,0 @@
1
- // Dutch
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: "",
5
- suffixAgo: "geleden",
6
- suffixFromNow: "van nu",
7
- seconds: "minder dan een minuut",
8
- minute: "ongeveer een minuut",
9
- minutes: "%d minuten",
10
- hour: "ongeveer een uur",
11
- hours: "ongeveer %d uur",
12
- day: "een dag",
13
- days: "%d dagen",
14
- month: "ongeveer een maand",
15
- months: "%d maanden",
16
- year: "ongeveer een jaar",
17
- years: "%d jaar",
18
- wordSeparator: " ",
19
- numbers: []
20
- };
@@ -1,18 +0,0 @@
1
- // Norwegian
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "for",
4
- prefixFromNow: "om",
5
- suffixAgo: "siden",
6
- suffixFromNow: "",
7
- seconds: "mindre enn et minutt",
8
- minute: "ca. et minutt",
9
- minutes: "%d minutter",
10
- hour: "ca. en time",
11
- hours: "ca. %d timer",
12
- day: "en dag",
13
- days: "%d dager",
14
- month: "ca. en måned",
15
- months: "%d måneder",
16
- year: "ca. et år",
17
- years: "%d år"
18
- };
@@ -1,31 +0,0 @@
1
- // Polish
2
- (function() {
3
- function numpf(n, s, t) {
4
- // s - 2-4, 22-24, 32-34 ...
5
- // t - 5-21, 25-31, ...
6
- var n10 = n % 10;
7
- if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
8
- return s;
9
- } else {
10
- return t;
11
- }
12
- }
13
-
14
- jQuery.timeago.settings.strings = {
15
- prefixAgo: null,
16
- prefixFromNow: "za",
17
- suffixAgo: "temu",
18
- suffixFromNow: null,
19
- seconds: "mniej niż minutę",
20
- minute: "minutę",
21
- minutes: function(value) { return numpf(value, "%d minuty", "%d minut"); },
22
- hour: "godzinę",
23
- hours: function(value) { return numpf(value, "%d godziny", "%d godzin"); },
24
- day: "dzień",
25
- days: "%d dni",
26
- month: "miesiąc",
27
- months: function(value) { return numpf(value, "%d miesiące", "%d miesięcy"); },
28
- year: "rok",
29
- years: function(value) { return numpf(value, "%d lata", "%d lat"); }
30
- };
31
- })();
@@ -1,16 +0,0 @@
1
- // Brazilian Portuguese
2
- jQuery.timeago.settings.strings = {
3
- suffixAgo: "atrás",
4
- suffixFromNow: "nesse momento",
5
- seconds: "alguns segundos",
6
- minute: "há um minuto",
7
- minutes: "há %d minutos",
8
- hour: "há uma hora",
9
- hours: "há %d horas",
10
- day: "há um dia",
11
- days: "há %d dias",
12
- month: "há um mês",
13
- months: "há %d meses",
14
- year: "há um ano",
15
- years: "há %d anos"
16
- };
@@ -1,16 +0,0 @@
1
- // Portuguese
2
- jQuery.timeago.settings.strings = {
3
- suffixAgo: "atrás",
4
- suffixFromNow: "a partir de agora",
5
- seconds: "menos de um minuto",
6
- minute: "cerca de um minuto",
7
- minutes: "%d minutos",
8
- hour: "cerca de uma hora",
9
- hours: "cerca de %d horas",
10
- day: "um dia",
11
- days: "%d dias",
12
- month: "cerca de um mês",
13
- months: "%d meses",
14
- year: "cerca de um ano",
15
- years: "%d anos"
16
- };
@@ -1,18 +0,0 @@
1
- // Romanian
2
- $.timeago.settings.strings = {
3
- prefixAgo: "acum",
4
- prefixFromNow: "in timp de",
5
- suffixAgo: "",
6
- suffixFromNow: "",
7
- seconds: "mai putin de un minut",
8
- minute: "un minut",
9
- minutes: "%d minute",
10
- hour: "o ora",
11
- hours: "%d ore",
12
- day: "o zi",
13
- days: "%d zile",
14
- month: "o luna",
15
- months: "%d luni",
16
- year: "un an",
17
- years: "%d ani"
18
- };
@@ -1,49 +0,0 @@
1
- // Serbian
2
- (function () {
3
- var numpf;
4
-
5
- numpf = function (n, f, s, t) {
6
- var n10;
7
- n10 = n % 10;
8
- if (n10 === 1 && (n === 1 || n > 20)) {
9
- return f;
10
- } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {
11
- return s;
12
- } else {
13
- return t;
14
- }
15
- };
16
-
17
- jQuery.timeago.settings.strings = {
18
- prefixAgo: "pre",
19
- prefixFromNow: "za",
20
- suffixAgo: null,
21
- suffixFromNow: null,
22
- second: "sekund",
23
- seconds: function (value) {
24
- return numpf(value, "%d sekund", "%d sekunde", "%d sekundi");
25
- },
26
- minute: "oko minut",
27
- minutes: function (value) {
28
- return numpf(value, "%d minut", "%d minuta", "%d minuta");
29
- },
30
- hour: "oko jedan sat",
31
- hours: function (value) {
32
- return numpf(value, "%d sat", "%d sata", "%d sati");
33
- },
34
- day: "jedan dan",
35
- days: function (value) {
36
- return numpf(value, "%d dan", "%d dana", "%d dana");
37
- },
38
- month: "mesec dana",
39
- months: function (value) {
40
- return numpf(value, "%d mesec", "%d meseca", "%d meseci");
41
- },
42
- year: "pre godinu dana",
43
- years: function (value) {
44
- return numpf(value, "%d godinu", "%d godine", "%d godina");
45
- },
46
- wordSeparator: " "
47
- };
48
-
49
- }).call(this);
@@ -1,34 +0,0 @@
1
- // Russian
2
- (function() {
3
- function numpf(n, f, s, t) {
4
- // f - 1, 21, 31, ...
5
- // s - 2-4, 22-24, 32-34 ...
6
- // t - 5-20, 25-30, ...
7
- var n10 = n % 10;
8
- if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) {
9
- return f;
10
- } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
11
- return s;
12
- } else {
13
- return t;
14
- }
15
- }
16
-
17
- jQuery.timeago.settings.strings = {
18
- prefixAgo: null,
19
- prefixFromNow: "через",
20
- suffixAgo: "назад",
21
- suffixFromNow: null,
22
- seconds: "меньше минуты",
23
- minute: "минуту",
24
- minutes: function(value) { return numpf(value, "%d минута", "%d минуты", "%d минут"); },
25
- hour: "час",
26
- hours: function(value) { return numpf(value, "%d час", "%d часа", "%d часов"); },
27
- day: "день",
28
- days: function(value) { return numpf(value, "%d день", "%d дня", "%d дней"); },
29
- month: "месяц",
30
- months: function(value) { return numpf(value, "%d месяц", "%d месяца", "%d месяцев"); },
31
- year: "год",
32
- years: function(value) { return numpf(value, "%d год", "%d года", "%d лет"); }
33
- };
34
- })();