cronex 0.10.0 → 0.11.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b071e718281eae3aa398857c94a82313f7c86cbc
4
- data.tar.gz: 11072364556f0d7b2649dca6d4ddde874facba88
2
+ SHA256:
3
+ metadata.gz: ba036396e2d9547853a5b7ea2fd71e951a7553c4939771493b5fe66b14f6850d
4
+ data.tar.gz: 0106175d262f6897fc826fd4b4a9b67126ae854e31417d8071ab06b412bb92bf
5
5
  SHA512:
6
- metadata.gz: b17652914797dde9564a267cc9fe9a98355299a17850646a0a97f40bd0d4df08e95ed1646a46ec24098262cad567a1fbef0df597e1ad068fd603ef186fffe61c
7
- data.tar.gz: 272be7fae9d337fde1e20e2e6e1e10b4d52b578df067b03a7add886b5b5d20264f06dc6efb8ca6d651d6c0fc3fc9e75ca08bd962dadd0748996d5fca41b96fd5
6
+ metadata.gz: 53f41387e3df259309bf46ab5fccbb7e12484007cd95692545e2c725f9081d404699284e7691184a32674fcb7474ca8b0362bbebea8f8cfd7332cc60863e1c0a
7
+ data.tar.gz: 7f97a2b9c76f68538e72681165c958788ccb3f70b938b7eea06c0a58181301a88205d3092ec20ff78b481f4c10b84722724bbc4b5bf8dc1e294466d4bf2bf9f4
@@ -1,3 +1,6 @@
1
+ ### [0.11.0] - 2020-10-05
2
+ * Fix handling L in day of month expressions
3
+
1
4
  ### [0.10.0] - 2020-05-26
2
5
  * Move locale and timezone arguments to options
3
6
 
@@ -1,7 +1,7 @@
1
1
  module Cronex
2
2
  class DayOfMonthDescription < Description
3
3
  def single_item_description(expression)
4
- expression
4
+ expression == 'L' ? resources.get('last_day') : expression
5
5
  end
6
6
 
7
7
  def interval_description_format(expression)
@@ -1,3 +1,3 @@
1
1
  module Cronex
2
- VERSION = '0.10.0'
2
+ VERSION = '0.11.0'
3
3
  end
@@ -16,6 +16,7 @@ past_the_hour: 'vergangene Stunde'
16
16
  at_x_seconds_past_the_minute: 'am %s Sekunden nach der vergangenen Minute'
17
17
  minutes_through_past_the_hour: 'Minuten %s bis %s nach der vergangenen Stunde'
18
18
  on_day_of_the_month: 'am %s Tag des Monats'
19
+ last_day: 'der letzte Tag'
19
20
  first_weekday: 'Erster Wochentag'
20
21
  weekday_nearest_day: 'Wochentag zum nächsten Tag %s'
21
22
  starting: 'beginnend'
@@ -16,6 +16,7 @@ past_the_hour: 'past the hour'
16
16
  at_x_seconds_past_the_minute: 'at %s seconds past the minute'
17
17
  minutes_through_past_the_hour: 'minutes %s through %s past the hour'
18
18
  on_day_of_the_month: 'on day %s of the month'
19
+ last_day: 'the last day'
19
20
  first_weekday: 'first weekday'
20
21
  weekday_nearest_day: 'weekday nearest day %s'
21
22
  starting: 'starting'
@@ -9,13 +9,14 @@ on_the_of_the_month: 'le %s du mois'
9
9
  on_the_last_of_the_month: 'le dernier %s du mois'
10
10
  on_the_last_day_of_the_month: 'le dernier jour du mois'
11
11
  on_the_last_weekday_of_the_month: 'le dernier jour en semaine du mois'
12
- between_days_of_the_month: 'entre le %s et le %s du mois'
12
+ between_days_of_the_month: 'entre le jour %s et le %s du mois'
13
13
  seconds_through_past_the_minute: 'secondes %s à %s après la minute'
14
14
  between_x_and_y: 'entre %s et %s'
15
15
  past_the_hour: "après l'heure"
16
16
  at_x_seconds_past_the_minute: 'à %s secondes après la minute'
17
17
  minutes_through_past_the_hour: "minutes %s à %s après l'heure"
18
18
  on_day_of_the_month: 'le %s de chaque mois'
19
+ last_day: 'dernier jour'
19
20
  first_weekday: 'premier jour de la semaine'
20
21
  weekday_nearest_day: 'jour de semaine le plus proche du %s'
21
22
  starting: 'commence' # départ
@@ -9,13 +9,14 @@ on_the_of_the_month: 'il %s del mese'
9
9
  on_the_last_of_the_month: "l'ultimo(a) %s del mese"
10
10
  on_the_last_day_of_the_month: "l'ultimo giorno del mese"
11
11
  on_the_last_weekday_of_the_month: "l'ultimo giorno lavorativo del mese"
12
- between_days_of_the_month: 'tra il giorno %s e il giorno %s del mese'
12
+ between_days_of_the_month: 'tra il giorno %s e il %s del mese'
13
13
  seconds_through_past_the_minute: 'dal secondo %s al %s dopo il minuto'
14
14
  between_x_and_y: 'tra le %s e le %s'
15
15
  past_the_hour: "dopo l'ora"
16
16
  at_x_seconds_past_the_minute: 'a %s secondi dopo il minuto'
17
17
  minutes_through_past_the_hour: "dal minuto %s al %s dopo l'ora"
18
18
  on_day_of_the_month: 'il giorno %s del mese'
19
+ last_day: 'ultimo giorno'
19
20
  first_weekday: 'il primo giorno della settimana lavorativa'
20
21
  weekday_nearest_day: 'il prossimo giorno %s della settimana lavorativa'
21
22
  starting: 'a partire da'
@@ -16,6 +16,7 @@ past_the_hour: 'após a hora'
16
16
  at_x_seconds_past_the_minute: '%s segundos após o minuto'
17
17
  minutes_through_past_the_hour: 'entre %s e %s minutos após a hora'
18
18
  on_day_of_the_month: 'no dia %s do mês'
19
+ last_day: 'último dia'
19
20
  first_weekday: 'primeiro dia útil'
20
21
  weekday_nearest_day: 'dia útil mais próximo a %s'
21
22
  starting: 'iniciando'
@@ -9,13 +9,14 @@ on_the_of_the_month: 'în %s ale lunii'
9
9
  on_the_last_of_the_month: 'în ultima %s din lună'
10
10
  on_the_last_day_of_the_month: 'în ultima zi a lunii'
11
11
  on_the_last_weekday_of_the_month: 'în ultima zi din săptămână a lunii'
12
- between_days_of_the_month: 'între a %s-a și a %s-a zi a lunii'
12
+ between_days_of_the_month: 'între zilele %s și %s a lunii'
13
13
  seconds_through_past_the_minute: 'între secundele %s și %s'
14
14
  between_x_and_y: 'între %s și %s'
15
15
  past_the_hour: 'în fiecare oră'
16
16
  at_x_seconds_past_the_minute: 'la secunda %s'
17
17
  minutes_through_past_the_hour: 'între minutele %s și %s'
18
18
  on_day_of_the_month: 'în a %s-a zi a lunii'
19
+ last_day: 'ultima zi'
19
20
  first_weekday: 'prima zi din săptămână'
20
21
  weekday_nearest_day: 'cea mai apropiată %s din săptămână'
21
22
  starting: pornire
@@ -9,13 +9,14 @@ on_the_of_the_month: 'в %s месяца'
9
9
  on_the_last_of_the_month: 'в последний %s месяца'
10
10
  on_the_last_day_of_the_month: 'в последний день месяца'
11
11
  on_the_last_weekday_of_the_month: 'в последний будний день месяца'
12
- between_days_of_the_month: 'с %s по %s число месяца'
12
+ between_days_of_the_month: 'между %s днем и %s днем месяца'
13
13
  seconds_through_past_the_minute: 'секунды с %s по %s'
14
- between_x_and_y: 'с %s по %s'
14
+ between_x_and_y: 'между %s и %s'
15
15
  past_the_hour: 'часа'
16
16
  at_x_seconds_past_the_minute: 'в %s секунд'
17
17
  minutes_through_past_the_hour: 'минуты с %s по %s'
18
- on_day_of_the_month: '%s число месяца'
18
+ on_day_of_the_month: '%s день месяца'
19
+ last_day: 'последним'
19
20
  first_weekday: 'первый будний день'
20
21
  weekday_nearest_day: 'ближайший будний день к %s'
21
22
  starting: начало
@@ -239,8 +239,14 @@ module Cronex
239
239
  end
240
240
  end
241
241
 
242
- it 'last day of the month' do
243
- expect(desc('*/5 * L JAN *')).to eq('Alle 5 Minuten, am letzten Tag des Monats, nur in Januar')
242
+ context 'last day of the month:' do
243
+ it 'on the last day of the month' do
244
+ expect(desc('*/5 * L JAN *')).to eq('Alle 5 Minuten, am letzten Tag des Monats, nur in Januar')
245
+ end
246
+
247
+ it 'between a day and last day of the month' do
248
+ expect(desc('*/5 * 23-L JAN *')).to eq('Alle 5 Minuten, zwischen Tag 23 und der letzte Tag des Monats, nur in Januar')
249
+ end
244
250
  end
245
251
 
246
252
  it 'time of day with seconds' do
@@ -239,8 +239,14 @@ module Cronex
239
239
  end
240
240
  end
241
241
 
242
- it 'last day of the month' do
243
- expect(desc('*/5 * L JAN *')).to eq('Every 5 minutes, on the last day of the month, only in January')
242
+ context 'last day of the month:' do
243
+ it 'on the last day of the month' do
244
+ expect(desc('*/5 * L JAN *')).to eq('Every 5 minutes, on the last day of the month, only in January')
245
+ end
246
+
247
+ it 'between a day and last day of the month' do
248
+ expect(desc('*/5 * 23-L JAN *')).to eq('Every 5 minutes, between day 23 and the last day of the month, only in January')
249
+ end
244
250
  end
245
251
 
246
252
  it 'time of day with seconds' do
@@ -239,8 +239,14 @@ module Cronex
239
239
  end
240
240
  end
241
241
 
242
- it 'last day of the month' do
243
- expect(desc('*/5 * L JAN *')).to eq('Tous les 5 minutes, le dernier jour du mois, seulement en janvier')
242
+ context 'last day of the month:' do
243
+ it 'on the last day of the month' do
244
+ expect(desc('*/5 * L JAN *')).to eq('Tous les 5 minutes, le dernier jour du mois, seulement en janvier')
245
+ end
246
+
247
+ it 'between a day and last day of the month' do
248
+ expect(desc('*/5 * 23-L JAN *')).to eq('Tous les 5 minutes, entre le jour 23 et le dernier jour du mois, seulement en janvier')
249
+ end
244
250
  end
245
251
 
246
252
  it 'time of day with seconds' do
@@ -271,7 +277,7 @@ module Cronex
271
277
 
272
278
  it 'between with interval' do
273
279
  expect(desc('2-59/3 1,9,22 11-26 1-6 ?')).to eq(
274
- "Tous les 3 minutes, minutes 02 à 59 après l'heure, à 1:00 AM, 9:00 AM et 10:00 PM, entre le 11 et le 26 du mois, janvier à juin")
280
+ "Tous les 3 minutes, minutes 02 à 59 après l'heure, à 1:00 AM, 9:00 AM et 10:00 PM, entre le jour 11 et le 26 du mois, janvier à juin")
275
281
  end
276
282
 
277
283
  it 'recurring first of month' do
@@ -239,8 +239,14 @@ module Cronex
239
239
  end
240
240
  end
241
241
 
242
- it 'last day of the month' do
243
- expect(desc('*/5 * L JAN *')).to eq('Ogni 5 minuti, l\'ultimo giorno del mese, solo a(nel) gennaio')
242
+ context 'last day of the month:' do
243
+ it 'on the last day of the month' do
244
+ expect(desc('*/5 * L JAN *')).to eq('Ogni 5 minuti, l\'ultimo giorno del mese, solo a(nel) gennaio')
245
+ end
246
+
247
+ it 'between a day and last day of the month' do
248
+ expect(desc('*/5 * 23-L JAN *')).to eq('Ogni 5 minuti, tra il giorno 23 e il ultimo giorno del mese, solo a(nel) gennaio')
249
+ end
244
250
  end
245
251
 
246
252
  it 'time of day with seconds' do
@@ -271,7 +277,7 @@ module Cronex
271
277
 
272
278
  it 'between with interval' do
273
279
  expect(desc('2-59/3 1,9,22 11-26 1-6 ?')).to eq(
274
- 'Ogni 3 minuti, dal minuto 02 al 59 dopo l\'ora, alle(ai) 1:00 AM, 9:00 AM e 10:00 PM, tra il giorno 11 e il giorno 26 del mese, da gennaio a giugno')
280
+ 'Ogni 3 minuti, dal minuto 02 al 59 dopo l\'ora, alle(ai) 1:00 AM, 9:00 AM e 10:00 PM, tra il giorno 11 e il 26 del mese, da gennaio a giugno')
275
281
  end
276
282
 
277
283
  it 'recurring first of month' do
@@ -239,8 +239,14 @@ module Cronex
239
239
  end
240
240
  end
241
241
 
242
- it 'last day of the month' do
243
- expect(desc('*/5 * L JAN *')).to eq('A cada 5 minutos, no último dia do mês, em janeiro')
242
+ context 'last day of the month:' do
243
+ it 'on the last day of the month' do
244
+ expect(desc('*/5 * L JAN *')).to eq('A cada 5 minutos, no último dia do mês, em janeiro')
245
+ end
246
+
247
+ it 'between a day and last day of the month' do
248
+ expect(desc('*/5 * 23-L JAN *')).to eq('A cada 5 minutos, entre os dias 23 e último dia do mês, em janeiro')
249
+ end
244
250
  end
245
251
 
246
252
  it 'time of day with seconds' do
@@ -239,8 +239,14 @@ module Cronex
239
239
  end
240
240
  end
241
241
 
242
- it 'last day of the month' do
243
- expect(desc('*/5 * L JAN *')).to eq('La fiecare 5 minute, în ultima zi a lunii, numai în ianuarie')
242
+ context 'last day of the month:' do
243
+ it 'on the last day of the month' do
244
+ expect(desc('*/5 * L JAN *')).to eq('La fiecare 5 minute, în ultima zi a lunii, numai în ianuarie')
245
+ end
246
+
247
+ it 'between a day and last day of the month' do
248
+ expect(desc('*/5 * 23-L JAN *')).to eq('La fiecare 5 minute, între zilele 23 și ultima zi a lunii, numai în ianuarie')
249
+ end
244
250
  end
245
251
 
246
252
  it 'time of day with seconds' do
@@ -271,7 +277,7 @@ module Cronex
271
277
 
272
278
  it 'between with interval' do
273
279
  expect(desc('2-59/3 1,9,22 11-26 1-6 ?')).to eq(
274
- 'La fiecare 3 minute, între minutele 02 și 59, la 1:00 AM, 9:00 AM și 10:00 PM, între a 11-a și a 26-a zi a lunii, din ianuarie până în iunie')
280
+ 'La fiecare 3 minute, între minutele 02 și 59, la 1:00 AM, 9:00 AM și 10:00 PM, între zilele 11 și 26 a lunii, din ianuarie până în iunie')
275
281
  end
276
282
 
277
283
  it 'recurring first of month' do
@@ -178,11 +178,11 @@ module Cronex
178
178
  end
179
179
 
180
180
  it 'day of month' do
181
- expect(desc('23 12 15 * *')).to eq('В 12:23 PM, 15 число месяца')
181
+ expect(desc('23 12 15 * *')).to eq('В 12:23 PM, 15 день месяца')
182
182
  end
183
183
 
184
184
  it 'day of month with day of week' do
185
- expect(desc('23 12 15 * SUN')).to eq('В 12:23 PM, 15 число месяца, только воскресенье')
185
+ expect(desc('23 12 15 * SUN')).to eq('В 12:23 PM, 15 день месяца, только воскресенье')
186
186
  end
187
187
 
188
188
  it 'month name' do
@@ -239,8 +239,14 @@ module Cronex
239
239
  end
240
240
  end
241
241
 
242
- it 'last day of the month' do
243
- expect(desc('*/5 * L JAN *')).to eq('Каждые 5 минут, в последний день месяца, только январь')
242
+ context 'last day of the month:' do
243
+ it 'on the last day of the month' do
244
+ expect(desc('*/5 * L JAN *')).to eq('Каждые 5 минут, в последний день месяца, только январь')
245
+ end
246
+
247
+ it 'between a day and last day of the month' do
248
+ expect(desc('*/5 * 23-L JAN *')).to eq('Каждые 5 минут, между 23 днем и последним днем месяца, только январь')
249
+ end
244
250
  end
245
251
 
246
252
  it 'time of day with seconds' do
@@ -253,7 +259,7 @@ module Cronex
253
259
 
254
260
  it 'second minutes hours intervals' do
255
261
  expect(desc('5-10 30-35 10-12 * * *')).to eq(
256
- 'Секунды с 5 по 10, минуты с 30 по 35, с 10:00 AM по 12:59 PM')
262
+ 'Секунды с 5 по 10, минуты с 30 по 35, между 10:00 AM и 12:59 PM')
257
263
  end
258
264
 
259
265
  it 'every 5 minutes at 30 seconds' do
@@ -262,7 +268,7 @@ module Cronex
262
268
 
263
269
  it 'minutes past the hour range' do
264
270
  expect(desc('0 30 10-13 ? * WED,FRI')).to eq(
265
- 'В 30 минут часа, с 10:00 AM по 1:59 PM, только среда и пятница')
271
+ 'В 30 минут часа, между 10:00 AM и 1:59 PM, только среда и пятница')
266
272
  end
267
273
 
268
274
  it 'seconds past the minute interval' do
@@ -271,7 +277,7 @@ module Cronex
271
277
 
272
278
  it 'between with interval' do
273
279
  expect(desc('2-59/3 1,9,22 11-26 1-6 ?')).to eq(
274
- 'Каждые 3 минут, минуты с 02 по 59, в 1:00 AM, 9:00 AM и 10:00 PM, с 11 по 26 число месяца, январь - июнь')
280
+ 'Каждые 3 минут, минуты с 02 по 59, в 1:00 AM, 9:00 AM и 10:00 PM, между 11 днем и 26 днем месяца, январь - июнь')
275
281
  end
276
282
 
277
283
  it 'recurring first of month' do
@@ -328,11 +334,11 @@ module Cronex
328
334
  end
329
335
 
330
336
  it 'minutes past the hour 5,10 day 2' do
331
- expect(desc('5,10 0 2 * *')).to eq('В 05 и 10 минут часа, 2 число месяца')
337
+ expect(desc('5,10 0 2 * *')).to eq('В 05 и 10 минут часа, 2 день месяца')
332
338
  end
333
339
 
334
340
  it 'minutes past the hour 5/10 day 2' do
335
- expect(desc('5/10 0 2 * *')).to eq('Каждые 10 минут, начало в 05 минут часа, 2 число месяца')
341
+ expect(desc('5/10 0 2 * *')).to eq('Каждые 10 минут, начало в 05 минут часа, 2 день месяца')
336
342
  end
337
343
  end
338
344
 
@@ -346,7 +352,7 @@ module Cronex
346
352
  end
347
353
 
348
354
  it 'seconds past the minute 5,6 day 2' do
349
- expect(desc('5,6 0 0 2 * *')).to eq('В 5 и 6 секунд, 2 число месяца')
355
+ expect(desc('5,6 0 0 2 * *')).to eq('В 5 и 6 секунд, 2 день месяца')
350
356
  end
351
357
  end
352
358
 
@@ -364,7 +370,7 @@ module Cronex
364
370
  end
365
371
 
366
372
  it 'day of month increments' do
367
- expect(desc('0 30 8 2/7 * *')).to eq('В 8:30 AM, каждые 7 дня(ей), начало 2 число месяца')
373
+ expect(desc('0 30 8 2/7 * *')).to eq('В 8:30 AM, каждые 7 дня(ей), начало 2 день месяца')
368
374
  end
369
375
 
370
376
  it 'day of week increments' do
@@ -376,7 +382,7 @@ module Cronex
376
382
  end
377
383
 
378
384
  it 'year increments' do
379
- expect(desc('0 0 0 1 MAR * 2010/5')).to eq('В 12:00 AM, 1 число месяца, только март, каждые 5 лет, начало в 2010')
385
+ expect(desc('0 0 0 1 MAR * 2010/5')).to eq('В 12:00 AM, 1 день месяца, только март, каждые 5 лет, начало в 2010')
380
386
  end
381
387
  end
382
388
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cronex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Kazaku
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-26 00:00:00.000000000 Z
11
+ date: 2020-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tzinfo
@@ -133,7 +133,7 @@ homepage: https://github.com/alpinweis/cronex
133
133
  licenses:
134
134
  - Apache-2.0
135
135
  metadata: {}
136
- post_install_message:
136
+ post_install_message:
137
137
  rdoc_options: []
138
138
  require_paths:
139
139
  - lib
@@ -148,9 +148,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0'
150
150
  requirements: []
151
- rubyforge_project:
152
- rubygems_version: 2.6.14
153
- signing_key:
151
+ rubygems_version: 3.0.8
152
+ signing_key:
154
153
  specification_version: 4
155
154
  summary: Ruby library that converts cron expressions into human readable strings
156
155
  test_files: