zakuro 0.6.1 → 0.7.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 +4 -4
- data/Makefile +3 -0
- data/README.md +6 -4
- data/VERSION +1 -1
- data/doc/operation/transfer.rb +8 -8
- data/lib/zakuro/calculation/base/gengou.rb +46 -0
- data/lib/zakuro/calculation/era/gengou/{scroll.rb → abstract_scroll.rb} +6 -8
- data/lib/zakuro/calculation/era/gengou/dated_scroll.rb +30 -0
- data/lib/zakuro/calculation/era/gengou/internal/reserve/{list.rb → abstract_list.rb} +37 -51
- data/lib/zakuro/calculation/era/gengou/internal/reserve/{range.rb → abstract_range.rb} +17 -17
- data/lib/zakuro/calculation/era/gengou/internal/reserve/dated_list.rb +48 -0
- data/lib/zakuro/calculation/era/gengou/internal/reserve/dated_range.rb +30 -0
- data/lib/zakuro/calculation/era/gengou/internal/reserve/empty_link.rb +158 -0
- data/lib/zakuro/calculation/era/gengou/internal/reserve/named_list.rb +125 -0
- data/lib/zakuro/calculation/era/gengou/internal/reserve/named_range.rb +75 -0
- data/lib/zakuro/calculation/era/gengou/internal/reserve.rb +2 -3
- data/lib/zakuro/calculation/era/gengou/named_scroll.rb +30 -0
- data/lib/zakuro/calculation/monthly/month.rb +39 -0
- data/lib/zakuro/calculation/monthly/operated_month.rb +1 -1
- data/lib/zakuro/calculation/range/{full_range.rb → abstract_full_range.rb} +5 -4
- data/lib/zakuro/calculation/range/{operated_range.rb → abstract_operation_range.rb} +9 -11
- data/lib/zakuro/calculation/range/dated_full_range.rb +32 -0
- data/lib/zakuro/calculation/range/dated_operation_range.rb +33 -0
- data/lib/zakuro/calculation/range/named_full_range.rb +38 -0
- data/lib/zakuro/calculation/range/named_operation_range.rb +36 -0
- data/lib/zakuro/calculation/range/operated_solar_terms.rb +0 -2
- data/lib/zakuro/calculation/{specifier → summary}/internal/month.rb +1 -1
- data/lib/zakuro/calculation/summary/japan/range.rb +152 -0
- data/lib/zakuro/calculation/summary/japan/single.rb +118 -0
- data/lib/zakuro/calculation/summary/japan/specifier/single_day.rb +91 -0
- data/lib/zakuro/calculation/summary/western/range.rb +124 -0
- data/lib/zakuro/calculation/summary/western/single.rb +113 -0
- data/lib/zakuro/calculation/summary/western/specifier/multiple_day.rb +169 -0
- data/lib/zakuro/calculation/summary/western/specifier/single_day.rb +93 -0
- data/lib/zakuro/condition.rb +1 -2
- data/lib/zakuro/era/japan/gengou/alignment/aligner.rb +89 -74
- data/lib/zakuro/era/japan/gengou/alignment/division.rb +125 -122
- data/lib/zakuro/era/japan/gengou/alignment/line.rb +141 -122
- data/lib/zakuro/era/japan/gengou/alignment/linear_gengou.rb +171 -168
- data/lib/zakuro/era/japan/gengou/alignment.rb +38 -25
- data/lib/zakuro/era/japan/gengou/resource/parser.rb +183 -182
- data/lib/zakuro/era/japan/gengou/resource/type.rb +233 -232
- data/lib/zakuro/era/japan/gengou/resource/validator.rb +255 -254
- data/lib/zakuro/era/japan/gengou/resource.rb +23 -22
- data/lib/zakuro/era/japan/gengou.rb +5 -20
- data/lib/zakuro/era/western/calendar.rb +9 -9
- data/lib/zakuro/exception/case/pattern.rb +35 -0
- data/lib/zakuro/exception/case/preset.rb +51 -0
- data/lib/zakuro/exception/case/template.rb +48 -0
- data/lib/zakuro/exception/cause.rb +28 -0
- data/lib/zakuro/exception/exception.rb +37 -0
- data/lib/zakuro/exception/zakuro_error.rb +28 -0
- data/lib/zakuro/gateway/locale/date.rb +127 -0
- data/lib/zakuro/gateway/locale/range.rb +67 -0
- data/lib/zakuro/gateway/range.rb +99 -0
- data/lib/zakuro/gateway/single.rb +70 -0
- data/lib/zakuro/merchant.rb +8 -44
- data/lib/zakuro/operation/month/parser.rb +9 -9
- data/lib/zakuro/operation/month/type.rb +31 -31
- data/lib/zakuro/operation/month/validator.rb +49 -49
- data/lib/zakuro/operation/yaml/month.yaml +3736 -3736
- data/lib/zakuro/output/logger.rb +17 -3
- data/lib/zakuro/result/data/day.rb +43 -0
- data/lib/zakuro/result/data/gengou.rb +35 -0
- data/lib/zakuro/result/data/month.rb +63 -0
- data/lib/zakuro/result/data/single_day.rb +48 -0
- data/lib/zakuro/result/data/solar_term.rb +35 -0
- data/lib/zakuro/result/data/year.rb +45 -0
- data/lib/zakuro/result/operation/month/annotation.rb +40 -0
- data/lib/zakuro/result/operation/month/bundle.rb +36 -0
- data/lib/zakuro/result/operation/month/history.rb +54 -0
- data/lib/zakuro/result/operation/operation.rb +44 -0
- data/lib/zakuro/result/result.rb +4 -2
- metadata +46 -14
- data/lib/zakuro/calculation/specifier/multiple_day.rb +0 -162
- data/lib/zakuro/calculation/specifier/single_day.rb +0 -87
- data/lib/zakuro/calculation/summary/range.rb +0 -120
- data/lib/zakuro/calculation/summary/single.rb +0 -110
- data/lib/zakuro/result/data.rb +0 -187
- data/lib/zakuro/result/operation.rb +0 -114
data/lib/zakuro/merchant.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative './
|
3
|
+
require_relative './gateway/single'
|
4
4
|
|
5
|
-
require_relative './
|
6
|
-
|
7
|
-
require_relative './calculation/summary/range'
|
5
|
+
require_relative './gateway/range'
|
8
6
|
|
9
7
|
require_relative './condition'
|
10
8
|
|
@@ -55,52 +53,18 @@ module Zakuro
|
|
55
53
|
# @return [Result::Range] 和暦日範囲
|
56
54
|
#
|
57
55
|
def commit
|
58
|
-
date = condition.date
|
59
|
-
|
60
|
-
return single(date: date) if date
|
61
|
-
|
62
|
-
range = condition.range
|
63
|
-
|
64
|
-
return range(range: range) if range
|
65
|
-
|
66
|
-
{}
|
67
|
-
end
|
68
|
-
|
69
|
-
private
|
70
|
-
|
71
|
-
#
|
72
|
-
# 1日検索
|
73
|
-
#
|
74
|
-
# @param [Date] date 西暦日
|
75
|
-
#
|
76
|
-
# @return [Result::Single] 検索結果
|
77
|
-
#
|
78
|
-
def single(date:)
|
79
|
-
western_date = Western::Calendar.create(date: date)
|
80
|
-
|
81
56
|
# TODO: condition で設定する
|
82
57
|
context = Context.new(version_name: '')
|
83
58
|
|
84
|
-
|
85
|
-
end
|
59
|
+
single = Gateway::Single.new(context: context, date: condition.date)
|
86
60
|
|
87
|
-
|
88
|
-
# 期間検索
|
89
|
-
#
|
90
|
-
# @param [Catalog::Range] range 期間
|
91
|
-
#
|
92
|
-
# @return [Result::Range] 和暦日範囲
|
93
|
-
#
|
94
|
-
def range(range:)
|
95
|
-
start_date = Western::Calendar.create(date: range[:start])
|
96
|
-
last_date = Western::Calendar.create(date: range[:last])
|
61
|
+
return single.get unless single.invalid?
|
97
62
|
|
98
|
-
|
99
|
-
|
63
|
+
range = Gateway::Range.new(context: context, range: condition.range)
|
64
|
+
|
65
|
+
return range.get unless range.invalid?
|
100
66
|
|
101
|
-
|
102
|
-
context: context, start_date: start_date, last_date: last_date
|
103
|
-
)
|
67
|
+
{}
|
104
68
|
end
|
105
69
|
end
|
106
70
|
end
|
@@ -80,7 +80,7 @@ module Zakuro
|
|
80
80
|
def self.western_date(str:)
|
81
81
|
return Western::Calendar.new if invalid?(str: str)
|
82
82
|
|
83
|
-
Western::Calendar.parse(
|
83
|
+
Western::Calendar.parse(text: str)
|
84
84
|
end
|
85
85
|
|
86
86
|
#
|
@@ -311,8 +311,8 @@ module Zakuro
|
|
311
311
|
|
312
312
|
def self.create_solar_term(yaml_hash: {})
|
313
313
|
SolarTerm::Direction.new(
|
314
|
-
source: create_source_solar_term(yaml_hash: yaml_hash['
|
315
|
-
destination: create_destination_solar_term(yaml_hash: yaml_hash['
|
314
|
+
source: create_source_solar_term(yaml_hash: yaml_hash['src']),
|
315
|
+
destination: create_destination_solar_term(yaml_hash: yaml_hash['dest']),
|
316
316
|
days: Operation::TypeParser.days(str: yaml_hash['days'])
|
317
317
|
)
|
318
318
|
end
|
@@ -347,24 +347,24 @@ module Zakuro
|
|
347
347
|
|
348
348
|
def self.create_month_number(yaml_hash: {})
|
349
349
|
Number.new(
|
350
|
-
|
351
|
-
|
350
|
+
src: Operation::TypeParser.month_number(str: yaml_hash['src']),
|
351
|
+
dest: Operation::TypeParser.month_number(str: yaml_hash['dest'])
|
352
352
|
)
|
353
353
|
end
|
354
354
|
private_class_method :create_month_number
|
355
355
|
|
356
356
|
def self.create_month_leaped(yaml_hash: {})
|
357
357
|
Leaped.new(
|
358
|
-
|
359
|
-
|
358
|
+
src: Operation::TypeParser.month_leaped(str: yaml_hash['src']),
|
359
|
+
dest: Operation::TypeParser.month_leaped(str: yaml_hash['dest'])
|
360
360
|
)
|
361
361
|
end
|
362
362
|
private_class_method :create_month_leaped
|
363
363
|
|
364
364
|
def self.create_month_day(yaml_hash: {})
|
365
365
|
Days.new(
|
366
|
-
|
367
|
-
|
366
|
+
src: yaml_hash['src'],
|
367
|
+
dest: yaml_hash['dest']
|
368
368
|
)
|
369
369
|
end
|
370
370
|
private_class_method :create_month_day
|
@@ -339,20 +339,20 @@ module Zakuro
|
|
339
339
|
# Number 月
|
340
340
|
#
|
341
341
|
class Number
|
342
|
-
# @return [Integer]
|
343
|
-
attr_reader :
|
344
|
-
# @return [Integer]
|
345
|
-
attr_reader :
|
342
|
+
# @return [Integer] 移動もと
|
343
|
+
attr_reader :src
|
344
|
+
# @return [Integer] 移動先
|
345
|
+
attr_reader :dest
|
346
346
|
|
347
347
|
#
|
348
348
|
# 初期化
|
349
349
|
#
|
350
|
-
# @param [Integer]
|
351
|
-
# @param [Integer]
|
350
|
+
# @param [Integer] src 移動元
|
351
|
+
# @param [Integer] dest 移動先
|
352
352
|
#
|
353
|
-
def initialize(
|
354
|
-
@
|
355
|
-
@
|
353
|
+
def initialize(src: -1, dest: -1)
|
354
|
+
@src = src
|
355
|
+
@dest = dest
|
356
356
|
end
|
357
357
|
|
358
358
|
#
|
@@ -362,7 +362,7 @@ module Zakuro
|
|
362
362
|
# @return [False] 有効
|
363
363
|
#
|
364
364
|
def invalid?
|
365
|
-
@
|
365
|
+
@src == -1 || @dest == -1
|
366
366
|
end
|
367
367
|
|
368
368
|
#
|
@@ -381,7 +381,7 @@ module Zakuro
|
|
381
381
|
# @return [Integer] 間隔
|
382
382
|
#
|
383
383
|
def interval
|
384
|
-
@
|
384
|
+
@src - @dest
|
385
385
|
end
|
386
386
|
|
387
387
|
#
|
@@ -428,22 +428,22 @@ module Zakuro
|
|
428
428
|
# Leaped 閏有無
|
429
429
|
#
|
430
430
|
class Leaped
|
431
|
-
# @return [True, False]
|
432
|
-
attr_reader :
|
433
|
-
# @return [True, False]
|
434
|
-
attr_reader :
|
431
|
+
# @return [True, False] 移動元
|
432
|
+
attr_reader :src
|
433
|
+
# @return [True, False] 移動先
|
434
|
+
attr_reader :dest
|
435
435
|
|
436
436
|
# :reek:BooleanParameter
|
437
437
|
|
438
438
|
#
|
439
439
|
# 初期化
|
440
440
|
#
|
441
|
-
# @param [True, False]
|
442
|
-
# @param [True, False]
|
441
|
+
# @param [True, False] src 移動元
|
442
|
+
# @param [True, False] dest 移動先
|
443
443
|
#
|
444
|
-
def initialize(
|
445
|
-
@
|
446
|
-
@
|
444
|
+
def initialize(src: false, dest: false)
|
445
|
+
@src = src
|
446
|
+
@dest = dest
|
447
447
|
end
|
448
448
|
|
449
449
|
#
|
@@ -453,7 +453,7 @@ module Zakuro
|
|
453
453
|
# @return [False] 有効
|
454
454
|
#
|
455
455
|
def invalid?
|
456
|
-
!@
|
456
|
+
!@src && !@dest
|
457
457
|
end
|
458
458
|
end
|
459
459
|
|
@@ -469,12 +469,12 @@ module Zakuro
|
|
469
469
|
#
|
470
470
|
# 初期化
|
471
471
|
#
|
472
|
-
# @param [String]
|
473
|
-
# @param [String]
|
472
|
+
# @param [String] src 移動元
|
473
|
+
# @param [String] dest 移動先
|
474
474
|
#
|
475
|
-
def initialize(
|
476
|
-
@
|
477
|
-
@
|
475
|
+
def initialize(src: '小', dest: '小')
|
476
|
+
@src = src
|
477
|
+
@dest = dest
|
478
478
|
end
|
479
479
|
|
480
480
|
#
|
@@ -483,8 +483,8 @@ module Zakuro
|
|
483
483
|
# @return [True] 大
|
484
484
|
# @return [False] 小
|
485
485
|
#
|
486
|
-
def
|
487
|
-
@
|
486
|
+
def src
|
487
|
+
@src == BIG
|
488
488
|
end
|
489
489
|
|
490
490
|
#
|
@@ -493,8 +493,8 @@ module Zakuro
|
|
493
493
|
# @return [True] 大
|
494
494
|
# @return [False] 小
|
495
495
|
#
|
496
|
-
def
|
497
|
-
@
|
496
|
+
def dest
|
497
|
+
@dest == BIG
|
498
498
|
end
|
499
499
|
|
500
500
|
#
|
@@ -504,7 +504,7 @@ module Zakuro
|
|
504
504
|
# @return [False] 有効
|
505
505
|
#
|
506
506
|
def invalid?
|
507
|
-
@
|
507
|
+
@src == @dest
|
508
508
|
end
|
509
509
|
end
|
510
510
|
end
|
@@ -135,7 +135,7 @@ module Zakuro
|
|
135
135
|
def self.western_date?(str: '')
|
136
136
|
return Western::Calendar.new if str == EMPTY_STRING
|
137
137
|
|
138
|
-
Western::Calendar.valid_date_string(
|
138
|
+
Western::Calendar.valid_date_string(text: str)
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
@@ -461,14 +461,14 @@ module Zakuro
|
|
461
461
|
#
|
462
462
|
# @param [Integer] index 連番
|
463
463
|
# @param [Hash<String, Object>] yaml_hash yaml
|
464
|
-
# @option yaml_hash [Hash] :
|
465
|
-
# @option yaml_hash [Hash] :
|
464
|
+
# @option yaml_hash [Hash] :src 移動元
|
465
|
+
# @option yaml_hash [Hash] :dest 移動先
|
466
466
|
# @option yaml_hash [String] :days 中気差分
|
467
467
|
#
|
468
468
|
def initialize(index:, yaml_hash: {})
|
469
469
|
@index = index
|
470
|
-
@source = Source.new(diff_index: index, yaml_hash: yaml_hash['
|
471
|
-
@destination = Destination.new(diff_index: index, yaml_hash: yaml_hash['
|
470
|
+
@source = Source.new(diff_index: index, yaml_hash: yaml_hash['src'])
|
471
|
+
@destination = Destination.new(diff_index: index, yaml_hash: yaml_hash['dest'])
|
472
472
|
@days = yaml_hash['days']
|
473
473
|
end
|
474
474
|
|
@@ -537,7 +537,7 @@ module Zakuro
|
|
537
537
|
def validate
|
538
538
|
failed = []
|
539
539
|
|
540
|
-
prefix = "[#{@diff_index}][solar_term.
|
540
|
+
prefix = "[#{@diff_index}][solar_term.src] invalid"
|
541
541
|
|
542
542
|
failed.push("#{prefix} 'index'. #{@index}") unless index?
|
543
543
|
|
@@ -600,7 +600,7 @@ module Zakuro
|
|
600
600
|
def validate
|
601
601
|
failed = []
|
602
602
|
|
603
|
-
prefix = "[#{@diff_index}][solar_term.
|
603
|
+
prefix = "[#{@diff_index}][solar_term.dest] invalid"
|
604
604
|
|
605
605
|
failed.push("#{prefix} 'index'. #{@index}") unless index?
|
606
606
|
|
@@ -633,23 +633,23 @@ module Zakuro
|
|
633
633
|
|
634
634
|
# @return [Integer] 連番
|
635
635
|
attr_reader :index
|
636
|
-
# @return [String]
|
637
|
-
attr_reader :
|
638
|
-
# @return [String]
|
639
|
-
attr_reader :
|
636
|
+
# @return [String] 移動元
|
637
|
+
attr_reader :src
|
638
|
+
# @return [String] 移動先
|
639
|
+
attr_reader :dest
|
640
640
|
|
641
641
|
#
|
642
642
|
# 初期化
|
643
643
|
#
|
644
644
|
# @param [Integer] index 連番
|
645
645
|
# @param [Hash<String, String>] yaml_hash yaml
|
646
|
-
# @option yaml_hash [String] :
|
647
|
-
# @option yaml_hash [String] :
|
646
|
+
# @option yaml_hash [String] :src 移動元
|
647
|
+
# @option yaml_hash [String] :dest 移動先
|
648
648
|
#
|
649
649
|
def initialize(index:, yaml_hash: {})
|
650
650
|
@index = index
|
651
|
-
@
|
652
|
-
@
|
651
|
+
@src = yaml_hash['src']
|
652
|
+
@dest = yaml_hash['dest']
|
653
653
|
end
|
654
654
|
|
655
655
|
#
|
@@ -662,19 +662,19 @@ module Zakuro
|
|
662
662
|
|
663
663
|
prefix = "[#{@index}][#{NAME}] invalid"
|
664
664
|
|
665
|
-
failed.push("#{prefix} '
|
665
|
+
failed.push("#{prefix} 'src'. #{@src}") unless src?
|
666
666
|
|
667
|
-
failed.push("#{prefix} '
|
667
|
+
failed.push("#{prefix} 'dest'. #{@dest}") unless dest?
|
668
668
|
|
669
669
|
failed
|
670
670
|
end
|
671
671
|
|
672
|
-
def
|
673
|
-
Types.positive?(str: @
|
672
|
+
def src?
|
673
|
+
Types.positive?(str: @src)
|
674
674
|
end
|
675
675
|
|
676
|
-
def
|
677
|
-
Types.positive?(str: @
|
676
|
+
def dest?
|
677
|
+
Types.positive?(str: @dest)
|
678
678
|
end
|
679
679
|
end
|
680
680
|
|
@@ -686,23 +686,23 @@ module Zakuro
|
|
686
686
|
|
687
687
|
# @return [Integer] 連番
|
688
688
|
attr_reader :index
|
689
|
-
# @return [String]
|
690
|
-
attr_reader :
|
691
|
-
# @return [String]
|
692
|
-
attr_reader :
|
689
|
+
# @return [String] 移動元
|
690
|
+
attr_reader :src
|
691
|
+
# @return [String] 移動先
|
692
|
+
attr_reader :dest
|
693
693
|
|
694
694
|
#
|
695
695
|
# 初期化
|
696
696
|
#
|
697
697
|
# @param [Integer] index 連番
|
698
698
|
# @param [Hash<String, String>] yaml_hash yaml
|
699
|
-
# @option yaml_hash [String] :
|
700
|
-
# @option yaml_hash [String] :
|
699
|
+
# @option yaml_hash [String] :src 移動元
|
700
|
+
# @option yaml_hash [String] :dest 移動先
|
701
701
|
#
|
702
702
|
def initialize(index:, yaml_hash: {})
|
703
703
|
@index = index
|
704
|
-
@
|
705
|
-
@
|
704
|
+
@src = yaml_hash['src']
|
705
|
+
@dest = yaml_hash['dest']
|
706
706
|
end
|
707
707
|
|
708
708
|
#
|
@@ -715,19 +715,19 @@ module Zakuro
|
|
715
715
|
|
716
716
|
prefix = "[#{@index}][#{NAME}] invalid"
|
717
717
|
|
718
|
-
failed.push("#{prefix} '
|
718
|
+
failed.push("#{prefix} 'src'. #{@src}") unless src?
|
719
719
|
|
720
|
-
failed.push("#{prefix} '
|
720
|
+
failed.push("#{prefix} 'dest'. #{@dest}") unless dest?
|
721
721
|
|
722
722
|
failed
|
723
723
|
end
|
724
724
|
|
725
|
-
def
|
726
|
-
Types.empiable_bool?(str: @
|
725
|
+
def src?
|
726
|
+
Types.empiable_bool?(str: @src)
|
727
727
|
end
|
728
728
|
|
729
|
-
def
|
730
|
-
Types.empiable_bool?(str: @
|
729
|
+
def dest?
|
730
|
+
Types.empiable_bool?(str: @dest)
|
731
731
|
end
|
732
732
|
end
|
733
733
|
|
@@ -739,23 +739,23 @@ module Zakuro
|
|
739
739
|
|
740
740
|
# @return [Integer] 連番
|
741
741
|
attr_reader :index
|
742
|
-
# @return [String]
|
743
|
-
attr_reader :
|
744
|
-
# @return [String]
|
745
|
-
attr_reader :
|
742
|
+
# @return [String] 移動元
|
743
|
+
attr_reader :src
|
744
|
+
# @return [String] 移動先
|
745
|
+
attr_reader :dest
|
746
746
|
|
747
747
|
#
|
748
748
|
# 初期化
|
749
749
|
#
|
750
750
|
# @param [Integer] index 連番
|
751
751
|
# @param [Hash<String, String>] yaml_hash yaml
|
752
|
-
# @option yaml_hash [String] :
|
753
|
-
# @option yaml_hash [String] :
|
752
|
+
# @option yaml_hash [String] :src 移動元
|
753
|
+
# @option yaml_hash [String] :dest 移動先
|
754
754
|
#
|
755
755
|
def initialize(index:, yaml_hash: {})
|
756
756
|
@index = index
|
757
|
-
@
|
758
|
-
@
|
757
|
+
@src = yaml_hash['src']
|
758
|
+
@dest = yaml_hash['dest']
|
759
759
|
end
|
760
760
|
|
761
761
|
#
|
@@ -768,19 +768,19 @@ module Zakuro
|
|
768
768
|
|
769
769
|
prefix = "[#{@index}][#{NAME}] invalid"
|
770
770
|
|
771
|
-
failed.push("#{prefix} '
|
771
|
+
failed.push("#{prefix} 'src'. #{@src}") unless src?
|
772
772
|
|
773
|
-
failed.push("#{prefix} '
|
773
|
+
failed.push("#{prefix} 'dest'. #{@dest}") unless dest?
|
774
774
|
|
775
775
|
failed
|
776
776
|
end
|
777
777
|
|
778
|
-
def
|
779
|
-
Types.month_days?(str: @
|
778
|
+
def src?
|
779
|
+
Types.month_days?(str: @src)
|
780
780
|
end
|
781
781
|
|
782
|
-
def
|
783
|
-
Types.month_days?(str: @
|
782
|
+
def dest?
|
783
|
+
Types.month_days?(str: @dest)
|
784
784
|
end
|
785
785
|
end
|
786
786
|
|