date 3.2.0 → 3.2.2
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 +4 -4
- data/ext/date/date_core.c +299 -88
- data/lib/date.rb +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91f6620791550924cc059c5c534ada4a811b273d900399be6c4406801a4dbcc6
|
4
|
+
data.tar.gz: 68b1c8be2eb0aefffd9b5fe450a03834655cbe3d8892682778f24ad0102920ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 508e707ba98f9a77b0dad3689627d3f5c2dc1a87b84a4b017e09bb4374ddaecebd7c834c75440dc6d8d27f767b971915626073e7bd796d4695e29c54e8e9d73a
|
7
|
+
data.tar.gz: 1841c19c7365a7f10eb80ab4aac688fcaf68623b7cc39b083b3ff19a2e43b782a2f7f04b77ad3cfa3d4094611f87394d2bb5fe2ca5359a623092f6d4bae60959
|
data/ext/date/date_core.c
CHANGED
@@ -4328,12 +4328,40 @@ date_s_strptime(int argc, VALUE *argv, VALUE klass)
|
|
4328
4328
|
|
4329
4329
|
VALUE date__parse(VALUE str, VALUE comp);
|
4330
4330
|
|
4331
|
+
static size_t
|
4332
|
+
get_limit(VALUE opt)
|
4333
|
+
{
|
4334
|
+
if (!NIL_P(opt)) {
|
4335
|
+
VALUE limit = rb_hash_aref(opt, ID2SYM(rb_intern("limit")));
|
4336
|
+
if (NIL_P(limit)) return SIZE_MAX;
|
4337
|
+
return NUM2SIZET(limit);
|
4338
|
+
}
|
4339
|
+
return 128;
|
4340
|
+
}
|
4341
|
+
|
4342
|
+
static void
|
4343
|
+
check_limit(VALUE str, VALUE opt)
|
4344
|
+
{
|
4345
|
+
if (NIL_P(str)) return;
|
4346
|
+
if (SYMBOL_P(str)) str = rb_sym2str(str);
|
4347
|
+
|
4348
|
+
StringValue(str);
|
4349
|
+
size_t slen = RSTRING_LEN(str);
|
4350
|
+
size_t limit = get_limit(opt);
|
4351
|
+
if (slen > limit) {
|
4352
|
+
rb_raise(rb_eArgError,
|
4353
|
+
"string length (%"PRI_SIZE_PREFIX"u) exceeds the limit %"PRI_SIZE_PREFIX"u", slen, limit);
|
4354
|
+
}
|
4355
|
+
}
|
4356
|
+
|
4331
4357
|
static VALUE
|
4332
4358
|
date_s__parse_internal(int argc, VALUE *argv, VALUE klass)
|
4333
4359
|
{
|
4334
|
-
VALUE vstr, vcomp, hash;
|
4360
|
+
VALUE vstr, vcomp, hash, opt;
|
4335
4361
|
|
4336
|
-
rb_scan_args(argc, argv, "11", &vstr, &vcomp);
|
4362
|
+
rb_scan_args(argc, argv, "11:", &vstr, &vcomp, &opt);
|
4363
|
+
if (!NIL_P(opt)) argc--;
|
4364
|
+
check_limit(vstr, opt);
|
4337
4365
|
StringValue(vstr);
|
4338
4366
|
if (!rb_enc_str_asciicompat_p(vstr))
|
4339
4367
|
rb_raise(rb_eArgError,
|
@@ -4348,7 +4376,7 @@ date_s__parse_internal(int argc, VALUE *argv, VALUE klass)
|
|
4348
4376
|
|
4349
4377
|
/*
|
4350
4378
|
* call-seq:
|
4351
|
-
* Date._parse(string[, comp=true]) -> hash
|
4379
|
+
* Date._parse(string[, comp=true], limit: 128) -> hash
|
4352
4380
|
*
|
4353
4381
|
* Parses the given representation of date and time, and returns a
|
4354
4382
|
* hash of parsed elements.
|
@@ -4363,6 +4391,10 @@ date_s__parse_internal(int argc, VALUE *argv, VALUE klass)
|
|
4363
4391
|
* it full.
|
4364
4392
|
*
|
4365
4393
|
* Date._parse('2001-02-03') #=> {:year=>2001, :mon=>2, :mday=>3}
|
4394
|
+
*
|
4395
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4396
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4397
|
+
* it may take a long time to parse.
|
4366
4398
|
*/
|
4367
4399
|
static VALUE
|
4368
4400
|
date_s__parse(int argc, VALUE *argv, VALUE klass)
|
@@ -4372,7 +4404,7 @@ date_s__parse(int argc, VALUE *argv, VALUE klass)
|
|
4372
4404
|
|
4373
4405
|
/*
|
4374
4406
|
* call-seq:
|
4375
|
-
* Date.parse(string='-4712-01-01'[, comp=true[, start=Date::ITALY]]) -> date
|
4407
|
+
* Date.parse(string='-4712-01-01'[, comp=true[, start=Date::ITALY]], limit: 128) -> date
|
4376
4408
|
*
|
4377
4409
|
* Parses the given representation of date and time, and creates a
|
4378
4410
|
* date object.
|
@@ -4389,13 +4421,18 @@ date_s__parse(int argc, VALUE *argv, VALUE klass)
|
|
4389
4421
|
* Date.parse('2001-02-03') #=> #<Date: 2001-02-03 ...>
|
4390
4422
|
* Date.parse('20010203') #=> #<Date: 2001-02-03 ...>
|
4391
4423
|
* Date.parse('3rd Feb 2001') #=> #<Date: 2001-02-03 ...>
|
4424
|
+
*
|
4425
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4426
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4427
|
+
* it may take a long time to parse.
|
4392
4428
|
*/
|
4393
4429
|
static VALUE
|
4394
4430
|
date_s_parse(int argc, VALUE *argv, VALUE klass)
|
4395
4431
|
{
|
4396
|
-
VALUE str, comp, sg;
|
4432
|
+
VALUE str, comp, sg, opt;
|
4397
4433
|
|
4398
|
-
rb_scan_args(argc, argv, "03", &str, &comp, &sg);
|
4434
|
+
rb_scan_args(argc, argv, "03:", &str, &comp, &sg, &opt);
|
4435
|
+
if (!NIL_P(opt)) argc--;
|
4399
4436
|
|
4400
4437
|
switch (argc) {
|
4401
4438
|
case 0:
|
@@ -4407,11 +4444,12 @@ date_s_parse(int argc, VALUE *argv, VALUE klass)
|
|
4407
4444
|
}
|
4408
4445
|
|
4409
4446
|
{
|
4410
|
-
|
4411
|
-
|
4412
|
-
|
4413
|
-
|
4414
|
-
|
4447
|
+
int argc2 = 2;
|
4448
|
+
VALUE argv2[3];
|
4449
|
+
argv2[0] = str;
|
4450
|
+
argv2[1] = comp;
|
4451
|
+
if (!NIL_P(opt)) argv2[argc2++] = opt;
|
4452
|
+
VALUE hash = date_s__parse(argc2, argv2, klass);
|
4415
4453
|
return d_new_by_frags(klass, hash, sg);
|
4416
4454
|
}
|
4417
4455
|
}
|
@@ -4425,19 +4463,28 @@ VALUE date__jisx0301(VALUE);
|
|
4425
4463
|
|
4426
4464
|
/*
|
4427
4465
|
* call-seq:
|
4428
|
-
* Date._iso8601(string) -> hash
|
4466
|
+
* Date._iso8601(string, limit: 128) -> hash
|
4429
4467
|
*
|
4430
4468
|
* Returns a hash of parsed elements.
|
4469
|
+
*
|
4470
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4471
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4472
|
+
* it may take a long time to parse.
|
4431
4473
|
*/
|
4432
4474
|
static VALUE
|
4433
|
-
date_s__iso8601(VALUE
|
4475
|
+
date_s__iso8601(int argc, VALUE *argv, VALUE klass)
|
4434
4476
|
{
|
4477
|
+
VALUE str, opt;
|
4478
|
+
|
4479
|
+
rb_scan_args(argc, argv, "1:", &str, &opt);
|
4480
|
+
check_limit(str, opt);
|
4481
|
+
|
4435
4482
|
return date__iso8601(str);
|
4436
4483
|
}
|
4437
4484
|
|
4438
4485
|
/*
|
4439
4486
|
* call-seq:
|
4440
|
-
* Date.iso8601(string='-4712-01-01'[, start=Date::ITALY]) -> date
|
4487
|
+
* Date.iso8601(string='-4712-01-01'[, start=Date::ITALY], limit: 128) -> date
|
4441
4488
|
*
|
4442
4489
|
* Creates a new Date object by parsing from a string according to
|
4443
4490
|
* some typical ISO 8601 formats.
|
@@ -4445,13 +4492,18 @@ date_s__iso8601(VALUE klass, VALUE str)
|
|
4445
4492
|
* Date.iso8601('2001-02-03') #=> #<Date: 2001-02-03 ...>
|
4446
4493
|
* Date.iso8601('20010203') #=> #<Date: 2001-02-03 ...>
|
4447
4494
|
* Date.iso8601('2001-W05-6') #=> #<Date: 2001-02-03 ...>
|
4495
|
+
*
|
4496
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4497
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4498
|
+
* it may take a long time to parse.
|
4448
4499
|
*/
|
4449
4500
|
static VALUE
|
4450
4501
|
date_s_iso8601(int argc, VALUE *argv, VALUE klass)
|
4451
4502
|
{
|
4452
|
-
VALUE str, sg;
|
4503
|
+
VALUE str, sg, opt;
|
4453
4504
|
|
4454
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
4505
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
4506
|
+
if (!NIL_P(opt)) argc--;
|
4455
4507
|
|
4456
4508
|
switch (argc) {
|
4457
4509
|
case 0:
|
@@ -4461,38 +4513,56 @@ date_s_iso8601(int argc, VALUE *argv, VALUE klass)
|
|
4461
4513
|
}
|
4462
4514
|
|
4463
4515
|
{
|
4464
|
-
|
4516
|
+
int argc2 = 1;
|
4517
|
+
VALUE argv2[2];
|
4518
|
+
argv2[0] = str;
|
4519
|
+
if (!NIL_P(opt)) argv2[argc2++] = opt;
|
4520
|
+
VALUE hash = date_s__iso8601(argc2, argv2, klass);
|
4465
4521
|
return d_new_by_frags(klass, hash, sg);
|
4466
4522
|
}
|
4467
4523
|
}
|
4468
4524
|
|
4469
4525
|
/*
|
4470
4526
|
* call-seq:
|
4471
|
-
* Date._rfc3339(string) -> hash
|
4527
|
+
* Date._rfc3339(string, limit: 128) -> hash
|
4472
4528
|
*
|
4473
4529
|
* Returns a hash of parsed elements.
|
4530
|
+
*
|
4531
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4532
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4533
|
+
* it may take a long time to parse.
|
4474
4534
|
*/
|
4475
4535
|
static VALUE
|
4476
|
-
date_s__rfc3339(VALUE
|
4536
|
+
date_s__rfc3339(int argc, VALUE *argv, VALUE klass)
|
4477
4537
|
{
|
4538
|
+
VALUE str, opt;
|
4539
|
+
|
4540
|
+
rb_scan_args(argc, argv, "1:", &str, &opt);
|
4541
|
+
check_limit(str, opt);
|
4542
|
+
|
4478
4543
|
return date__rfc3339(str);
|
4479
4544
|
}
|
4480
4545
|
|
4481
4546
|
/*
|
4482
4547
|
* call-seq:
|
4483
|
-
* Date.rfc3339(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY]) -> date
|
4548
|
+
* Date.rfc3339(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> date
|
4484
4549
|
*
|
4485
4550
|
* Creates a new Date object by parsing from a string according to
|
4486
4551
|
* some typical RFC 3339 formats.
|
4487
4552
|
*
|
4488
4553
|
* Date.rfc3339('2001-02-03T04:05:06+07:00') #=> #<Date: 2001-02-03 ...>
|
4554
|
+
*
|
4555
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4556
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4557
|
+
* it may take a long time to parse.
|
4489
4558
|
*/
|
4490
4559
|
static VALUE
|
4491
4560
|
date_s_rfc3339(int argc, VALUE *argv, VALUE klass)
|
4492
4561
|
{
|
4493
|
-
VALUE str, sg;
|
4562
|
+
VALUE str, sg, opt;
|
4494
4563
|
|
4495
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
4564
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
4565
|
+
if (!NIL_P(opt)) argc--;
|
4496
4566
|
|
4497
4567
|
switch (argc) {
|
4498
4568
|
case 0:
|
@@ -4502,38 +4572,56 @@ date_s_rfc3339(int argc, VALUE *argv, VALUE klass)
|
|
4502
4572
|
}
|
4503
4573
|
|
4504
4574
|
{
|
4505
|
-
|
4575
|
+
int argc2 = 1;
|
4576
|
+
VALUE argv2[2];
|
4577
|
+
argv2[0] = str;
|
4578
|
+
if (!NIL_P(opt)) argv2[argc2++] = opt;
|
4579
|
+
VALUE hash = date_s__rfc3339(argc2, argv2, klass);
|
4506
4580
|
return d_new_by_frags(klass, hash, sg);
|
4507
4581
|
}
|
4508
4582
|
}
|
4509
4583
|
|
4510
4584
|
/*
|
4511
4585
|
* call-seq:
|
4512
|
-
* Date._xmlschema(string) -> hash
|
4586
|
+
* Date._xmlschema(string, limit: 128) -> hash
|
4513
4587
|
*
|
4514
4588
|
* Returns a hash of parsed elements.
|
4589
|
+
*
|
4590
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4591
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4592
|
+
* it may take a long time to parse.
|
4515
4593
|
*/
|
4516
4594
|
static VALUE
|
4517
|
-
date_s__xmlschema(VALUE
|
4595
|
+
date_s__xmlschema(int argc, VALUE *argv, VALUE klass)
|
4518
4596
|
{
|
4597
|
+
VALUE str, opt;
|
4598
|
+
|
4599
|
+
rb_scan_args(argc, argv, "1:", &str, &opt);
|
4600
|
+
check_limit(str, opt);
|
4601
|
+
|
4519
4602
|
return date__xmlschema(str);
|
4520
4603
|
}
|
4521
4604
|
|
4522
4605
|
/*
|
4523
4606
|
* call-seq:
|
4524
|
-
* Date.xmlschema(string='-4712-01-01'[, start=Date::ITALY]) -> date
|
4607
|
+
* Date.xmlschema(string='-4712-01-01'[, start=Date::ITALY], limit: 128) -> date
|
4525
4608
|
*
|
4526
4609
|
* Creates a new Date object by parsing from a string according to
|
4527
4610
|
* some typical XML Schema formats.
|
4528
4611
|
*
|
4529
4612
|
* Date.xmlschema('2001-02-03') #=> #<Date: 2001-02-03 ...>
|
4613
|
+
*
|
4614
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4615
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4616
|
+
* it may take a long time to parse.
|
4530
4617
|
*/
|
4531
4618
|
static VALUE
|
4532
4619
|
date_s_xmlschema(int argc, VALUE *argv, VALUE klass)
|
4533
4620
|
{
|
4534
|
-
VALUE str, sg;
|
4621
|
+
VALUE str, sg, opt;
|
4535
4622
|
|
4536
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
4623
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
4624
|
+
if (!NIL_P(opt)) argc--;
|
4537
4625
|
|
4538
4626
|
switch (argc) {
|
4539
4627
|
case 0:
|
@@ -4543,41 +4631,58 @@ date_s_xmlschema(int argc, VALUE *argv, VALUE klass)
|
|
4543
4631
|
}
|
4544
4632
|
|
4545
4633
|
{
|
4546
|
-
|
4634
|
+
int argc2 = 1;
|
4635
|
+
VALUE argv2[2];
|
4636
|
+
argv2[0] = str;
|
4637
|
+
if (!NIL_P(opt)) argv2[argc2++] = opt;
|
4638
|
+
VALUE hash = date_s__xmlschema(argc2, argv2, klass);
|
4547
4639
|
return d_new_by_frags(klass, hash, sg);
|
4548
4640
|
}
|
4549
4641
|
}
|
4550
4642
|
|
4551
4643
|
/*
|
4552
4644
|
* call-seq:
|
4553
|
-
* Date._rfc2822(string) -> hash
|
4554
|
-
* Date._rfc822(string) -> hash
|
4645
|
+
* Date._rfc2822(string, limit: 128) -> hash
|
4646
|
+
* Date._rfc822(string, limit: 128) -> hash
|
4555
4647
|
*
|
4556
4648
|
* Returns a hash of parsed elements.
|
4649
|
+
*
|
4650
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4651
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4652
|
+
* it may take a long time to parse.
|
4557
4653
|
*/
|
4558
4654
|
static VALUE
|
4559
|
-
date_s__rfc2822(VALUE
|
4655
|
+
date_s__rfc2822(int argc, VALUE *argv, VALUE klass)
|
4560
4656
|
{
|
4657
|
+
VALUE str, opt;
|
4658
|
+
|
4659
|
+
rb_scan_args(argc, argv, "1:", &str, &opt);
|
4660
|
+
check_limit(str, opt);
|
4661
|
+
|
4561
4662
|
return date__rfc2822(str);
|
4562
4663
|
}
|
4563
4664
|
|
4564
4665
|
/*
|
4565
4666
|
* call-seq:
|
4566
|
-
* Date.rfc2822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY]) -> date
|
4567
|
-
* Date.rfc822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY]) -> date
|
4667
|
+
* Date.rfc2822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> date
|
4668
|
+
* Date.rfc822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> date
|
4568
4669
|
*
|
4569
4670
|
* Creates a new Date object by parsing from a string according to
|
4570
4671
|
* some typical RFC 2822 formats.
|
4571
4672
|
*
|
4572
4673
|
* Date.rfc2822('Sat, 3 Feb 2001 00:00:00 +0000')
|
4573
4674
|
* #=> #<Date: 2001-02-03 ...>
|
4675
|
+
*
|
4676
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4677
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4678
|
+
* it may take a long time to parse.
|
4574
4679
|
*/
|
4575
4680
|
static VALUE
|
4576
4681
|
date_s_rfc2822(int argc, VALUE *argv, VALUE klass)
|
4577
4682
|
{
|
4578
|
-
VALUE str, sg;
|
4683
|
+
VALUE str, sg, opt;
|
4579
4684
|
|
4580
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
4685
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
4581
4686
|
|
4582
4687
|
switch (argc) {
|
4583
4688
|
case 0:
|
@@ -4587,39 +4692,56 @@ date_s_rfc2822(int argc, VALUE *argv, VALUE klass)
|
|
4587
4692
|
}
|
4588
4693
|
|
4589
4694
|
{
|
4590
|
-
|
4695
|
+
int argc2 = 1;
|
4696
|
+
VALUE argv2[2];
|
4697
|
+
argv2[0] = str;
|
4698
|
+
if (!NIL_P(opt)) argv2[argc2++] = opt;
|
4699
|
+
VALUE hash = date_s__rfc2822(argc2, argv2, klass);
|
4591
4700
|
return d_new_by_frags(klass, hash, sg);
|
4592
4701
|
}
|
4593
4702
|
}
|
4594
4703
|
|
4595
4704
|
/*
|
4596
4705
|
* call-seq:
|
4597
|
-
* Date._httpdate(string) -> hash
|
4706
|
+
* Date._httpdate(string, limit: 128) -> hash
|
4598
4707
|
*
|
4599
4708
|
* Returns a hash of parsed elements.
|
4709
|
+
*
|
4710
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4711
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4712
|
+
* it may take a long time to parse.
|
4600
4713
|
*/
|
4601
4714
|
static VALUE
|
4602
|
-
date_s__httpdate(VALUE
|
4715
|
+
date_s__httpdate(int argc, VALUE *argv, VALUE klass)
|
4603
4716
|
{
|
4717
|
+
VALUE str, opt;
|
4718
|
+
|
4719
|
+
rb_scan_args(argc, argv, "1:", &str, &opt);
|
4720
|
+
check_limit(str, opt);
|
4721
|
+
|
4604
4722
|
return date__httpdate(str);
|
4605
4723
|
}
|
4606
4724
|
|
4607
4725
|
/*
|
4608
4726
|
* call-seq:
|
4609
|
-
* Date.httpdate(string='Mon, 01 Jan -4712 00:00:00 GMT'[, start=Date::ITALY]) -> date
|
4727
|
+
* Date.httpdate(string='Mon, 01 Jan -4712 00:00:00 GMT'[, start=Date::ITALY], limit: 128) -> date
|
4610
4728
|
*
|
4611
4729
|
* Creates a new Date object by parsing from a string according to
|
4612
4730
|
* some RFC 2616 format.
|
4613
4731
|
*
|
4614
4732
|
* Date.httpdate('Sat, 03 Feb 2001 00:00:00 GMT')
|
4615
4733
|
* #=> #<Date: 2001-02-03 ...>
|
4734
|
+
*
|
4735
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4736
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4737
|
+
* it may take a long time to parse.
|
4616
4738
|
*/
|
4617
4739
|
static VALUE
|
4618
4740
|
date_s_httpdate(int argc, VALUE *argv, VALUE klass)
|
4619
4741
|
{
|
4620
|
-
VALUE str, sg;
|
4742
|
+
VALUE str, sg, opt;
|
4621
4743
|
|
4622
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
4744
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
4623
4745
|
|
4624
4746
|
switch (argc) {
|
4625
4747
|
case 0:
|
@@ -4629,26 +4751,39 @@ date_s_httpdate(int argc, VALUE *argv, VALUE klass)
|
|
4629
4751
|
}
|
4630
4752
|
|
4631
4753
|
{
|
4632
|
-
|
4754
|
+
int argc2 = 1;
|
4755
|
+
VALUE argv2[2];
|
4756
|
+
argv2[0] = str;
|
4757
|
+
if (!NIL_P(opt)) argv2[argc2++] = opt;
|
4758
|
+
VALUE hash = date_s__httpdate(argc2, argv2, klass);
|
4633
4759
|
return d_new_by_frags(klass, hash, sg);
|
4634
4760
|
}
|
4635
4761
|
}
|
4636
4762
|
|
4637
4763
|
/*
|
4638
4764
|
* call-seq:
|
4639
|
-
* Date._jisx0301(string) -> hash
|
4765
|
+
* Date._jisx0301(string, limit: 128) -> hash
|
4640
4766
|
*
|
4641
4767
|
* Returns a hash of parsed elements.
|
4768
|
+
*
|
4769
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4770
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4771
|
+
* it may take a long time to parse.
|
4642
4772
|
*/
|
4643
4773
|
static VALUE
|
4644
|
-
date_s__jisx0301(VALUE
|
4774
|
+
date_s__jisx0301(int argc, VALUE *argv, VALUE klass)
|
4645
4775
|
{
|
4776
|
+
VALUE str, opt;
|
4777
|
+
|
4778
|
+
rb_scan_args(argc, argv, "1:", &str, &opt);
|
4779
|
+
check_limit(str, opt);
|
4780
|
+
|
4646
4781
|
return date__jisx0301(str);
|
4647
4782
|
}
|
4648
4783
|
|
4649
4784
|
/*
|
4650
4785
|
* call-seq:
|
4651
|
-
* Date.jisx0301(string='-4712-01-01'[, start=Date::ITALY]) -> date
|
4786
|
+
* Date.jisx0301(string='-4712-01-01'[, start=Date::ITALY], limit: 128) -> date
|
4652
4787
|
*
|
4653
4788
|
* Creates a new Date object by parsing from a string according to
|
4654
4789
|
* some typical JIS X 0301 formats.
|
@@ -4658,13 +4793,18 @@ date_s__jisx0301(VALUE klass, VALUE str)
|
|
4658
4793
|
* For no-era year, legacy format, Heisei is assumed.
|
4659
4794
|
*
|
4660
4795
|
* Date.jisx0301('13.02.03') #=> #<Date: 2001-02-03 ...>
|
4796
|
+
*
|
4797
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
4798
|
+
* You can stop this check by passing `limit: nil`, but note that
|
4799
|
+
* it may take a long time to parse.
|
4661
4800
|
*/
|
4662
4801
|
static VALUE
|
4663
4802
|
date_s_jisx0301(int argc, VALUE *argv, VALUE klass)
|
4664
4803
|
{
|
4665
|
-
VALUE str, sg;
|
4804
|
+
VALUE str, sg, opt;
|
4666
4805
|
|
4667
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
4806
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
4807
|
+
if (!NIL_P(opt)) argc--;
|
4668
4808
|
|
4669
4809
|
switch (argc) {
|
4670
4810
|
case 0:
|
@@ -4674,7 +4814,11 @@ date_s_jisx0301(int argc, VALUE *argv, VALUE klass)
|
|
4674
4814
|
}
|
4675
4815
|
|
4676
4816
|
{
|
4677
|
-
|
4817
|
+
int argc2 = 1;
|
4818
|
+
VALUE argv2[2];
|
4819
|
+
argv2[0] = str;
|
4820
|
+
if (!NIL_P(opt)) argv2[argc2++] = opt;
|
4821
|
+
VALUE hash = date_s__jisx0301(argc2, argv2, klass);
|
4678
4822
|
return d_new_by_frags(klass, hash, sg);
|
4679
4823
|
}
|
4680
4824
|
}
|
@@ -8013,7 +8157,7 @@ datetime_s_strptime(int argc, VALUE *argv, VALUE klass)
|
|
8013
8157
|
|
8014
8158
|
/*
|
8015
8159
|
* call-seq:
|
8016
|
-
* DateTime.parse(string='-4712-01-01T00:00:00+00:00'[, comp=true[, start=Date::ITALY]]) -> datetime
|
8160
|
+
* DateTime.parse(string='-4712-01-01T00:00:00+00:00'[, comp=true[, start=Date::ITALY]], limit: 128) -> datetime
|
8017
8161
|
*
|
8018
8162
|
* Parses the given representation of date and time, and creates a
|
8019
8163
|
* DateTime object.
|
@@ -8032,13 +8176,18 @@ datetime_s_strptime(int argc, VALUE *argv, VALUE klass)
|
|
8032
8176
|
* #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
8033
8177
|
* DateTime.parse('3rd Feb 2001 04:05:06 PM')
|
8034
8178
|
* #=> #<DateTime: 2001-02-03T16:05:06+00:00 ...>
|
8179
|
+
*
|
8180
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
8181
|
+
* You can stop this check by passing `limit: nil`, but note that
|
8182
|
+
* it may take a long time to parse.
|
8035
8183
|
*/
|
8036
8184
|
static VALUE
|
8037
8185
|
datetime_s_parse(int argc, VALUE *argv, VALUE klass)
|
8038
8186
|
{
|
8039
|
-
VALUE str, comp, sg;
|
8187
|
+
VALUE str, comp, sg, opt;
|
8040
8188
|
|
8041
|
-
rb_scan_args(argc, argv, "03", &str, &comp, &sg);
|
8189
|
+
rb_scan_args(argc, argv, "03:", &str, &comp, &sg, &opt);
|
8190
|
+
if (!NIL_P(opt)) argc--;
|
8042
8191
|
|
8043
8192
|
switch (argc) {
|
8044
8193
|
case 0:
|
@@ -8050,18 +8199,20 @@ datetime_s_parse(int argc, VALUE *argv, VALUE klass)
|
|
8050
8199
|
}
|
8051
8200
|
|
8052
8201
|
{
|
8053
|
-
|
8054
|
-
|
8055
|
-
|
8056
|
-
|
8057
|
-
|
8202
|
+
int argc2 = 2;
|
8203
|
+
VALUE argv2[3];
|
8204
|
+
argv2[0] = str;
|
8205
|
+
argv2[1] = comp;
|
8206
|
+
argv2[2] = opt;
|
8207
|
+
if (!NIL_P(opt)) argc2++;
|
8208
|
+
VALUE hash = date_s__parse(argc2, argv2, klass);
|
8058
8209
|
return dt_new_by_frags(klass, hash, sg);
|
8059
8210
|
}
|
8060
8211
|
}
|
8061
8212
|
|
8062
8213
|
/*
|
8063
8214
|
* call-seq:
|
8064
|
-
* DateTime.iso8601(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY]) -> datetime
|
8215
|
+
* DateTime.iso8601(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
|
8065
8216
|
*
|
8066
8217
|
* Creates a new DateTime object by parsing from a string according to
|
8067
8218
|
* some typical ISO 8601 formats.
|
@@ -8072,13 +8223,18 @@ datetime_s_parse(int argc, VALUE *argv, VALUE klass)
|
|
8072
8223
|
* #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
8073
8224
|
* DateTime.iso8601('2001-W05-6T04:05:06+07:00')
|
8074
8225
|
* #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
8226
|
+
*
|
8227
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
8228
|
+
* You can stop this check by passing `limit: nil`, but note that
|
8229
|
+
* it may take a long time to parse.
|
8075
8230
|
*/
|
8076
8231
|
static VALUE
|
8077
8232
|
datetime_s_iso8601(int argc, VALUE *argv, VALUE klass)
|
8078
8233
|
{
|
8079
|
-
VALUE str, sg;
|
8234
|
+
VALUE str, sg, opt;
|
8080
8235
|
|
8081
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
8236
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
8237
|
+
if (!NIL_P(opt)) argc--;
|
8082
8238
|
|
8083
8239
|
switch (argc) {
|
8084
8240
|
case 0:
|
@@ -8088,27 +8244,37 @@ datetime_s_iso8601(int argc, VALUE *argv, VALUE klass)
|
|
8088
8244
|
}
|
8089
8245
|
|
8090
8246
|
{
|
8091
|
-
|
8247
|
+
int argc2 = 1;
|
8248
|
+
VALUE argv2[2];
|
8249
|
+
argv2[0] = str;
|
8250
|
+
argv2[1] = opt;
|
8251
|
+
if (!NIL_P(opt)) argc2--;
|
8252
|
+
VALUE hash = date_s__iso8601(argc2, argv2, klass);
|
8092
8253
|
return dt_new_by_frags(klass, hash, sg);
|
8093
8254
|
}
|
8094
8255
|
}
|
8095
8256
|
|
8096
8257
|
/*
|
8097
8258
|
* call-seq:
|
8098
|
-
* DateTime.rfc3339(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY]) -> datetime
|
8259
|
+
* DateTime.rfc3339(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
|
8099
8260
|
*
|
8100
8261
|
* Creates a new DateTime object by parsing from a string according to
|
8101
8262
|
* some typical RFC 3339 formats.
|
8102
8263
|
*
|
8103
8264
|
* DateTime.rfc3339('2001-02-03T04:05:06+07:00')
|
8104
8265
|
* #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
8266
|
+
*
|
8267
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
8268
|
+
* You can stop this check by passing `limit: nil`, but note that
|
8269
|
+
* it may take a long time to parse.
|
8105
8270
|
*/
|
8106
8271
|
static VALUE
|
8107
8272
|
datetime_s_rfc3339(int argc, VALUE *argv, VALUE klass)
|
8108
8273
|
{
|
8109
|
-
VALUE str, sg;
|
8274
|
+
VALUE str, sg, opt;
|
8110
8275
|
|
8111
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
8276
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
8277
|
+
if (!NIL_P(opt)) argc--;
|
8112
8278
|
|
8113
8279
|
switch (argc) {
|
8114
8280
|
case 0:
|
@@ -8118,27 +8284,37 @@ datetime_s_rfc3339(int argc, VALUE *argv, VALUE klass)
|
|
8118
8284
|
}
|
8119
8285
|
|
8120
8286
|
{
|
8121
|
-
|
8287
|
+
int argc2 = 1;
|
8288
|
+
VALUE argv2[2];
|
8289
|
+
argv2[0] = str;
|
8290
|
+
argv2[1] = opt;
|
8291
|
+
if (!NIL_P(opt)) argc2++;
|
8292
|
+
VALUE hash = date_s__rfc3339(argc2, argv2, klass);
|
8122
8293
|
return dt_new_by_frags(klass, hash, sg);
|
8123
8294
|
}
|
8124
8295
|
}
|
8125
8296
|
|
8126
8297
|
/*
|
8127
8298
|
* call-seq:
|
8128
|
-
* DateTime.xmlschema(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY]) -> datetime
|
8299
|
+
* DateTime.xmlschema(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
|
8129
8300
|
*
|
8130
8301
|
* Creates a new DateTime object by parsing from a string according to
|
8131
8302
|
* some typical XML Schema formats.
|
8132
8303
|
*
|
8133
8304
|
* DateTime.xmlschema('2001-02-03T04:05:06+07:00')
|
8134
8305
|
* #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
8306
|
+
*
|
8307
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
8308
|
+
* You can stop this check by passing `limit: nil`, but note that
|
8309
|
+
* it may take a long time to parse.
|
8135
8310
|
*/
|
8136
8311
|
static VALUE
|
8137
8312
|
datetime_s_xmlschema(int argc, VALUE *argv, VALUE klass)
|
8138
8313
|
{
|
8139
|
-
VALUE str, sg;
|
8314
|
+
VALUE str, sg, opt;
|
8140
8315
|
|
8141
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
8316
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
8317
|
+
if (!NIL_P(opt)) argc--;
|
8142
8318
|
|
8143
8319
|
switch (argc) {
|
8144
8320
|
case 0:
|
@@ -8148,28 +8324,38 @@ datetime_s_xmlschema(int argc, VALUE *argv, VALUE klass)
|
|
8148
8324
|
}
|
8149
8325
|
|
8150
8326
|
{
|
8151
|
-
|
8327
|
+
int argc2 = 1;
|
8328
|
+
VALUE argv2[2];
|
8329
|
+
argv2[0] = str;
|
8330
|
+
argv2[1] = opt;
|
8331
|
+
if (!NIL_P(opt)) argc2++;
|
8332
|
+
VALUE hash = date_s__xmlschema(argc2, argv2, klass);
|
8152
8333
|
return dt_new_by_frags(klass, hash, sg);
|
8153
8334
|
}
|
8154
8335
|
}
|
8155
8336
|
|
8156
8337
|
/*
|
8157
8338
|
* call-seq:
|
8158
|
-
* DateTime.rfc2822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY]) -> datetime
|
8159
|
-
* DateTime.rfc822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY]) -> datetime
|
8339
|
+
* DateTime.rfc2822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> datetime
|
8340
|
+
* DateTime.rfc822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> datetime
|
8160
8341
|
*
|
8161
8342
|
* Creates a new DateTime object by parsing from a string according to
|
8162
8343
|
* some typical RFC 2822 formats.
|
8163
8344
|
*
|
8164
8345
|
* DateTime.rfc2822('Sat, 3 Feb 2001 04:05:06 +0700')
|
8165
8346
|
* #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
8347
|
+
*
|
8348
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
8349
|
+
* You can stop this check by passing `limit: nil`, but note that
|
8350
|
+
* it may take a long time to parse.
|
8166
8351
|
*/
|
8167
8352
|
static VALUE
|
8168
8353
|
datetime_s_rfc2822(int argc, VALUE *argv, VALUE klass)
|
8169
8354
|
{
|
8170
|
-
VALUE str, sg;
|
8355
|
+
VALUE str, sg, opt;
|
8171
8356
|
|
8172
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
8357
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
8358
|
+
if (!NIL_P(opt)) argc--;
|
8173
8359
|
|
8174
8360
|
switch (argc) {
|
8175
8361
|
case 0:
|
@@ -8179,7 +8365,12 @@ datetime_s_rfc2822(int argc, VALUE *argv, VALUE klass)
|
|
8179
8365
|
}
|
8180
8366
|
|
8181
8367
|
{
|
8182
|
-
|
8368
|
+
int argc2 = 1;
|
8369
|
+
VALUE argv2[2];
|
8370
|
+
argv2[0] = str;
|
8371
|
+
argv2[1] = opt;
|
8372
|
+
if (!NIL_P(opt)) argc2++;
|
8373
|
+
VALUE hash = date_s__rfc2822(argc2, argv2, klass);
|
8183
8374
|
return dt_new_by_frags(klass, hash, sg);
|
8184
8375
|
}
|
8185
8376
|
}
|
@@ -8193,13 +8384,18 @@ datetime_s_rfc2822(int argc, VALUE *argv, VALUE klass)
|
|
8193
8384
|
*
|
8194
8385
|
* DateTime.httpdate('Sat, 03 Feb 2001 04:05:06 GMT')
|
8195
8386
|
* #=> #<DateTime: 2001-02-03T04:05:06+00:00 ...>
|
8387
|
+
*
|
8388
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
8389
|
+
* You can stop this check by passing `limit: nil`, but note that
|
8390
|
+
* it may take a long time to parse.
|
8196
8391
|
*/
|
8197
8392
|
static VALUE
|
8198
8393
|
datetime_s_httpdate(int argc, VALUE *argv, VALUE klass)
|
8199
8394
|
{
|
8200
|
-
VALUE str, sg;
|
8395
|
+
VALUE str, sg, opt;
|
8201
8396
|
|
8202
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
8397
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
8398
|
+
if (!NIL_P(opt)) argc--;
|
8203
8399
|
|
8204
8400
|
switch (argc) {
|
8205
8401
|
case 0:
|
@@ -8209,14 +8405,19 @@ datetime_s_httpdate(int argc, VALUE *argv, VALUE klass)
|
|
8209
8405
|
}
|
8210
8406
|
|
8211
8407
|
{
|
8212
|
-
|
8408
|
+
int argc2 = 1;
|
8409
|
+
VALUE argv2[2];
|
8410
|
+
argv2[0] = str;
|
8411
|
+
argv2[1] = opt;
|
8412
|
+
if (!NIL_P(opt)) argc2++;
|
8413
|
+
VALUE hash = date_s__httpdate(argc2, argv2, klass);
|
8213
8414
|
return dt_new_by_frags(klass, hash, sg);
|
8214
8415
|
}
|
8215
8416
|
}
|
8216
8417
|
|
8217
8418
|
/*
|
8218
8419
|
* call-seq:
|
8219
|
-
* DateTime.jisx0301(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY]) -> datetime
|
8420
|
+
* DateTime.jisx0301(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
|
8220
8421
|
*
|
8221
8422
|
* Creates a new DateTime object by parsing from a string according to
|
8222
8423
|
* some typical JIS X 0301 formats.
|
@@ -8228,13 +8429,18 @@ datetime_s_httpdate(int argc, VALUE *argv, VALUE klass)
|
|
8228
8429
|
*
|
8229
8430
|
* DateTime.jisx0301('13.02.03T04:05:06+07:00')
|
8230
8431
|
* #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
8432
|
+
*
|
8433
|
+
* Raise an ArgumentError when the string length is longer than _limit_.
|
8434
|
+
* You can stop this check by passing `limit: nil`, but note that
|
8435
|
+
* it may take a long time to parse.
|
8231
8436
|
*/
|
8232
8437
|
static VALUE
|
8233
8438
|
datetime_s_jisx0301(int argc, VALUE *argv, VALUE klass)
|
8234
8439
|
{
|
8235
|
-
VALUE str, sg;
|
8440
|
+
VALUE str, sg, opt;
|
8236
8441
|
|
8237
|
-
rb_scan_args(argc, argv, "02", &str, &sg);
|
8442
|
+
rb_scan_args(argc, argv, "02:", &str, &sg, &opt);
|
8443
|
+
if (!NIL_P(opt)) argc--;
|
8238
8444
|
|
8239
8445
|
switch (argc) {
|
8240
8446
|
case 0:
|
@@ -8244,7 +8450,12 @@ datetime_s_jisx0301(int argc, VALUE *argv, VALUE klass)
|
|
8244
8450
|
}
|
8245
8451
|
|
8246
8452
|
{
|
8247
|
-
|
8453
|
+
int argc2 = 1;
|
8454
|
+
VALUE argv2[2];
|
8455
|
+
argv2[0] = str;
|
8456
|
+
argv2[1] = opt;
|
8457
|
+
if (!NIL_P(opt)) argc2++;
|
8458
|
+
VALUE hash = date_s__jisx0301(argc2, argv2, klass);
|
8248
8459
|
return dt_new_by_frags(klass, hash, sg);
|
8249
8460
|
}
|
8250
8461
|
}
|
@@ -9403,19 +9614,19 @@ Init_date_core(void)
|
|
9403
9614
|
rb_define_singleton_method(cDate, "strptime", date_s_strptime, -1);
|
9404
9615
|
rb_define_singleton_method(cDate, "_parse", date_s__parse, -1);
|
9405
9616
|
rb_define_singleton_method(cDate, "parse", date_s_parse, -1);
|
9406
|
-
rb_define_singleton_method(cDate, "_iso8601", date_s__iso8601, 1);
|
9617
|
+
rb_define_singleton_method(cDate, "_iso8601", date_s__iso8601, -1);
|
9407
9618
|
rb_define_singleton_method(cDate, "iso8601", date_s_iso8601, -1);
|
9408
|
-
rb_define_singleton_method(cDate, "_rfc3339", date_s__rfc3339, 1);
|
9619
|
+
rb_define_singleton_method(cDate, "_rfc3339", date_s__rfc3339, -1);
|
9409
9620
|
rb_define_singleton_method(cDate, "rfc3339", date_s_rfc3339, -1);
|
9410
|
-
rb_define_singleton_method(cDate, "_xmlschema", date_s__xmlschema, 1);
|
9621
|
+
rb_define_singleton_method(cDate, "_xmlschema", date_s__xmlschema, -1);
|
9411
9622
|
rb_define_singleton_method(cDate, "xmlschema", date_s_xmlschema, -1);
|
9412
|
-
rb_define_singleton_method(cDate, "_rfc2822", date_s__rfc2822, 1);
|
9413
|
-
rb_define_singleton_method(cDate, "_rfc822", date_s__rfc2822, 1);
|
9623
|
+
rb_define_singleton_method(cDate, "_rfc2822", date_s__rfc2822, -1);
|
9624
|
+
rb_define_singleton_method(cDate, "_rfc822", date_s__rfc2822, -1);
|
9414
9625
|
rb_define_singleton_method(cDate, "rfc2822", date_s_rfc2822, -1);
|
9415
9626
|
rb_define_singleton_method(cDate, "rfc822", date_s_rfc2822, -1);
|
9416
|
-
rb_define_singleton_method(cDate, "_httpdate", date_s__httpdate, 1);
|
9627
|
+
rb_define_singleton_method(cDate, "_httpdate", date_s__httpdate, -1);
|
9417
9628
|
rb_define_singleton_method(cDate, "httpdate", date_s_httpdate, -1);
|
9418
|
-
rb_define_singleton_method(cDate, "_jisx0301", date_s__jisx0301, 1);
|
9629
|
+
rb_define_singleton_method(cDate, "_jisx0301", date_s__jisx0301, -1);
|
9419
9630
|
rb_define_singleton_method(cDate, "jisx0301", date_s_jisx0301, -1);
|
9420
9631
|
|
9421
9632
|
rb_define_method(cDate, "initialize", date_initialize, -1);
|
data/lib/date.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: date
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tadayoshi Funaba
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A subclass of Object includes Comparable module for handling dates.
|
14
14
|
email:
|
@@ -48,7 +48,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0'
|
50
50
|
requirements: []
|
51
|
-
rubygems_version: 3.
|
51
|
+
rubygems_version: 3.3.0.dev
|
52
52
|
signing_key:
|
53
53
|
specification_version: 4
|
54
54
|
summary: A subclass of Object includes Comparable module for handling dates.
|