toji 2.12.0 → 2.13.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 +850 -230
  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 +11 -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 +50 -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 +20 -0
  33. data/lib/toji/processing.rb +18 -0
  34. data/lib/toji/processing/base.rb +7 -0
  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 +74 -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 +39 -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 +4 -4
  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} +9 -5
  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 +15 -0
  64. data/lib/toji/progress/state.rb +9 -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 +53 -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 +97 -71
  71. data/lib/toji/schedule.rb +5 -0
  72. data/lib/toji/schedule/action_schedule.rb +9 -0
  73. data/lib/toji/{event → schedule}/base.rb +1 -1
  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 +58 -44
  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
+ attr_reader :alcohol
5
+ attr_reader :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
+ attr_reader :type
5
+ attr_reader :interval_days
6
6
  end
7
7
  end
8
8
  end
@@ -1,25 +1,31 @@
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
+ attr_accessor :kojis
5
+ attr_accessor :kakes
6
+ attr_accessor :waters
7
+ attr_accessor :lactic_acids
8
+ attr_accessor :alcohols
9
+ attr_accessor :yeasts
10
+
11
+ # 麹米
12
+ def koji_total
13
+ (kojis || []).map(&:weight).map(&:to_f).sum.to_f
14
+ end
15
+
16
+ # 掛米
17
+ def kake_total
18
+ (kakes || []).map(&:weight).map(&:to_f).sum.to_f
19
+ end
19
20
 
20
21
  # 総米
21
22
  def rice_total
22
- kake.to_f + koji.to_f
23
+ koji_total + kake_total
24
+ end
25
+
26
+ # 汲水
27
+ def water_total
28
+ (waters || []).map(&:weight).map(&:to_f).sum.to_f
23
29
  end
24
30
 
25
31
  # 麹歩合
@@ -27,8 +33,8 @@ module Toji
27
33
  # 留め仕込みまでの総米重量の20〜22%が標準である
28
34
  # なお、留め仕込みまでの麹歩合が20%を下回ると蒸米の溶解糖化に影響が出るので注意がいる
29
35
  # 出典: 酒造教本 P95
30
- def koji_rate
31
- val = koji.to_f / rice_total
36
+ def koji_ratio
37
+ val = koji_total / rice_total
32
38
  val.nan? ? 0.0 : val
33
39
  end
34
40
 
@@ -41,54 +47,90 @@ module Toji
41
47
  # 全体: 留までの総米に対し120〜130%、標準は125%、高級酒は130〜145%である
42
48
  #
43
49
  # 出典: 酒造教本 P96
44
- def water_rate
45
- val = water.to_f / rice_total
50
+ def water_ratio
51
+ val = water_total / rice_total
46
52
  val.nan? ? 0.0 : val
47
53
  end
48
54
 
49
- def round(ndigit=0, mini_ndigit=nil, half: :up)
55
+ def scale!(ratio)
56
+ kojis&.each {|koji|
57
+ koji.weight *= ratio
58
+ }
59
+ kakes&.each {|kake|
60
+ kake.weight *= ratio
61
+ }
62
+ waters&.each {|water|
63
+ water.weight *= ratio
64
+ }
65
+ lactic_acids&.each {|lactic_acid|
66
+ lactic_acid.weight *= ratio
67
+ }
68
+ alcohols&.each {|alcohol|
69
+ alcohol.weight *= ratio
70
+ }
71
+ yeasts&.each {|yeast|
72
+ yeast.weight *= ratio
73
+ }
74
+ self
75
+ end
76
+
77
+ def scale(ratio)
78
+ Utils.check_dup(self)
79
+
80
+ dst = self.dup
81
+ dst.scale!(ratio)
82
+ end
83
+
84
+ def round!(ndigit=0, mini_ndigit=nil, half: :up)
50
85
  if !mini_ndigit
51
86
  mini_ndigit = ndigit + 3
52
87
  end
53
88
 
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)
89
+ kojis&.each {|koji|
90
+ koji.weight = koji.weight.to_f.round(ndigit, half: half)
91
+ }
92
+ kakes&.each {|kake|
93
+ kake.weight = kake.weight.to_f.round(ndigit, half: half)
94
+ }
95
+ waters&.each {|water|
96
+ water.weight = water.weight.to_f.round(ndigit, half: half)
70
97
  }
98
+ lactic_acids&.each {|lactic_acid|
99
+ lactic_acid.weight = lactic_acid.weight.to_f.round(mini_ndigit, half: half)
100
+ }
101
+ alcohols&.each {|alcohol|
102
+ alcohol.weight = alcohol.weight.to_f.round(ndigit, half: half)
103
+ }
104
+ yeasts&.each {|yeast|
105
+ yeast.weight = yeast.weight.to_f.round(mini_ndigit, half: half)
106
+ }
107
+
108
+ self
109
+ end
110
+
111
+ def round(ndigit=0, mini_ndigit=nil, half: :up)
112
+ Utils.check_dup(self)
113
+
114
+ dst = self.dup
115
+ dst.round!(ndigit, mini_ndigit, half: half)
71
116
  end
72
117
 
73
118
  def +(other)
74
119
  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
- }
120
+ Utils.check_dup(self)
121
+ Utils.check_dup(other)
122
+
123
+ dst = self.dup
124
+ other = other.dup
125
+
126
+ dst.kojis = Utils.merge_ingredients(dst.kojis, other.kojis)
127
+ dst.kakes = Utils.merge_ingredients(dst.kakes, other.kakes)
128
+ dst.waters = Utils.merge_ingredients(dst.waters, other.waters)
129
+ dst.lactic_acids = Utils.merge_ingredients(dst.lactic_acids, other.lactic_acids)
130
+ dst.alcohols = Utils.merge_ingredients(dst.alcohols, other.alcohols)
131
+ dst.yeasts = Utils.merge_ingredients(dst.yeasts, other.yeasts)
132
+
133
+ dst
92
134
  else
93
135
  x, y = other.coerce(self)
94
136
  x + y
@@ -97,23 +139,7 @@ module Toji
97
139
 
98
140
  def *(other)
99
141
  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
- }
142
+ scale(other)
117
143
  else
118
144
  x, y = other.coerce(self)
119
145
  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
+ attr_reader :index
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  module Toji
2
- module Event
2
+ module Schedule
3
3
  module Base
4
4
  attr_reader :product
5
5
  attr_reader :date
@@ -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
+ attr_reader :rice_type
7
+ attr_reader :step_indexes
8
+
9
+ attr_reader :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.13.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.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshida Tetsuya
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-28 00:00:00.000000000 Z
11
+ date: 2020-11-01 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