toji 2.12.0 → 2.13.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.
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