toji 2.20.0 → 2.21.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/example/example_core.rb +10 -4
- data/lib/toji/ingredient/alcohol.rb +1 -1
- data/lib/toji/ingredient/base.rb +1 -1
- data/lib/toji/ingredient/kake.rb +6 -2
- data/lib/toji/ingredient/koji.rb +7 -3
- data/lib/toji/ingredient/lactic_acid.rb +1 -1
- data/lib/toji/ingredient/rice.rb +8 -0
- data/lib/toji/ingredient/tanekoji.rb +1 -1
- data/lib/toji/ingredient/water.rb +1 -1
- data/lib/toji/ingredient/yeast.rb +1 -1
- data/lib/toji/product/schedule_factory.rb +10 -5
- data/lib/toji/utils.rb +4 -4
- data/lib/toji/version.rb +1 -1
- 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: b77f334631cb7f784010f180c140f1d62e602b2bd38f3df985f253b0882e3002
|
4
|
+
data.tar.gz: b60120e7f1dd12480b51900e1e737c83fac9d0d8fdc94f844b5e3a1b0a8d113f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2290fd226b0b15ba3dd1eb9559dcf0ece2b53098eda7ce7f7615d2b2d5d33cbeb4dc74197be54a4b08864ecb0ff8ffed0257626f327ce273c35e4a47d447afbf
|
7
|
+
data.tar.gz: d1b7a139f56511611b5936dea84d3a4a90965cb9c736947dfa74003c85f4e2bd663960320bded0e08c30d4b49d386bf54e53f4286b48fcd4e67bdac1c5ccd6e3
|
data/example/example_core.rb
CHANGED
@@ -24,25 +24,27 @@ module Example
|
|
24
24
|
@color = color
|
25
25
|
end
|
26
26
|
|
27
|
-
def create_koji_schedule(date:, step_weights:, kojis:)
|
27
|
+
def create_koji_schedule(date:, group_key:, step_weights:, kojis:)
|
28
28
|
expect = kojis.first.dup
|
29
29
|
expect.weight = kojis.map(&:weight).sum
|
30
30
|
|
31
31
|
KojiSchedule.new(
|
32
32
|
product: self,
|
33
33
|
date: date,
|
34
|
+
group_key: group_key,
|
34
35
|
step_weights: step_weights,
|
35
36
|
expect: expect,
|
36
37
|
)
|
37
38
|
end
|
38
39
|
|
39
|
-
def create_kake_schedule(date:, step_weights:, kakes:)
|
40
|
+
def create_kake_schedule(date:, group_key:, step_weights:, kakes:)
|
40
41
|
expect = kakes.first.dup
|
41
42
|
expect.weight = kakes.map(&:weight).sum
|
42
43
|
|
43
44
|
KakeSchedule.new(
|
44
45
|
product: self,
|
45
46
|
date: date,
|
47
|
+
group_key: group_key,
|
46
48
|
step_weights: step_weights,
|
47
49
|
expect: expect,
|
48
50
|
)
|
@@ -941,13 +943,15 @@ module Example
|
|
941
943
|
|
942
944
|
attr_reader :product
|
943
945
|
attr_reader :date
|
946
|
+
attr_reader :group_key
|
944
947
|
|
945
948
|
attr_reader :step_weights
|
946
949
|
attr_reader :expect
|
947
950
|
|
948
|
-
def initialize(product:, date:, step_weights:, expect:)
|
951
|
+
def initialize(product:, date:, group_key:, step_weights:, expect:)
|
949
952
|
@product = product
|
950
953
|
@date = date
|
954
|
+
@group_key = group_key
|
951
955
|
@step_weights = step_weights
|
952
956
|
@expect = expect
|
953
957
|
end
|
@@ -958,13 +962,15 @@ module Example
|
|
958
962
|
|
959
963
|
attr_reader :product
|
960
964
|
attr_reader :date
|
965
|
+
attr_reader :group_key
|
961
966
|
|
962
967
|
attr_reader :step_weights
|
963
968
|
attr_reader :expect
|
964
969
|
|
965
|
-
def initialize(product:, date:, step_weights:, expect:)
|
970
|
+
def initialize(product:, date:, group_key:, step_weights:, expect:)
|
966
971
|
@product = product
|
967
972
|
@date = date
|
973
|
+
@group_key = group_key
|
968
974
|
@step_weights = step_weights
|
969
975
|
@expect = expect
|
970
976
|
end
|
data/lib/toji/ingredient/base.rb
CHANGED
data/lib/toji/ingredient/kake.rb
CHANGED
@@ -3,8 +3,12 @@ module Toji
|
|
3
3
|
module Kake
|
4
4
|
include Rice
|
5
5
|
|
6
|
-
def
|
7
|
-
[brand, polishing_ratio, made_in, year, soaking_ratio, steaming_ratio, cooling_ratio
|
6
|
+
def ingredient_key
|
7
|
+
[brand, polishing_ratio, made_in, year, soaking_ratio, steaming_ratio, cooling_ratio].join(":")
|
8
|
+
end
|
9
|
+
|
10
|
+
def default_process_group
|
11
|
+
self.hash
|
8
12
|
end
|
9
13
|
end
|
10
14
|
end
|
data/lib/toji/ingredient/koji.rb
CHANGED
@@ -18,11 +18,15 @@ module Toji
|
|
18
18
|
end
|
19
19
|
|
20
20
|
# Scheduleへのグループ識別子
|
21
|
-
def
|
22
|
-
keys1 = [brand, polishing_ratio, made_in, year, soaking_ratio, steaming_ratio, cooling_ratio, dekoji_ratio
|
23
|
-
keys2 = tanekojis&.map(&:
|
21
|
+
def ingredient_key
|
22
|
+
keys1 = [brand, polishing_ratio, made_in, year, soaking_ratio, steaming_ratio, cooling_ratio, dekoji_ratio]
|
23
|
+
keys2 = tanekojis&.map(&:ingredient_key)&.sort || []
|
24
24
|
(keys1 + keys2).join(":")
|
25
25
|
end
|
26
|
+
|
27
|
+
def default_process_group
|
28
|
+
""
|
29
|
+
end
|
26
30
|
end
|
27
31
|
end
|
28
32
|
end
|
data/lib/toji/ingredient/rice.rb
CHANGED
@@ -2,11 +2,14 @@ module Toji
|
|
2
2
|
module Product
|
3
3
|
module ScheduleFactory
|
4
4
|
|
5
|
-
|
5
|
+
# @dynamic recipe
|
6
|
+
# @dynamic base_date
|
7
|
+
|
8
|
+
def create_koji_schedule(date:, group_key:, step_weights:, kojis:)
|
6
9
|
raise Error, "implement required: create_koji_schedule"
|
7
10
|
end
|
8
11
|
|
9
|
-
def create_kake_schedule(date:, step_weights:, kakes:)
|
12
|
+
def create_kake_schedule(date:, group_key:, step_weights:, kakes:)
|
10
13
|
raise Error, "implement required: create_kake_schedule"
|
11
14
|
end
|
12
15
|
|
@@ -32,9 +35,10 @@ module Toji
|
|
32
35
|
0<schedule[:koji]&.weight.to_f
|
33
36
|
}.group_by {|schedule|
|
34
37
|
[schedule[:date], schedule[:koji].group_key]
|
35
|
-
}.map {|(date,
|
38
|
+
}.map {|(date, group_key), schedules|
|
36
39
|
create_koji_schedule(
|
37
40
|
date: date,
|
41
|
+
group_key: group_key,
|
38
42
|
step_weights: schedules.map {|schedule| schedule[:step_weight]}.sort_by {|x| [x[:index], x[:subindex]]},
|
39
43
|
kojis: schedules.map{|schedule| schedule[:koji]},
|
40
44
|
)
|
@@ -58,10 +62,11 @@ module Toji
|
|
58
62
|
}.select {|schedule|
|
59
63
|
0<schedule[:kake]&.weight.to_f
|
60
64
|
}.group_by {|schedule|
|
61
|
-
[schedule[:date], schedule[:kake].group_key
|
62
|
-
}.map {|(date,
|
65
|
+
[schedule[:date], schedule[:kake].group_key]
|
66
|
+
}.map {|(date, group_key), schedules|
|
63
67
|
create_kake_schedule(
|
64
68
|
date: date,
|
69
|
+
group_key: group_key,
|
65
70
|
step_weights: schedules.map {|schedule| schedule[:step_weight]}.sort_by {|x| [x[:index], x[:subindex]]},
|
66
71
|
kakes: schedules.map{|schedule| schedule[:kake]},
|
67
72
|
)
|
data/lib/toji/utils.rb
CHANGED
@@ -20,20 +20,20 @@ module Toji
|
|
20
20
|
result = {}
|
21
21
|
|
22
22
|
ingredients1&.each {|src|
|
23
|
-
dst = result[src.
|
23
|
+
dst = result[src.ingredient_key]
|
24
24
|
if dst
|
25
25
|
dst.weight = dst.weight.to_f + src.weight.to_f
|
26
26
|
else
|
27
|
-
result[src.
|
27
|
+
result[src.ingredient_key] = src
|
28
28
|
end
|
29
29
|
}
|
30
30
|
|
31
31
|
ingredients2&.each {|src|
|
32
|
-
dst = result[src.
|
32
|
+
dst = result[src.ingredient_key]
|
33
33
|
if dst
|
34
34
|
dst.weight = dst.weight.to_f + src.weight.to_f
|
35
35
|
else
|
36
|
-
result[src.
|
36
|
+
result[src.ingredient_key] = src.dup
|
37
37
|
end
|
38
38
|
}
|
39
39
|
|
data/lib/toji/version.rb
CHANGED