toji 2.12.0 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/example/calendar.ipynb +42 -51
  3. data/example/calendar.yaml +6 -6
  4. data/example/calendar_file.ipynb +35 -35
  5. data/example/example_core.rb +1039 -234
  6. data/example/kake_ingredient.rb +21 -15
  7. data/example/koji_ingredient.rb +31 -21
  8. data/example/{koji_making.ipynb → koji_progress.ipynb} +14 -14
  9. data/example/{koji_making.rb → koji_progress.rb} +3 -2
  10. data/example/{koji_making.yaml → koji_progress.yaml} +8 -9
  11. data/example/{koji_making_multi.ipynb → koji_progress_multi.ipynb} +21 -22
  12. data/example/{moromi.ipynb → moromi_progress.ipynb} +22 -22
  13. data/example/{moromi.rb → moromi_progress.rb} +3 -2
  14. data/example/{moromi.yaml → moromi_progress.yaml} +0 -0
  15. data/example/moto_progress.ipynb +121 -0
  16. data/example/{moto.rb → moto_progress.rb} +3 -2
  17. data/example/{moto.yaml → moto_progress.yaml} +14 -15
  18. data/example/recipe.rb +44 -32
  19. data/lib/toji.rb +4 -2
  20. data/lib/toji/calendar.rb +12 -12
  21. data/lib/toji/calendar/date_column.rb +8 -8
  22. data/lib/toji/calendar/date_row.rb +6 -6
  23. data/lib/toji/ingredient.rb +6 -2
  24. data/lib/toji/ingredient/alcohol.rb +14 -0
  25. data/lib/toji/ingredient/base.rb +12 -0
  26. data/lib/toji/ingredient/kake.rb +3 -9
  27. data/lib/toji/ingredient/koji.rb +19 -10
  28. data/lib/toji/ingredient/lactic_acid.rb +14 -0
  29. data/lib/toji/ingredient/rice.rb +51 -4
  30. data/lib/toji/ingredient/tanekoji.rb +29 -0
  31. data/lib/toji/ingredient/water.rb +18 -0
  32. data/lib/toji/ingredient/yeast.rb +21 -0
  33. data/lib/toji/processing.rb +18 -0
  34. data/lib/toji/{event → processing}/base.rb +1 -3
  35. data/lib/toji/processing/cooled_rice.rb +22 -0
  36. data/lib/toji/processing/cooled_rice_element.rb +8 -0
  37. data/lib/toji/processing/dekoji.rb +22 -0
  38. data/lib/toji/processing/dekoji_element.rb +8 -0
  39. data/lib/toji/processing/kake_processing.rb +7 -0
  40. data/lib/toji/processing/koji_processing.rb +10 -0
  41. data/lib/toji/processing/rice_processing.rb +19 -0
  42. data/lib/toji/processing/soaked_rice.rb +49 -0
  43. data/lib/toji/processing/soaked_rice_element.rb +18 -0
  44. data/lib/toji/processing/steamed_rice.rb +22 -0
  45. data/lib/toji/processing/steamed_rice_element.rb +8 -0
  46. data/lib/toji/product.rb +11 -32
  47. data/lib/toji/product/schedule_factory.rb +80 -0
  48. data/lib/toji/progress.rb +23 -0
  49. data/lib/toji/progress/base_progress.rb +37 -0
  50. data/lib/toji/progress/base_state.rb +36 -0
  51. data/lib/toji/progress/builder.rb +53 -0
  52. data/lib/toji/progress/graph.rb +11 -0
  53. data/lib/toji/{brew → progress}/graph/ab.rb +6 -6
  54. data/lib/toji/{brew → progress}/graph/bmd.rb +2 -2
  55. data/lib/toji/{brew/graph/multi_progress.rb → progress/graph/multi_progress_note.rb} +11 -11
  56. data/lib/toji/{brew/graph/progress.rb → progress/graph/progress_note.rb} +20 -18
  57. data/lib/toji/progress/koji_progress.rb +15 -0
  58. data/lib/toji/progress/koji_state.rb +23 -0
  59. data/lib/toji/{brew/moromi.rb → progress/moromi_progress.rb} +10 -6
  60. data/lib/toji/progress/moromi_state.rb +77 -0
  61. data/lib/toji/progress/moto_progress.rb +15 -0
  62. data/lib/toji/progress/moto_state.rb +31 -0
  63. data/lib/toji/progress/progress.rb +16 -0
  64. data/lib/toji/progress/state.rb +22 -0
  65. data/lib/toji/progress/state/baume_to_nihonshudo.rb +21 -0
  66. data/lib/toji/progress/state/nihonshudo_to_baume.rb +21 -0
  67. data/lib/toji/recipe.rb +51 -39
  68. data/lib/toji/recipe/ab_expect.rb +2 -2
  69. data/lib/toji/recipe/action.rb +2 -2
  70. data/lib/toji/recipe/step.rb +106 -71
  71. data/lib/toji/schedule.rb +5 -0
  72. data/lib/toji/schedule/action_schedule.rb +9 -0
  73. data/lib/toji/schedule/base.rb +9 -0
  74. data/lib/toji/schedule/kake_schedule.rb +11 -0
  75. data/lib/toji/schedule/koji_schedule.rb +11 -0
  76. data/lib/toji/schedule/rice_schedule.rb +16 -0
  77. data/lib/toji/utils.rb +43 -0
  78. data/lib/toji/version.rb +1 -1
  79. metadata +61 -47
  80. data/lib/toji/brew.rb +0 -18
  81. data/lib/toji/brew/base.rb +0 -55
  82. data/lib/toji/brew/builder.rb +0 -98
  83. data/lib/toji/brew/graph.rb +0 -11
  84. data/lib/toji/brew/koji.rb +0 -11
  85. data/lib/toji/brew/moto.rb +0 -11
  86. data/lib/toji/brew/state.rb +0 -122
  87. data/lib/toji/brew/wrapped_state.rb +0 -109
  88. data/lib/toji/event.rb +0 -5
  89. data/lib/toji/event/action_event.rb +0 -12
  90. data/lib/toji/event/kake_event.rb +0 -13
  91. data/lib/toji/event/koji_event.rb +0 -19
  92. data/lib/toji/event/rice_event.rb +0 -34
  93. data/lib/toji/ingredient/kake/actual.rb +0 -26
  94. data/lib/toji/ingredient/kake/base.rb +0 -18
  95. data/lib/toji/ingredient/kake/expected.rb +0 -40
  96. data/lib/toji/ingredient/koji/actual.rb +0 -29
  97. data/lib/toji/ingredient/koji/actual_fermentable.rb +0 -15
  98. data/lib/toji/ingredient/koji/base.rb +0 -35
  99. data/lib/toji/ingredient/koji/expected.rb +0 -45
  100. data/lib/toji/ingredient/koji/expected_fermentable.rb +0 -15
  101. data/lib/toji/ingredient/koji_rate.rb +0 -16
  102. data/lib/toji/ingredient/rice/actual_steamable.rb +0 -27
  103. data/lib/toji/ingredient/rice/base.rb +0 -40
  104. data/lib/toji/ingredient/rice/expected_steamable.rb +0 -27
  105. data/lib/toji/ingredient/rice_rate.rb +0 -23
  106. data/lib/toji/product/event_factory.rb +0 -70
@@ -1,8 +1,8 @@
1
1
  module Toji
2
2
  module Recipe
3
3
  module AbExpect
4
- attr_accessor :alcohol
5
- attr_accessor :nihonshudo
4
+ # @dynamic alcohol
5
+ # @dynamic nihonshudo
6
6
  end
7
7
  end
8
8
  end
@@ -1,8 +1,8 @@
1
1
  module Toji
2
2
  module Recipe
3
3
  module Action
4
- attr_accessor :type
5
- attr_accessor :interval_days
4
+ # @dynamic type
5
+ # @dynamic interval_days
6
6
  end
7
7
  end
8
8
  end
@@ -1,25 +1,40 @@
1
1
  module Toji
2
2
  module Recipe
3
3
  module Step
4
- attr_accessor :koji
5
- attr_accessor :koji_soaked_rate
6
- attr_accessor :koji_steamed_rate
7
- attr_accessor :koji_dekoji_rate
8
- attr_accessor :koji_interval_days
9
-
10
- attr_accessor :kake
11
- attr_accessor :kake_soaked_rate
12
- attr_accessor :kake_steamed_rate
13
- attr_accessor :kake_interval_days
14
-
15
- attr_accessor :water
16
- attr_accessor :lactic_acid
17
- attr_accessor :alcohol
18
- attr_accessor :yeast
4
+ # @dynamic index
5
+ # @dynamic subindex
6
+
7
+ # @dynamic kojis
8
+ # @dynamic kojis=
9
+ # @dynamic kakes
10
+ # @dynamic kakes=
11
+ # @dynamic waters
12
+ # @dynamic waters=
13
+ # @dynamic lactic_acids
14
+ # @dynamic lactic_acids=
15
+ # @dynamic alcohols
16
+ # @dynamic alcohols=
17
+ # @dynamic yeasts
18
+ # @dynamic yeasts=
19
+
20
+ # 麹米
21
+ def koji_total
22
+ (kojis || []).map(&:weight).map(&:to_f).sum.to_f
23
+ end
24
+
25
+ # 掛米
26
+ def kake_total
27
+ (kakes || []).map(&:weight).map(&:to_f).sum.to_f
28
+ end
19
29
 
20
30
  # 総米
21
31
  def rice_total
22
- kake.to_f + koji.to_f
32
+ koji_total + kake_total
33
+ end
34
+
35
+ # 汲水
36
+ def water_total
37
+ (waters || []).map(&:weight).map(&:to_f).sum.to_f
23
38
  end
24
39
 
25
40
  # 麹歩合
@@ -27,8 +42,8 @@ module Toji
27
42
  # 留め仕込みまでの総米重量の20〜22%が標準である
28
43
  # なお、留め仕込みまでの麹歩合が20%を下回ると蒸米の溶解糖化に影響が出るので注意がいる
29
44
  # 出典: 酒造教本 P95
30
- def koji_rate
31
- val = koji.to_f / rice_total
45
+ def koji_ratio
46
+ val = koji_total / rice_total
32
47
  val.nan? ? 0.0 : val
33
48
  end
34
49
 
@@ -41,54 +56,90 @@ module Toji
41
56
  # 全体: 留までの総米に対し120〜130%、標準は125%、高級酒は130〜145%である
42
57
  #
43
58
  # 出典: 酒造教本 P96
44
- def water_rate
45
- val = water.to_f / rice_total
59
+ def water_ratio
60
+ val = water_total / rice_total
46
61
  val.nan? ? 0.0 : val
47
62
  end
48
63
 
49
- def round(ndigit=0, mini_ndigit=nil, half: :up)
64
+ def scale!(ratio)
65
+ kojis&.each {|koji|
66
+ koji.weight *= ratio
67
+ }
68
+ kakes&.each {|kake|
69
+ kake.weight *= ratio
70
+ }
71
+ waters&.each {|water|
72
+ water.weight *= ratio
73
+ }
74
+ lactic_acids&.each {|lactic_acid|
75
+ lactic_acid.weight *= ratio
76
+ }
77
+ alcohols&.each {|alcohol|
78
+ alcohol.weight *= ratio
79
+ }
80
+ yeasts&.each {|yeast|
81
+ yeast.weight *= ratio
82
+ }
83
+ self
84
+ end
85
+
86
+ def scale(ratio)
87
+ Utils.check_dup(self)
88
+
89
+ dst = self.dup
90
+ dst.scale!(ratio)
91
+ end
92
+
93
+ def round!(ndigit=0, mini_ndigit=nil, half: :up)
50
94
  if !mini_ndigit
51
95
  mini_ndigit = ndigit + 3
52
96
  end
53
97
 
54
- self.class.new.tap {|o|
55
- o.koji = koji.to_f.round(ndigit, half: half)
56
- o.koji_soaked_rate = koji_soaked_rate.to_f
57
- o.koji_steamed_rate = koji_steamed_rate.to_f
58
- o.koji_dekoji_rate = koji_dekoji_rate.to_f
59
- o.koji_interval_days = koji_interval_days.to_i
60
-
61
- o.kake = kake.to_f.round(ndigit, half: half)
62
- o.kake_soaked_rate = kake_soaked_rate.to_f
63
- o.kake_steamed_rate = kake_steamed_rate.to_f
64
- o.kake_interval_days = kake_interval_days.to_i
65
-
66
- o.water = water.to_f.round(ndigit, half: half)
67
- o.lactic_acid = lactic_acid.to_f.round(mini_ndigit, half: half)
68
- o.alcohol = alcohol.to_f.round(ndigit, half: half)
69
- o.yeast = yeast.to_f.round(mini_ndigit, half: half)
98
+ kojis&.each {|koji|
99
+ koji.weight = koji.weight.to_f.round(ndigit, half: half)
100
+ }
101
+ kakes&.each {|kake|
102
+ kake.weight = kake.weight.to_f.round(ndigit, half: half)
103
+ }
104
+ waters&.each {|water|
105
+ water.weight = water.weight.to_f.round(ndigit, half: half)
106
+ }
107
+ lactic_acids&.each {|lactic_acid|
108
+ lactic_acid.weight = lactic_acid.weight.to_f.round(mini_ndigit, half: half)
109
+ }
110
+ alcohols&.each {|alcohol|
111
+ alcohol.weight = alcohol.weight.to_f.round(ndigit, half: half)
112
+ }
113
+ yeasts&.each {|yeast|
114
+ yeast.weight = yeast.weight.to_f.round(mini_ndigit, half: half)
70
115
  }
116
+
117
+ self
118
+ end
119
+
120
+ def round(ndigit=0, mini_ndigit=nil, half: :up)
121
+ Utils.check_dup(self)
122
+
123
+ dst = self.dup
124
+ dst.round!(ndigit, mini_ndigit, half: half)
71
125
  end
72
126
 
73
127
  def +(other)
74
128
  if Step===other
75
- self.class.new.tap {|o|
76
- o.koji = koji.to_f + other.koji.to_f
77
- o.koji_soaked_rate = koji_soaked_rate.to_f
78
- o.koji_steamed_rate = koji_steamed_rate.to_f
79
- o.koji_dekoji_rate = koji_dekoji_rate.to_f
80
- o.koji_interval_days = koji_interval_days.to_i
81
-
82
- o.kake = kake.to_f + other.kake.to_f
83
- o.kake_soaked_rate = kake_soaked_rate.to_f
84
- o.kake_steamed_rate = kake_steamed_rate.to_f
85
- o.kake_interval_days = kake_interval_days.to_i
86
-
87
- o.water = water.to_f + other.water.to_f
88
- o.lactic_acid = lactic_acid.to_f + other.lactic_acid.to_f
89
- o.alcohol = alcohol.to_f + other.alcohol.to_f
90
- o.yeast = yeast.to_f + other.yeast.to_f
91
- }
129
+ Utils.check_dup(self)
130
+ Utils.check_dup(other)
131
+
132
+ dst = self.dup
133
+ other = other.dup
134
+
135
+ dst.kojis = Utils.merge_ingredients(dst.kojis, other.kojis)
136
+ dst.kakes = Utils.merge_ingredients(dst.kakes, other.kakes)
137
+ dst.waters = Utils.merge_ingredients(dst.waters, other.waters)
138
+ dst.lactic_acids = Utils.merge_ingredients(dst.lactic_acids, other.lactic_acids)
139
+ dst.alcohols = Utils.merge_ingredients(dst.alcohols, other.alcohols)
140
+ dst.yeasts = Utils.merge_ingredients(dst.yeasts, other.yeasts)
141
+
142
+ dst
92
143
  else
93
144
  x, y = other.coerce(self)
94
145
  x + y
@@ -97,23 +148,7 @@ module Toji
97
148
 
98
149
  def *(other)
99
150
  if Integer===other || Float===other
100
- self.class.new.tap {|o|
101
- o.koji = koji.to_f * other
102
- o.koji_soaked_rate = koji_soaked_rate.to_f
103
- o.koji_steamed_rate = koji_steamed_rate.to_f
104
- o.koji_dekoji_rate = koji_dekoji_rate.to_f
105
- o.koji_interval_days = koji_interval_days.to_i
106
-
107
- o.kake = kake.to_f * other
108
- o.kake_soaked_rate = kake_soaked_rate.to_f
109
- o.kake_steamed_rate = kake_steamed_rate.to_f
110
- o.kake_interval_days = kake_interval_days.to_i
111
-
112
- o.water = water.to_f * other
113
- o.lactic_acid = lactic_acid.to_f * other
114
- o.alcohol = alcohol.to_f * other
115
- o.yeast = yeast.to_f * other
116
- }
151
+ scale(other)
117
152
  else
118
153
  x, y = other.coerce(self)
119
154
  x * y
@@ -0,0 +1,5 @@
1
+ require 'toji/schedule/base'
2
+ require 'toji/schedule/rice_schedule'
3
+ require 'toji/schedule/koji_schedule'
4
+ require 'toji/schedule/kake_schedule'
5
+ require 'toji/schedule/action_schedule'
@@ -0,0 +1,9 @@
1
+ module Toji
2
+ module Schedule
3
+ module ActionSchedule
4
+ include Base
5
+
6
+ # @dynamic action_index
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Toji
2
+ module Schedule
3
+ module Base
4
+ # @dynamic product
5
+ # @dynamic date
6
+ # @dynamic type
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ module Toji
2
+ module Schedule
3
+ module KakeSchedule
4
+ include RiceSchedule
5
+
6
+ def rice_type
7
+ :kake
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Toji
2
+ module Schedule
3
+ module KojiSchedule
4
+ include RiceSchedule
5
+
6
+ def rice_type
7
+ :koji
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ module Toji
2
+ module Schedule
3
+ module RiceSchedule
4
+ include Base
5
+
6
+ # @dynamic rice_type
7
+ # @dynamic step_indexes
8
+
9
+ # @dynamic expect
10
+
11
+ def type
12
+ :rice
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,43 @@
1
+ module Toji
2
+ module Utils
3
+ def self.activerecord_defined?
4
+ Object.const_defined?(:ActiveRecord) && ActiveRecord.const_defined?(:Base)
5
+ end
6
+
7
+ def self.check_dup(obj)
8
+ if activerecord_defined? && ActiveRecord::Base===obj
9
+ if !obj.class.method_defined?(:initialize_dup, false)
10
+ raise Error, "implementation required: #{obj.class}.initialize_dup"
11
+ end
12
+ else
13
+ if !obj.class.private_method_defined?(:initialize_copy, false)
14
+ raise Error, "implementation required: #{obj.class}.initialize_copy"
15
+ end
16
+ end
17
+ end
18
+
19
+ def self.merge_ingredients(ingredients1, ingredients2)
20
+ result = {}
21
+
22
+ ingredients1&.each {|src|
23
+ dst = result[src.group_key]
24
+ if dst
25
+ dst.weight = dst.weight.to_f + src.weight.to_f
26
+ else
27
+ result[src.group_key] = src
28
+ end
29
+ }
30
+
31
+ ingredients2&.each {|src|
32
+ dst = result[src.group_key]
33
+ if dst
34
+ dst.weight = dst.weight.to_f + src.weight.to_f
35
+ else
36
+ result[src.group_key] = src.dup
37
+ end
38
+ }
39
+
40
+ result.values
41
+ end
42
+ end
43
+ end
@@ -1,3 +1,3 @@
1
1
  module Toji
2
- VERSION = "2.12.0"
2
+ VERSION = "2.16.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toji
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.0
4
+ version: 2.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshida Tetsuya
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-28 00:00:00.000000000 Z
11
+ date: 2020-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -115,62 +115,76 @@ files:
115
115
  - example/example_core.rb
116
116
  - example/kake_ingredient.rb
117
117
  - example/koji_ingredient.rb
118
- - example/koji_making.ipynb
119
- - example/koji_making.rb
120
- - example/koji_making.yaml
121
- - example/koji_making_multi.ipynb
122
- - example/moromi.ipynb
123
- - example/moromi.rb
124
- - example/moromi.yaml
125
- - example/moto.rb
126
- - example/moto.yaml
118
+ - example/koji_progress.ipynb
119
+ - example/koji_progress.rb
120
+ - example/koji_progress.yaml
121
+ - example/koji_progress_multi.ipynb
122
+ - example/moromi_progress.ipynb
123
+ - example/moromi_progress.rb
124
+ - example/moromi_progress.yaml
125
+ - example/moto_progress.ipynb
126
+ - example/moto_progress.rb
127
+ - example/moto_progress.yaml
127
128
  - example/recipe.rb
128
129
  - lib/toji.rb
129
- - lib/toji/brew.rb
130
- - lib/toji/brew/base.rb
131
- - lib/toji/brew/builder.rb
132
- - lib/toji/brew/graph.rb
133
- - lib/toji/brew/graph/ab.rb
134
- - lib/toji/brew/graph/bmd.rb
135
- - lib/toji/brew/graph/multi_progress.rb
136
- - lib/toji/brew/graph/progress.rb
137
- - lib/toji/brew/koji.rb
138
- - lib/toji/brew/moromi.rb
139
- - lib/toji/brew/moto.rb
140
- - lib/toji/brew/state.rb
141
- - lib/toji/brew/wrapped_state.rb
142
130
  - lib/toji/calendar.rb
143
131
  - lib/toji/calendar/date_column.rb
144
132
  - lib/toji/calendar/date_row.rb
145
- - lib/toji/event.rb
146
- - lib/toji/event/action_event.rb
147
- - lib/toji/event/base.rb
148
- - lib/toji/event/kake_event.rb
149
- - lib/toji/event/koji_event.rb
150
- - lib/toji/event/rice_event.rb
151
133
  - lib/toji/ingredient.rb
134
+ - lib/toji/ingredient/alcohol.rb
135
+ - lib/toji/ingredient/base.rb
152
136
  - lib/toji/ingredient/kake.rb
153
- - lib/toji/ingredient/kake/actual.rb
154
- - lib/toji/ingredient/kake/base.rb
155
- - lib/toji/ingredient/kake/expected.rb
156
137
  - lib/toji/ingredient/koji.rb
157
- - lib/toji/ingredient/koji/actual.rb
158
- - lib/toji/ingredient/koji/actual_fermentable.rb
159
- - lib/toji/ingredient/koji/base.rb
160
- - lib/toji/ingredient/koji/expected.rb
161
- - lib/toji/ingredient/koji/expected_fermentable.rb
162
- - lib/toji/ingredient/koji_rate.rb
138
+ - lib/toji/ingredient/lactic_acid.rb
163
139
  - lib/toji/ingredient/rice.rb
164
- - lib/toji/ingredient/rice/actual_steamable.rb
165
- - lib/toji/ingredient/rice/base.rb
166
- - lib/toji/ingredient/rice/expected_steamable.rb
167
- - lib/toji/ingredient/rice_rate.rb
140
+ - lib/toji/ingredient/tanekoji.rb
141
+ - lib/toji/ingredient/water.rb
142
+ - lib/toji/ingredient/yeast.rb
143
+ - lib/toji/processing.rb
144
+ - lib/toji/processing/base.rb
145
+ - lib/toji/processing/cooled_rice.rb
146
+ - lib/toji/processing/cooled_rice_element.rb
147
+ - lib/toji/processing/dekoji.rb
148
+ - lib/toji/processing/dekoji_element.rb
149
+ - lib/toji/processing/kake_processing.rb
150
+ - lib/toji/processing/koji_processing.rb
151
+ - lib/toji/processing/rice_processing.rb
152
+ - lib/toji/processing/soaked_rice.rb
153
+ - lib/toji/processing/soaked_rice_element.rb
154
+ - lib/toji/processing/steamed_rice.rb
155
+ - lib/toji/processing/steamed_rice_element.rb
168
156
  - lib/toji/product.rb
169
- - lib/toji/product/event_factory.rb
157
+ - lib/toji/product/schedule_factory.rb
158
+ - lib/toji/progress.rb
159
+ - lib/toji/progress/base_progress.rb
160
+ - lib/toji/progress/base_state.rb
161
+ - lib/toji/progress/builder.rb
162
+ - lib/toji/progress/graph.rb
163
+ - lib/toji/progress/graph/ab.rb
164
+ - lib/toji/progress/graph/bmd.rb
165
+ - lib/toji/progress/graph/multi_progress_note.rb
166
+ - lib/toji/progress/graph/progress_note.rb
167
+ - lib/toji/progress/koji_progress.rb
168
+ - lib/toji/progress/koji_state.rb
169
+ - lib/toji/progress/moromi_progress.rb
170
+ - lib/toji/progress/moromi_state.rb
171
+ - lib/toji/progress/moto_progress.rb
172
+ - lib/toji/progress/moto_state.rb
173
+ - lib/toji/progress/progress.rb
174
+ - lib/toji/progress/state.rb
175
+ - lib/toji/progress/state/baume_to_nihonshudo.rb
176
+ - lib/toji/progress/state/nihonshudo_to_baume.rb
170
177
  - lib/toji/recipe.rb
171
178
  - lib/toji/recipe/ab_expect.rb
172
179
  - lib/toji/recipe/action.rb
173
180
  - lib/toji/recipe/step.rb
181
+ - lib/toji/schedule.rb
182
+ - lib/toji/schedule/action_schedule.rb
183
+ - lib/toji/schedule/base.rb
184
+ - lib/toji/schedule/kake_schedule.rb
185
+ - lib/toji/schedule/koji_schedule.rb
186
+ - lib/toji/schedule/rice_schedule.rb
187
+ - lib/toji/utils.rb
174
188
  - lib/toji/version.rb
175
189
  - toji.gemspec
176
190
  homepage: https://github.com/yoshida-eth0/ruby-toji
@@ -180,7 +194,7 @@ metadata:
180
194
  homepage_uri: https://github.com/yoshida-eth0/ruby-toji
181
195
  source_code_uri: https://github.com/yoshida-eth0/ruby-toji
182
196
  changelog_uri: https://github.com/yoshida-eth0/ruby-toji
183
- post_install_message:
197
+ post_install_message:
184
198
  rdoc_options: []
185
199
  require_paths:
186
200
  - lib
@@ -196,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
210
  version: '0'
197
211
  requirements: []
198
212
  rubygems_version: 3.1.2
199
- signing_key:
213
+ signing_key:
200
214
  specification_version: 4
201
215
  summary: Management tools for brewing japanese sake.
202
216
  test_files: []