code-ruby 1.6.0 → 1.6.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/.rubocop.yml +2 -2
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/lib/code/object/date.rb +54 -45
- data/lib/code/object/dictionary.rb +1 -1
- data/lib/code/object/http.rb +1 -1
- data/lib/code/object/list.rb +1 -1
- data/lib/code/object/time.rb +74 -70
- data/lib/code-ruby.rb +1 -0
- data/spec/code_spec.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af47589cc6afaaec99b2aba7ed43af665f20de7bba2b5d3bc377eab281094cd6
|
4
|
+
data.tar.gz: 9203c5dbd24e58a1111ddc9505d429065c9a31210cd9e71e5e7d7fc9f49ef467
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b44776a7dc3bd70b03ae61fe921101b00ecd6ed084dfb674d403cf3fc55fc1d4d7890b0d9ef4147d970936716ceb568e8c91cd25adb08460c785c3b5b076ba94
|
7
|
+
data.tar.gz: f0331a5566bb8232444a02136612e1ad72ec47cbe588440d2d6bcfe42e8bc00649c4bfe3590f71c34d1f802055bd50a5e8b289c827cadc47ff46ea12a737106f
|
data/.rubocop.yml
CHANGED
@@ -30,6 +30,8 @@ Lint/MissingSuper:
|
|
30
30
|
Enabled: false
|
31
31
|
Lint/PercentStringArray:
|
32
32
|
Enabled: false
|
33
|
+
Lint/SafeNavigationChain:
|
34
|
+
Enabled: false
|
33
35
|
Lint/ShadowingOuterLocalVariable:
|
34
36
|
Enabled: false
|
35
37
|
Lint/SuppressedException:
|
@@ -120,8 +122,6 @@ Style/StringLiterals:
|
|
120
122
|
Enabled: false
|
121
123
|
Style/StringLiteralsInInterpolation:
|
122
124
|
Enabled: false
|
123
|
-
Lint/SafeNavigationChain:
|
124
|
-
Enabled: false
|
125
125
|
plugins:
|
126
126
|
- rubocop-factory_bot
|
127
127
|
- rubocop-performance
|
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.6.
|
1
|
+
1.6.2
|
data/lib/code/object/date.rb
CHANGED
@@ -7,6 +7,9 @@ class Code
|
|
7
7
|
|
8
8
|
class << self
|
9
9
|
delegate(
|
10
|
+
:code_format,
|
11
|
+
:code_past?,
|
12
|
+
:code_future?,
|
10
13
|
:code_add,
|
11
14
|
:code_substract,
|
12
15
|
:code_before?,
|
@@ -76,8 +79,25 @@ class Code
|
|
76
79
|
|
77
80
|
def self.call(**args)
|
78
81
|
code_operator = args.fetch(:operator, nil).to_code
|
82
|
+
code_arguments = args.fetch(:arguments, []).to_code
|
83
|
+
code_value = code_arguments.code_first
|
79
84
|
|
80
85
|
case code_operator.to_s
|
86
|
+
when "after?"
|
87
|
+
sig(args) { (Date | Time).maybe }
|
88
|
+
code_after?(code_value)
|
89
|
+
when "before?"
|
90
|
+
sig(args) { (Date | Time).maybe }
|
91
|
+
code_before?(code_value)
|
92
|
+
when "past?"
|
93
|
+
sig(args)
|
94
|
+
code_past?
|
95
|
+
when "future?"
|
96
|
+
sig(args)
|
97
|
+
code_future?
|
98
|
+
when "format"
|
99
|
+
sig(args) { String }
|
100
|
+
code_format(code_value)
|
81
101
|
when "tomorrow"
|
82
102
|
sig(args)
|
83
103
|
code_tomorrow
|
@@ -276,10 +296,10 @@ class Code
|
|
276
296
|
|
277
297
|
case code_operator.to_s
|
278
298
|
when "after?"
|
279
|
-
sig(args) { Time.maybe }
|
299
|
+
sig(args) { (Date | Time).maybe }
|
280
300
|
code_after?(code_value)
|
281
301
|
when "before?"
|
282
|
-
sig(args) { Time.maybe }
|
302
|
+
sig(args) { (Date | Time).maybe }
|
283
303
|
code_before?(code_value)
|
284
304
|
when "past?"
|
285
305
|
sig(args)
|
@@ -468,14 +488,14 @@ class Code
|
|
468
488
|
|
469
489
|
def code_after?(other = nil)
|
470
490
|
code_other = other.to_code
|
471
|
-
code_other = Date.
|
491
|
+
code_other = Date.new if code_other.nothing?
|
472
492
|
|
473
493
|
Boolean.new(raw.after?(code_other.raw))
|
474
494
|
end
|
475
495
|
|
476
496
|
def code_before?(other = nil)
|
477
497
|
code_other = other.to_code
|
478
|
-
code_other = Date.
|
498
|
+
code_other = Date.new if code_other.nothing?
|
479
499
|
|
480
500
|
Boolean.new(raw.before?(code_other.raw))
|
481
501
|
end
|
@@ -673,18 +693,14 @@ class Code
|
|
673
693
|
week_day.to_code.nothing? ? week_days.to_code : week_day.to_code
|
674
694
|
code_week = week.to_code.nothing? ? weeks.to_code : week.to_code
|
675
695
|
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
code_week_day.code_to_integer.raw,
|
685
|
-
cweek: code_weeks.code_to_integer.raw + code_week.code_to_integer.raw
|
686
|
-
)
|
687
|
-
)
|
696
|
+
year = code_years.code_to_integer.raw + code_year.code_to_integer.raw
|
697
|
+
month = code_months.code_to_integer.raw + code_month.code_to_integer.raw
|
698
|
+
day = code_days.code_to_integer.raw + code_day.code_to_integer.raw
|
699
|
+
week_day =
|
700
|
+
code_week_days.code_to_integer.raw + code_week_day.code_to_integer.raw
|
701
|
+
week = code_weeks.code_to_integer.raw + code_week.code_to_integer.raw
|
702
|
+
|
703
|
+
code_change(year:, month:, day:, week_day:, week:)
|
688
704
|
end
|
689
705
|
|
690
706
|
def code_substract(
|
@@ -706,18 +722,14 @@ class Code
|
|
706
722
|
week_day.to_code.nothing? ? week_days.to_code : week_day.to_code
|
707
723
|
code_week = week.to_code.nothing? ? weeks.to_code : week.to_code
|
708
724
|
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
code_week_day.code_to_integer.raw,
|
718
|
-
cweek: code_weeks.code_to_integer.raw - code_week.code_to_integer.raw
|
719
|
-
)
|
720
|
-
)
|
725
|
+
year = code_years.code_to_integer.raw - code_year.code_to_integer.raw
|
726
|
+
month = code_months.code_to_integer.raw - code_month.code_to_integer.raw
|
727
|
+
day = code_days.code_to_integer.raw - code_day.code_to_integer.raw
|
728
|
+
week_day =
|
729
|
+
code_week_days.code_to_integer.raw - code_week_day.code_to_integer.raw
|
730
|
+
week = code_weeks.code_to_integer.raw - code_week.code_to_integer.raw
|
731
|
+
|
732
|
+
code_change(year:, month:, day:, week_day:, week:)
|
721
733
|
end
|
722
734
|
|
723
735
|
def code_change(
|
@@ -739,23 +751,20 @@ class Code
|
|
739
751
|
week_day.to_code.nothing? ? week_days.to_code : week_day.to_code
|
740
752
|
code_week = week.to_code.nothing? ? weeks.to_code : week.to_code
|
741
753
|
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
else
|
757
|
-
Date.new(self)
|
758
|
-
end
|
754
|
+
year = code_year.raw || code_years.raw
|
755
|
+
month = code_month.raw || code_months.raw
|
756
|
+
day = code_day.raw || code_days.raw
|
757
|
+
wday = code_week_day.raw || code_week_days.raw
|
758
|
+
cweek = code_week.raw || code_weeks.raw
|
759
|
+
|
760
|
+
dup = raw.dup
|
761
|
+
dup += (year - raw.year).years
|
762
|
+
dup += (month - raw.month).months
|
763
|
+
dup += (day - raw.day).days
|
764
|
+
dup += (wday - raw.wday).days
|
765
|
+
dup += (cweek - raw.to_date.cweek).weeks
|
766
|
+
|
767
|
+
Date.new(dup)
|
759
768
|
end
|
760
769
|
end
|
761
770
|
end
|
data/lib/code/object/http.rb
CHANGED
@@ -202,7 +202,7 @@ class Code
|
|
202
202
|
code = response.code.to_i
|
203
203
|
status = STATUS_CODES.key(code) || :ok
|
204
204
|
|
205
|
-
Dictionary.new(code: code, status: status, body: response.body)
|
205
|
+
Dictionary.new(code: code, status: status, body: response.body.to_s)
|
206
206
|
end
|
207
207
|
end
|
208
208
|
end
|
data/lib/code/object/list.rb
CHANGED
data/lib/code/object/time.rb
CHANGED
@@ -7,6 +7,7 @@ class Code
|
|
7
7
|
|
8
8
|
class << self
|
9
9
|
delegate(
|
10
|
+
:code_format,
|
10
11
|
:code_add,
|
11
12
|
:code_substract,
|
12
13
|
:code_past?,
|
@@ -619,14 +620,14 @@ class Code
|
|
619
620
|
|
620
621
|
def code_after?(other = nil)
|
621
622
|
code_other = other.to_code
|
622
|
-
code_other = Time.
|
623
|
+
code_other = Time.new if code_other.nothing?
|
623
624
|
|
624
625
|
Boolean.new(raw.after?(code_other.raw))
|
625
626
|
end
|
626
627
|
|
627
628
|
def code_before?(other = nil)
|
628
629
|
code_other = other.to_code
|
629
|
-
code_other = Time.
|
630
|
+
code_other = Time.new if code_other.nothing?
|
630
631
|
|
631
632
|
Boolean.new(raw.before?(code_other.raw))
|
632
633
|
end
|
@@ -830,27 +831,30 @@ class Code
|
|
830
831
|
week_day.to_code.nothing? ? week_days.to_code : week_day.to_code
|
831
832
|
code_week = week.to_code.nothing? ? weeks.to_code : week.to_code
|
832
833
|
code_hour = hour.to_code.nothing? ? hours.to_code : hour.to_code
|
833
|
-
code_minute =
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
834
|
+
code_minute = minute.to_code.nothing? ? minutes.to_code : minute.to_code
|
835
|
+
code_second = second.to_code.nothing? ? seconds.to_code : second.to_code
|
836
|
+
|
837
|
+
year = code_years.code_to_integer.raw + code_year.code_to_integer.raw
|
838
|
+
month = code_months.code_to_integer.raw + code_month.code_to_integer.raw
|
839
|
+
day = code_days.code_to_integer.raw + code_day.code_to_integer.raw
|
840
|
+
week_day =
|
841
|
+
code_week_days.code_to_integer.raw + code_week_day.code_to_integer.raw
|
842
|
+
week = code_weeks.code_to_integer.raw + code_week.code_to_integer.raw
|
843
|
+
hour = code_hours.code_to_integer.raw + code_hour.code_to_integer.raw
|
844
|
+
minute =
|
845
|
+
code_minutes.code_to_integer.raw + code_minute.code_to_integer.raw
|
846
|
+
second =
|
847
|
+
code_seconds.code_to_integer.raw + code_second.code_to_integer.raw
|
848
|
+
|
849
|
+
code_change(
|
850
|
+
year:,
|
851
|
+
month:,
|
852
|
+
day:,
|
853
|
+
week_day:,
|
854
|
+
week:,
|
855
|
+
hour:,
|
856
|
+
minute:,
|
857
|
+
second:
|
854
858
|
)
|
855
859
|
end
|
856
860
|
|
@@ -879,27 +883,30 @@ class Code
|
|
879
883
|
week_day.to_code.nothing? ? week_days.to_code : week_day.to_code
|
880
884
|
code_week = week.to_code.nothing? ? weeks.to_code : week.to_code
|
881
885
|
code_hour = hour.to_code.nothing? ? hours.to_code : hour.to_code
|
882
|
-
code_minute =
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
886
|
+
code_minute = minute.to_code.nothing? ? minutes.to_code : minute.to_code
|
887
|
+
code_second = second.to_code.nothing? ? seconds.to_code : second.to_code
|
888
|
+
|
889
|
+
year = code_years.code_to_integer.raw - code_year.code_to_integer.raw
|
890
|
+
month = code_months.code_to_integer.raw - code_month.code_to_integer.raw
|
891
|
+
day = code_days.code_to_integer.raw - code_day.code_to_integer.raw
|
892
|
+
week_day =
|
893
|
+
code_week_days.code_to_integer.raw - code_week_day.code_to_integer.raw
|
894
|
+
week = code_weeks.code_to_integer.raw - code_week.code_to_integer.raw
|
895
|
+
hour = code_hours.code_to_integer.raw - code_hour.code_to_integer.raw
|
896
|
+
minute =
|
897
|
+
code_minutes.code_to_integer.raw - code_minute.code_to_integer.raw
|
898
|
+
second =
|
899
|
+
code_seconds.code_to_integer.raw - code_second.code_to_integer.raw
|
900
|
+
|
901
|
+
code_change(
|
902
|
+
year:,
|
903
|
+
month:,
|
904
|
+
day:,
|
905
|
+
week_day:,
|
906
|
+
week:,
|
907
|
+
hour:,
|
908
|
+
minute:,
|
909
|
+
second:
|
903
910
|
)
|
904
911
|
end
|
905
912
|
|
@@ -928,32 +935,29 @@ class Code
|
|
928
935
|
week_day.to_code.nothing? ? week_days.to_code : week_day.to_code
|
929
936
|
code_week = week.to_code.nothing? ? weeks.to_code : week.to_code
|
930
937
|
code_hour = hour.to_code.nothing? ? hours.to_code : hour.to_code
|
931
|
-
code_minute =
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
954
|
-
else
|
955
|
-
Time.new(self)
|
956
|
-
end
|
938
|
+
code_minute = minute.to_code.nothing? ? minutes.to_code : minute.to_code
|
939
|
+
code_second = second.to_code.nothing? ? seconds.to_code : second.to_code
|
940
|
+
|
941
|
+
year = code_year.raw || code_years.raw
|
942
|
+
month = code_month.raw || code_months.raw
|
943
|
+
day = code_day.raw || code_days.raw
|
944
|
+
wday = code_week_day.raw || code_week_days.raw
|
945
|
+
cweek = code_week.raw || code_weeks.raw
|
946
|
+
hour = code_hour.raw || code_hours.raw
|
947
|
+
min = code_minute.raw || code_minutes.raw
|
948
|
+
sec = code_second.raw || code_seconds.raw
|
949
|
+
|
950
|
+
dup = raw.dup
|
951
|
+
dup += (year - raw.year).years
|
952
|
+
dup += (month - raw.month).months
|
953
|
+
dup += (day - raw.day).days
|
954
|
+
dup += (wday - raw.wday).days
|
955
|
+
dup += (cweek - raw.to_date.cweek).weeks
|
956
|
+
dup += (hour - raw.hour).hours
|
957
|
+
dup += (min - raw.min).minutes
|
958
|
+
dup += (sec - raw.sec).seconds
|
959
|
+
|
960
|
+
Time.new(dup)
|
957
961
|
end
|
958
962
|
end
|
959
963
|
end
|
data/lib/code-ruby.rb
CHANGED
data/spec/code_spec.rb
CHANGED
@@ -268,8 +268,8 @@ RSpec.describe Code do
|
|
268
268
|
["Class(true, 1)", "Boolean"],
|
269
269
|
["Class.new(Boolean, Time)", "Boolean"],
|
270
270
|
["Class.new(Time, Boolean)", "Time"],
|
271
|
-
[
|
272
|
-
[
|
271
|
+
%w[Date("2024-3-2").to_string :2024-03-02],
|
272
|
+
%w[Date("2024-3-2").to_string :2024-03-02],
|
273
273
|
["Decimal(1, :2)", "100"],
|
274
274
|
["Decimal(:1, 2)", "100.0"],
|
275
275
|
["Decimal.new(1, :2)", "100"],
|