toji 1.6.4 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/example/calendar.ipynb +123 -0
- data/example/{schedule.yaml → calendar.yaml} +6 -30
- data/example/calendar_file.ipynb +338 -0
- data/example/example_core.rb +336 -0
- data/example/kake_recipe.rb +27 -0
- data/example/koji_making.ipynb +16 -15
- data/example/koji_making.rb +2 -1
- data/example/koji_making.yaml +9 -9
- data/example/koji_making_multi.ipynb +26 -25
- data/example/koji_recipe.rb +1 -1
- data/example/moromi.ipynb +25 -24
- data/example/moromi.rb +1 -0
- data/example/moromi.yaml +10 -4
- data/example/recipe.rb +75 -0
- data/example/shubo.ipynb +15 -14
- data/example/shubo.rb +2 -1
- data/example/shubo.yaml +10 -10
- data/lib/toji.rb +3 -1
- data/lib/toji/brew.rb +1 -2
- data/lib/toji/brew/base.rb +7 -71
- data/lib/toji/brew/builder.rb +47 -4
- data/lib/toji/brew/graph/bmd.rb +0 -1
- data/lib/toji/brew/graph/progress.rb +1 -1
- data/lib/toji/brew/koji.rb +0 -10
- data/lib/toji/brew/moromi.rb +2 -36
- data/lib/toji/brew/shubo.rb +0 -5
- data/lib/toji/brew/state.rb +58 -111
- data/lib/toji/brew/state_wrapper.rb +135 -0
- data/lib/toji/calendar.rb +123 -0
- data/lib/toji/{schedule → calendar}/date_column.rb +3 -4
- data/lib/toji/{schedule → calendar}/date_row.rb +6 -6
- data/lib/toji/ingredient.rb +10 -0
- data/lib/toji/ingredient/kake.rb +17 -0
- data/lib/toji/ingredient/kake/actual.rb +27 -0
- data/lib/toji/ingredient/kake/base.rb +18 -0
- data/lib/toji/ingredient/kake/expected.rb +41 -0
- data/lib/toji/ingredient/koji.rb +19 -0
- data/lib/toji/ingredient/koji/actual.rb +30 -0
- data/lib/toji/ingredient/koji/actual_fermentable.rb +15 -0
- data/lib/toji/ingredient/koji/base.rb +35 -0
- data/lib/toji/ingredient/koji/expected.rb +46 -0
- data/lib/toji/ingredient/koji/expected_fermentable.rb +15 -0
- data/lib/toji/{recipe → ingredient}/koji_rate.rb +1 -1
- data/lib/toji/ingredient/rice.rb +10 -0
- data/lib/toji/ingredient/rice/actual_steamable.rb +27 -0
- data/lib/toji/ingredient/rice/base.rb +41 -0
- data/lib/toji/ingredient/rice/expected_steamable.rb +29 -0
- data/lib/toji/ingredient/rice_rate.rb +35 -0
- data/lib/toji/product.rb +65 -0
- data/lib/toji/{schedule/product_event.rb → product/event.rb} +14 -4
- data/lib/toji/recipe.rb +120 -5
- data/lib/toji/recipe/step.rb +46 -48
- data/lib/toji/version.rb +1 -1
- metadata +31 -37
- data/example/rice_recipe.rb +0 -28
- data/example/schedule.ipynb +0 -393
- data/example/schedule_file.ipynb +0 -337
- data/example/three_step_mashing_recipe.rb +0 -67
- data/lib/toji/brew/state_accessor.rb +0 -13
- data/lib/toji/brew/state_record.rb +0 -72
- data/lib/toji/recipe/ingredient.rb +0 -10
- data/lib/toji/recipe/ingredient/koji.rb +0 -21
- data/lib/toji/recipe/ingredient/koji/actual.rb +0 -32
- data/lib/toji/recipe/ingredient/koji/actual_fermentable.rb +0 -17
- data/lib/toji/recipe/ingredient/koji/base.rb +0 -37
- data/lib/toji/recipe/ingredient/koji/expected.rb +0 -48
- data/lib/toji/recipe/ingredient/koji/expected_fermentable.rb +0 -17
- data/lib/toji/recipe/ingredient/rice.rb +0 -21
- data/lib/toji/recipe/ingredient/rice/actual.rb +0 -29
- data/lib/toji/recipe/ingredient/rice/actual_steamable.rb +0 -29
- data/lib/toji/recipe/ingredient/rice/base.rb +0 -51
- data/lib/toji/recipe/ingredient/rice/expected.rb +0 -43
- data/lib/toji/recipe/ingredient/rice/expected_steamable.rb +0 -31
- data/lib/toji/recipe/ingredient/yeast.rb +0 -21
- data/lib/toji/recipe/rice_rate.rb +0 -10
- data/lib/toji/recipe/rice_rate/base.rb +0 -21
- data/lib/toji/recipe/rice_rate/cooked.rb +0 -67
- data/lib/toji/recipe/rice_rate/steamed.rb +0 -30
- data/lib/toji/recipe/three_step_mashing.rb +0 -264
- data/lib/toji/recipe/yeast_rate.rb +0 -41
- data/lib/toji/schedule.rb +0 -11
- data/lib/toji/schedule/calendar.rb +0 -139
- data/lib/toji/schedule/date_interval_enumerator.rb +0 -45
- data/lib/toji/schedule/product.rb +0 -83
data/example/koji_making.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'toji'
|
2
|
+
require_relative 'example_core'
|
2
3
|
require 'terminal-table'
|
3
4
|
|
4
|
-
koji =
|
5
|
+
koji = Example::Brew::Koji.load_yaml_file(File.dirname(__FILE__)+"/koji_making.yaml")
|
5
6
|
|
6
7
|
table = Terminal::Table.new do |t|
|
7
8
|
t << ["作業", "日数", "品温(度)", "操作室温", "乾湿差(度)", "経過時間", "日時"]
|
data/example/koji_making.yaml
CHANGED
@@ -1,50 +1,50 @@
|
|
1
1
|
date_line: 0
|
2
|
-
|
2
|
+
states:
|
3
3
|
- time: 2020-1-1 9:00
|
4
|
-
mark:
|
4
|
+
mark: 引込み
|
5
5
|
temps: 35.0
|
6
6
|
room_temp: 28.0
|
7
7
|
room_psychrometry:
|
8
8
|
- elapsed_time: 3600
|
9
|
-
mark:
|
9
|
+
mark: 床揉み
|
10
10
|
temps: 32.0
|
11
11
|
room_temp: 28.0
|
12
12
|
room_psychrometry:
|
13
13
|
- elapsed_time: 32400
|
14
|
-
mark:
|
14
|
+
mark: 切返し
|
15
15
|
temps:
|
16
16
|
- 32.0
|
17
17
|
- 31.0
|
18
18
|
room_temp: 28.0
|
19
19
|
room_psychrometry:
|
20
20
|
- elapsed_time: 75600
|
21
|
-
mark:
|
21
|
+
mark: 盛り
|
22
22
|
temps:
|
23
23
|
- 35.0
|
24
24
|
- 33.0
|
25
25
|
room_temp: 28.0
|
26
26
|
room_psychrometry: 4
|
27
27
|
- elapsed_time: 104400
|
28
|
-
mark:
|
28
|
+
mark: 仲仕事
|
29
29
|
temps:
|
30
30
|
- 37.0
|
31
31
|
- 35.0
|
32
32
|
room_temp: 28.0
|
33
33
|
room_psychrometry: 4
|
34
34
|
- elapsed_time: 126000
|
35
|
-
mark:
|
35
|
+
mark: 仕舞仕事
|
36
36
|
temps:
|
37
37
|
- 38.0
|
38
38
|
- 37.0
|
39
39
|
room_temp: 28.0
|
40
40
|
room_psychrometry: 5
|
41
41
|
- elapsed_time: 140400
|
42
|
-
mark:
|
42
|
+
mark: 最高積替
|
43
43
|
temps: 40.0
|
44
44
|
room_temp: 28.0
|
45
45
|
room_psychrometry: 5
|
46
46
|
- elapsed_time: 158400
|
47
|
-
mark:
|
47
|
+
mark: 出麹
|
48
48
|
temps: 40.0
|
49
49
|
room_temp: 28.0
|
50
50
|
room_psychrometry: 5
|
@@ -2,7 +2,7 @@
|
|
2
2
|
"cells": [
|
3
3
|
{
|
4
4
|
"cell_type": "code",
|
5
|
-
"execution_count":
|
5
|
+
"execution_count": 2,
|
6
6
|
"metadata": {
|
7
7
|
"scrolled": false
|
8
8
|
},
|
@@ -16,25 +16,25 @@
|
|
16
16
|
" </script>\n",
|
17
17
|
"\n",
|
18
18
|
"\n",
|
19
|
-
"<div id=\"
|
19
|
+
"<div id=\"a5123bbf-db10-4d7d-b9b6-08c2fda63e1f\" style=\"height: 100%; width: 100%;\"></div>\n",
|
20
20
|
"\n",
|
21
21
|
"<script>\n",
|
22
22
|
" require(['plotly'], function(Plotly) { \n",
|
23
23
|
"Plotly.newPlot(\n",
|
24
|
-
" '
|
24
|
+
" 'a5123bbf-db10-4d7d-b9b6-08c2fda63e1f',\n",
|
25
25
|
" [{\"x\":[0,32400.0,39600.0,64800.0,64801.0,97200.0,117900.0,117901.0,150300.0,150301.0,156600.0,189000.0,189001.0,201600.0,216000.0],\"y\":[null,27.3,27.2,31.2,30.1,30.7,32.7,31.2,35.6,33.5,34.8,36.2,34.7,38.9,41.6],\"text\":[null,\"03/28 15:30\",\"03/28 17:30\",\"03/29 00:30\",\"03/29 00:30\",\"03/29 09:30\",\"03/29 15:15\",\"03/29 15:15\",\"03/30 00:15\",\"03/30 00:15\",\"03/30 02:00\",\"03/30 11:00\",\"03/30 11:00\",\"03/30 14:30\",\"03/30 18:30\"],\"name\":\"actual temps\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#1f77b4\"}},{\"x\":[0,32400.0,39600.0,64800.0,97200.0,117900.0,150300.0,156600.0,189000.0,201600.0,216000.0],\"y\":[null,30,33,33,35,35,37,40,45,50,50],\"text\":[null,\"03/28 15:30\",\"03/28 17:30\",\"03/29 00:30\",\"03/29 09:30\",\"03/29 15:15\",\"03/30 00:15\",\"03/30 02:00\",\"03/30 11:00\",\"03/30 14:30\",\"03/30 18:30\"],\"name\":\"actual preset_temp\",\"line\":{\"dash\":\"solid\",\"shape\":\"hv\"},\"marker\":{\"color\":\"#ff7f0e\"}},{\"x\":[0,32400.0,64800.0,97200.0,117900.0,150300.0,189000.0,201600.0,216000.0],\"y\":[null,29,28.5,27,28,28,30,31,36],\"text\":[null,\"03/28 15:30\",\"03/29 00:30\",\"03/29 09:30\",\"03/29 15:15\",\"03/30 00:15\",\"03/30 11:00\",\"03/30 14:30\",\"03/30 18:30\"],\"name\":\"actual room_temp\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#2ca02c\"}},{\"x\":[0,32400.0,36000.0,64800.0,64801.0,108000.0,108001.0,136800.0,136801.0,158400.0,158401.0,172800.0,190800.0],\"y\":[null,35.0,32.0,32.0,31.0,35.0,33.0,37.0,35.0,38.0,37.0,40.0,40.0],\"text\":[null,\"01/01 09:00\",\"01/01 10:00\",\"01/01 18:00\",\"01/01 18:00\",\"01/02 06:00\",\"01/02 06:00\",\"01/02 14:00\",\"01/02 14:00\",\"01/02 20:00\",\"01/02 20:00\",\"01/03 00:00\",\"01/03 05:00\"],\"name\":\"expect temps\",\"line\":{\"dash\":\"dot\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#1f77b4\"}},{\"x\":[0,32400.0,36000.0,64800.0,108000.0,136800.0,158400.0,172800.0,190800.0],\"y\":[null,28.0,28.0,28.0,28.0,28.0,28.0,28.0,28.0],\"text\":[null,\"01/01 09:00\",\"01/01 10:00\",\"01/01 18:00\",\"01/02 06:00\",\"01/02 14:00\",\"01/02 20:00\",\"01/03 00:00\",\"01/03 05:00\"],\"name\":\"expect room_temp\",\"line\":{\"dash\":\"dot\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#2ca02c\"}},{\"x\":[0,108000.0,136800.0,158400.0,172800.0,190800.0],\"y\":[null,4,4,5,5,5],\"text\":[null,\"01/02 06:00\",\"01/02 14:00\",\"01/02 20:00\",\"01/03 00:00\",\"01/03 05:00\"],\"name\":\"expect room_psychrometry\",\"line\":{\"dash\":\"dot\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#d62728\"}}],\n",
|
26
|
-
" {\"xaxis\":{\"dtick\":86400,\"tickvals\":[0,86400,172800],\"ticktext\":[1
|
26
|
+
" {\"xaxis\":{\"dtick\":86400,\"tickvals\":[0,86400,172800],\"ticktext\":[\"1\",\"2\",\"3\"]},\"annotations\":[{\"x\":32400.0,\"y\":27.3,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"引込み\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":64800.0,\"y\":31.2,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"切返し\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":117900.0,\"y\":32.7,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"盛り\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":150300.0,\"y\":35.6,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"仲仕事\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":189000.0,\"y\":36.2,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"仕舞仕事\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":216000.0,\"y\":41.6,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"出麹\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40}]},\n",
|
27
27
|
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
28
28
|
")\n",
|
29
29
|
"\n",
|
30
30
|
"window.addEventListener('resize', function() {\n",
|
31
|
-
" Plotly.Plots.resize(document.getElementById('
|
31
|
+
" Plotly.Plots.resize(document.getElementById('a5123bbf-db10-4d7d-b9b6-08c2fda63e1f'))\n",
|
32
32
|
"})\n",
|
33
33
|
" }) \n",
|
34
34
|
"</script>"
|
35
35
|
],
|
36
36
|
"text/plain": [
|
37
|
-
"#<Plotly::Offline::HTML:
|
37
|
+
"#<Plotly::Offline::HTML:0x00007fa440994148 @id=\"a5123bbf-db10-4d7d-b9b6-08c2fda63e1f\", @data=[{:x=>[0, 32400.0, 39600.0, 64800.0, 64801.0, 97200.0, 117900.0, 117901.0, 150300.0, 150301.0, 156600.0, 189000.0, 189001.0, 201600.0, 216000.0], :y=>[nil, 27.3, 27.2, 31.2, 30.1, 30.7, 32.7, 31.2, 35.6, 33.5, 34.8, 36.2, 34.7, 38.9, 41.6], :text=>[nil, \"03/28 15:30\", \"03/28 17:30\", \"03/29 00:30\", \"03/29 00:30\", \"03/29 09:30\", \"03/29 15:15\", \"03/29 15:15\", \"03/30 00:15\", \"03/30 00:15\", \"03/30 02:00\", \"03/30 11:00\", \"03/30 11:00\", \"03/30 14:30\", \"03/30 18:30\"], :name=>\"actual temps\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#1f77b4\"}}, {:x=>[0, 32400.0, 39600.0, 64800.0, 97200.0, 117900.0, 150300.0, 156600.0, 189000.0, 201600.0, 216000.0], :y=>[nil, 30, 33, 33, 35, 35, 37, 40, 45, 50, 50], :text=>[nil, \"03/28 15:30\", \"03/28 17:30\", \"03/29 00:30\", \"03/29 09:30\", \"03/29 15:15\", \"03/30 00:15\", \"03/30 02:00\", \"03/30 11:00\", \"03/30 14:30\", \"03/30 18:30\"], :name=>\"actual preset_temp\", :line=>{:dash=>:solid, :shape=>:hv}, :marker=>{:color=>\"#ff7f0e\"}}, {:x=>[0, 32400.0, 64800.0, 97200.0, 117900.0, 150300.0, 189000.0, 201600.0, 216000.0], :y=>[nil, 29, 28.5, 27, 28, 28, 30, 31, 36], :text=>[nil, \"03/28 15:30\", \"03/29 00:30\", \"03/29 09:30\", \"03/29 15:15\", \"03/30 00:15\", \"03/30 11:00\", \"03/30 14:30\", \"03/30 18:30\"], :name=>\"actual room_temp\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#2ca02c\"}}, {:x=>[0, 32400.0, 36000.0, 64800.0, 64801.0, 108000.0, 108001.0, 136800.0, 136801.0, 158400.0, 158401.0, 172800.0, 190800.0], :y=>[nil, 35.0, 32.0, 32.0, 31.0, 35.0, 33.0, 37.0, 35.0, 38.0, 37.0, 40.0, 40.0], :text=>[nil, \"01/01 09:00\", \"01/01 10:00\", \"01/01 18:00\", \"01/01 18:00\", \"01/02 06:00\", \"01/02 06:00\", \"01/02 14:00\", \"01/02 14:00\", \"01/02 20:00\", \"01/02 20:00\", \"01/03 00:00\", \"01/03 05:00\"], :name=>\"expect temps\", :line=>{:dash=>:dot, :shape=>:linear}, :marker=>{:color=>\"#1f77b4\"}}, {:x=>[0, 32400.0, 36000.0, 64800.0, 108000.0, 136800.0, 158400.0, 172800.0, 190800.0], :y=>[nil, 28.0, 28.0, 28.0, 28.0, 28.0, 28.0, 28.0, 28.0], :text=>[nil, \"01/01 09:00\", \"01/01 10:00\", \"01/01 18:00\", \"01/02 06:00\", \"01/02 14:00\", \"01/02 20:00\", \"01/03 00:00\", \"01/03 05:00\"], :name=>\"expect room_temp\", :line=>{:dash=>:dot, :shape=>:linear}, :marker=>{:color=>\"#2ca02c\"}}, {:x=>[0, 108000.0, 136800.0, 158400.0, 172800.0, 190800.0], :y=>[nil, 4, 4, 5, 5, 5], :text=>[nil, \"01/02 06:00\", \"01/02 14:00\", \"01/02 20:00\", \"01/03 00:00\", \"01/03 05:00\"], :name=>\"expect room_psychrometry\", :line=>{:dash=>:dot, :shape=>:linear}, :marker=>{:color=>\"#d62728\"}}], @layout={:xaxis=>{:dtick=>86400, :tickvals=>[0, 86400, 172800], :ticktext=>[\"1\", \"2\", \"3\"]}, :annotations=>[{:x=>32400.0, :y=>27.3, :xref=>\"x\", :yref=>\"y\", :text=>\"引込み\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>64800.0, :y=>31.2, :xref=>\"x\", :yref=>\"y\", :text=>\"切返し\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>117900.0, :y=>32.7, :xref=>\"x\", :yref=>\"y\", :text=>\"盛り\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>150300.0, :y=>35.6, :xref=>\"x\", :yref=>\"y\", :text=>\"仲仕事\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>189000.0, :y=>36.2, :xref=>\"x\", :yref=>\"y\", :text=>\"仕舞仕事\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>216000.0, :y=>41.6, :xref=>\"x\", :yref=>\"y\", :text=>\"出麹\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}]}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
38
38
|
]
|
39
39
|
},
|
40
40
|
"metadata": {},
|
@@ -49,25 +49,25 @@
|
|
49
49
|
" </script>\n",
|
50
50
|
"\n",
|
51
51
|
"\n",
|
52
|
-
"<div id=\"
|
52
|
+
"<div id=\"db5326db-4f25-4bba-9307-3b3cb75ac6e4\" style=\"height: 100%; width: 100%;\"></div>\n",
|
53
53
|
"\n",
|
54
54
|
"<script>\n",
|
55
55
|
" require(['plotly'], function(Plotly) { \n",
|
56
56
|
"Plotly.newPlot(\n",
|
57
|
-
" '
|
58
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[[\"\",\"day_label\"],[\"actual\",\"day_label\"],[\"\",\"display_time\"],[\"\",\"mark\"],[\"\",\"temps\"],[\"\",\"preset_temp\"],[\"\",\"room_temp\"],[\"expect\",\"day_label\"],[\"\",\"display_time\"],[\"\",\"mark\"],[\"\",\"temps\"],[\"\",\"room_temp\"],[\"\",\"room_psychrometry\"]]},\"cells\":{\"values\":[[1,\"\",\"\"
|
59
|
-
" {\"height\":
|
57
|
+
" 'db5326db-4f25-4bba-9307-3b3cb75ac6e4',\n",
|
58
|
+
" [{\"type\":\"table\",\"header\":{\"values\":[[\"\",\"day_label\"],[\"actual\",\"day_label\"],[\"\",\"display_time\"],[\"\",\"mark\"],[\"\",\"temps\"],[\"\",\"preset_temp\"],[\"\",\"room_temp\"],[\"expect\",\"day_label\"],[\"\",\"display_time\"],[\"\",\"mark\"],[\"\",\"temps\"],[\"\",\"room_temp\"],[\"\",\"room_psychrometry\"]]},\"cells\":{\"values\":[[\"1\",\"\",\"\",\"2\",\"\",\"\",\"\",\"3\",\"\",\"\"],[\"1\",\"1\",\"1\",\"2\",\"2\",\"2\",\"2\",\"3\",\"3\",\"3\"],[\"03/28 15:30\",\"03/28 17:30\",\"03/29 00:30\",\"03/29 09:30\",\"03/29 15:15\",\"03/30 00:15\",\"03/30 02:00\",\"03/30 11:00\",\"03/30 14:30\",\"03/30 18:30\"],[\"引込み\",\"\",\"切返し\",\"\",\"盛り\",\"仲仕事\",\"\",\"仕舞仕事\",\"\",\"出麹\"],[\"27.3\",\"27.2\",\"31.2, 30.1\",\"30.7\",\"32.7, 31.2\",\"35.6, 33.5\",\"34.8\",\"36.2, 34.7\",\"38.9\",\"41.6\"],[30,33,33,35,35,37,40,45,50,50],[29,\"\",28.5,27,28,28,\"\",30,31,36],[\"1\",\"1\",\"1\",\"2\",\"2\",\"2\",\"\",\"3\",\"3\",\"\"],[\"01/01 09:00\",\"01/01 10:00\",\"01/01 18:00\",\"01/02 06:00\",\"01/02 14:00\",\"01/02 20:00\",\"\",\"01/03 00:00\",\"01/03 05:00\",\"\"],[\"引込み\",\"床揉み\",\"切返し\",\"盛り\",\"仲仕事\",\"仕舞仕事\",\"\",\"最高積替\",\"出麹\",\"\"],[\"35.0\",\"32.0\",\"32.0, 31.0\",\"35.0, 33.0\",\"37.0, 35.0\",\"38.0, 37.0\",\"\",\"40.0\",\"40.0\",\"\"],[28.0,28.0,28.0,28.0,28.0,28.0,\"\",28.0,28.0,\"\"],[\"\",\"\",\"\",4,4,5,\"\",5,5,\"\"]]}}],\n",
|
59
|
+
" {\"height\":700},\n",
|
60
60
|
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
61
61
|
")\n",
|
62
62
|
"\n",
|
63
63
|
"window.addEventListener('resize', function() {\n",
|
64
|
-
" Plotly.Plots.resize(document.getElementById('
|
64
|
+
" Plotly.Plots.resize(document.getElementById('db5326db-4f25-4bba-9307-3b3cb75ac6e4'))\n",
|
65
65
|
"})\n",
|
66
66
|
" }) \n",
|
67
67
|
"</script>"
|
68
68
|
],
|
69
69
|
"text/plain": [
|
70
|
-
"#<Plotly::Offline::HTML:
|
70
|
+
"#<Plotly::Offline::HTML:0x00007fa44055d3b8 @id=\"db5326db-4f25-4bba-9307-3b3cb75ac6e4\", @data=[{:type=>:table, :header=>{:values=>[[\"\", :day_label], [:actual, :day_label], [\"\", :display_time], [\"\", :mark], [\"\", :temps], [\"\", :preset_temp], [\"\", :room_temp], [:expect, :day_label], [\"\", :display_time], [\"\", :mark], [\"\", :temps], [\"\", :room_temp], [\"\", :room_psychrometry]]}, :cells=>{:values=>[[\"1\", \"\", \"\", \"2\", \"\", \"\", \"\", \"3\", \"\", \"\"], [\"1\", \"1\", \"1\", \"2\", \"2\", \"2\", \"2\", \"3\", \"3\", \"3\"], [\"03/28 15:30\", \"03/28 17:30\", \"03/29 00:30\", \"03/29 09:30\", \"03/29 15:15\", \"03/30 00:15\", \"03/30 02:00\", \"03/30 11:00\", \"03/30 14:30\", \"03/30 18:30\"], [\"引込み\", \"\", \"切返し\", \"\", \"盛り\", \"仲仕事\", \"\", \"仕舞仕事\", \"\", \"出麹\"], [\"27.3\", \"27.2\", \"31.2, 30.1\", \"30.7\", \"32.7, 31.2\", \"35.6, 33.5\", \"34.8\", \"36.2, 34.7\", \"38.9\", \"41.6\"], [30, 33, 33, 35, 35, 37, 40, 45, 50, 50], [29, \"\", 28.5, 27, 28, 28, \"\", 30, 31, 36], [\"1\", \"1\", \"1\", \"2\", \"2\", \"2\", \"\", \"3\", \"3\", \"\"], [\"01/01 09:00\", \"01/01 10:00\", \"01/01 18:00\", \"01/02 06:00\", \"01/02 14:00\", \"01/02 20:00\", \"\", \"01/03 00:00\", \"01/03 05:00\", \"\"], [\"引込み\", \"床揉み\", \"切返し\", \"盛り\", \"仲仕事\", \"仕舞仕事\", \"\", \"最高積替\", \"出麹\", \"\"], [\"35.0\", \"32.0\", \"32.0, 31.0\", \"35.0, 33.0\", \"37.0, 35.0\", \"38.0, 37.0\", \"\", \"40.0\", \"40.0\", \"\"], [28.0, 28.0, 28.0, 28.0, 28.0, 28.0, \"\", 28.0, 28.0, \"\"], [\"\", \"\", \"\", 4, 4, 5, \"\", 5, 5, \"\"]]}}], @layout={:height=>700}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
71
71
|
]
|
72
72
|
},
|
73
73
|
"metadata": {},
|
@@ -76,10 +76,10 @@
|
|
76
76
|
{
|
77
77
|
"data": {
|
78
78
|
"text/plain": [
|
79
|
-
"#<CZTop::Socket::PUB:
|
79
|
+
"#<CZTop::Socket::PUB:0x7fa4428b1270 last_endpoint=\"tcp://127.0.0.1:61372\">"
|
80
80
|
]
|
81
81
|
},
|
82
|
-
"execution_count":
|
82
|
+
"execution_count": 2,
|
83
83
|
"metadata": {},
|
84
84
|
"output_type": "execute_result"
|
85
85
|
}
|
@@ -87,31 +87,32 @@
|
|
87
87
|
"source": [
|
88
88
|
"$LOAD_PATH << File.dirname(__FILE__) + \"/../lib\"\n",
|
89
89
|
"require 'toji'\n",
|
90
|
+
"require './example_core'\n",
|
90
91
|
"require 'rbplotly'\n",
|
91
92
|
"\n",
|
92
|
-
"expect_koji =
|
93
|
+
"expect_koji = Example::Brew::Koji.load_yaml_file(\"koji_making.yaml\")\n",
|
93
94
|
"\n",
|
94
95
|
"actual_koji = Toji::Brew::Koji.builder\n",
|
95
96
|
" .date_line(6.5)\n",
|
96
|
-
" .add(time: Time.mktime(2020, 3, 28, 15, 30), mark:
|
97
|
+
" .add(time: Time.mktime(2020, 3, 28, 15, 30), mark: \"引込み\", temps: 27.3, preset_temp: 30, room_temp: 29)\n",
|
97
98
|
" .add(time: Time.mktime(2020, 3, 28, 17, 30), temps: 27.2, preset_temp: 33)\n",
|
98
|
-
" .add(time: Time.mktime(2020, 3, 29, 0, 30), mark:
|
99
|
+
" .add(time: Time.mktime(2020, 3, 29, 0, 30), mark: \"切返し\", temps: [31.2, 30.1], preset_temp: 33, room_temp: 28.5)\n",
|
99
100
|
" .add(time: Time.mktime(2020, 3, 29, 9, 30), temps: 30.7, preset_temp: 35, room_temp: 27)\n",
|
100
|
-
" .add(time: Time.mktime(2020, 3, 29, 15, 15), mark:
|
101
|
-
" .add(time: Time.mktime(2020, 3, 30, 0, 15), mark:
|
101
|
+
" .add(time: Time.mktime(2020, 3, 29, 15, 15), mark: \"盛り\", temps: [32.7, 31.2], preset_temp: 35, room_temp: 28)\n",
|
102
|
+
" .add(time: Time.mktime(2020, 3, 30, 0, 15), mark: \"仲仕事\", temps: [35.6, 33.5], preset_temp: 37, room_temp: 28)\n",
|
102
103
|
" .add(time: Time.mktime(2020, 3, 30, 2, 0), temps: 34.8, preset_temp: 40)\n",
|
103
|
-
" .add(time: Time.mktime(2020, 3, 30, 11, 0), mark:
|
104
|
+
" .add(time: Time.mktime(2020, 3, 30, 11, 0), mark: \"仕舞仕事\", temps: [36.2, 34.7], preset_temp: 45, room_temp: 30)\n",
|
104
105
|
" .add(time: Time.mktime(2020, 3, 30, 14, 30), temps: 38.9, preset_temp: 50, room_temp: 31)\n",
|
105
|
-
" .add(time: Time.mktime(2020, 3, 30, 18, 30), mark:
|
106
|
+
" .add(time: Time.mktime(2020, 3, 30, 18, 30), mark: \"出麹\", temps: 41.6, preset_temp: 50, room_temp: 36)\n",
|
106
107
|
" .build\n",
|
107
108
|
"\n",
|
108
109
|
"progress = Toji::Brew::Graph::MultiProgress.new\n",
|
109
|
-
" .add(actual_koji, :actual)\n",
|
110
|
-
" .add(expect_koji, :expect)\n",
|
110
|
+
" .add(actual_koji, :actual, enable_annotations: true)\n",
|
111
|
+
" .add(expect_koji, :expect, enable_annotations: false)\n",
|
111
112
|
"\n",
|
112
113
|
"progress.plot.show\n",
|
113
114
|
"progress.table(:day_label).tap {|t|\n",
|
114
|
-
" t.layout.height =
|
115
|
+
" t.layout.height = 700\n",
|
115
116
|
"}.show"
|
116
117
|
]
|
117
118
|
},
|
@@ -125,7 +126,7 @@
|
|
125
126
|
],
|
126
127
|
"metadata": {
|
127
128
|
"kernelspec": {
|
128
|
-
"display_name": "Ruby 2.7.
|
129
|
+
"display_name": "Ruby 2.7.1",
|
129
130
|
"language": "ruby",
|
130
131
|
"name": "ruby"
|
131
132
|
},
|
data/example/koji_recipe.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'toji'
|
2
2
|
require 'terminal-table'
|
3
3
|
|
4
|
-
koji = Toji::
|
4
|
+
koji = Toji::Ingredient::Koji.expected(150, rice_rate: Toji::Ingredient::RiceRate::DEFAULT, koji_rate: Toji::Ingredient::KojiRate::DEFAULT)
|
5
5
|
|
6
6
|
table = Terminal::Table.new do |t|
|
7
7
|
t << ["", "分量", "白米を基準とした歩合"]
|
data/example/moromi.ipynb
CHANGED
@@ -16,25 +16,25 @@
|
|
16
16
|
" </script>\n",
|
17
17
|
"\n",
|
18
18
|
"\n",
|
19
|
-
"<div id=\"
|
19
|
+
"<div id=\"445db51f-15a1-4b9d-a9d6-64c656fe4c8b\" style=\"height: 100%; width: 100%;\"></div>\n",
|
20
20
|
"\n",
|
21
21
|
"<script>\n",
|
22
22
|
" require(['plotly'], function(Plotly) { \n",
|
23
23
|
"Plotly.newPlot(\n",
|
24
|
-
" '
|
24
|
+
" '445db51f-15a1-4b9d-a9d6-64c656fe4c8b',\n",
|
25
25
|
" [{\"x\":[0.0,1.0,86400.0,172800.0,259200.0,259201.0,345600.0,345601.0,432000.0,518400.0,604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1555200.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0,2073600.0],\"y\":[14.8,11.0,14.3,11.3,6.9,10.6,7.5,8.0,9.1,10.4,11.9,12.3,13.1,13.1,12.9,12.8,12.9,12.6,12.0,11.2,10.2,9.7,9.8,9.1,8.4,8.1,8.3,8.1],\"text\":[\"01/16 00:00\",\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],\"name\":\"temps\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#1f77b4\"}},{\"x\":[0.0,86400.0,172800.0,259200.0,345600.0,432000.0,518400.0,604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1555200.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0,2073600.0],\"y\":[9,9,8.5,9,6,7,7,8,8,7.5,7.5,7.5,7.0,8.0,8.0,7.0,7.0,6.5,7.0,8.0,6.0,5.0,5.0,7.0,6.0],\"text\":[\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],\"name\":\"room_temp\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#2ca02c\"}},{\"x\":[604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0],\"y\":[8.6,8.0,7.2,5.8,4.8,4.0,3.4,2.7,2.1,1.7000000000000002,1.3,0.8,0.5,0.30000000000000004,0.2,-0.0],\"text\":[\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\"],\"name\":\"baume\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#9467bd\"}},{\"x\":[691200.0,777600.0,864000.0,1036800.0,1123200.0,1209600.0,1296000.0,1641600.0,1814400.0],\"y\":[4.8,6.75,7.992,10.7,11.6,12.7,13.7,16.0,16.3],\"text\":[\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/04 00:00\",\"02/06 00:00\"],\"name\":\"alcohol\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#7f7f7f\"}},{\"x\":[604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0],\"y\":[34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.700000000000003,25.200000000000003,22.1,18.2,12.8,8.5,5.4,3.8000000000000003,-0.0],\"text\":[\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\"],\"name\":\"bmd\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#bcbd22\"}}],\n",
|
26
|
-
" {\"xaxis\":{\"dtick\":86400,\"tickvals\":[0,86400,172800,259200,345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1296000,1382400,1468800,1555200,1641600,1728000,1814400,1900800,1987200,2073600],\"ticktext\":[\"
|
26
|
+
" {\"xaxis\":{\"dtick\":86400,\"tickvals\":[0,86400,172800,259200,345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1296000,1382400,1468800,1555200,1641600,1728000,1814400,1900800,1987200,2073600],\"ticktext\":[\"添\",\"踊\",\"踊\",\"仲\",\"留\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\"]},\"annotations\":[{\"x\":0.0,\"y\":14.8,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"添\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":259200.0,\"y\":6.9,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"仲\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":345600.0,\"y\":7.5,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"留\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40}]},\n",
|
27
27
|
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
28
28
|
")\n",
|
29
29
|
"\n",
|
30
30
|
"window.addEventListener('resize', function() {\n",
|
31
|
-
" Plotly.Plots.resize(document.getElementById('
|
31
|
+
" Plotly.Plots.resize(document.getElementById('445db51f-15a1-4b9d-a9d6-64c656fe4c8b'))\n",
|
32
32
|
"})\n",
|
33
33
|
" }) \n",
|
34
34
|
"</script>"
|
35
35
|
],
|
36
36
|
"text/plain": [
|
37
|
-
"#<Plotly::Offline::HTML:
|
37
|
+
"#<Plotly::Offline::HTML:0x00007fe8958d8080 @id=\"445db51f-15a1-4b9d-a9d6-64c656fe4c8b\", @data=[{:x=>[0.0, 1.0, 86400.0, 172800.0, 259200.0, 259201.0, 345600.0, 345601.0, 432000.0, 518400.0, 604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1555200.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0, 2073600.0], :y=>[14.8, 11.0, 14.3, 11.3, 6.9, 10.6, 7.5, 8.0, 9.1, 10.4, 11.9, 12.3, 13.1, 13.1, 12.9, 12.8, 12.9, 12.6, 12.0, 11.2, 10.2, 9.7, 9.8, 9.1, 8.4, 8.1, 8.3, 8.1], :text=>[\"01/16 00:00\", \"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], :name=>\"temps\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#1f77b4\"}}, {:x=>[0.0, 86400.0, 172800.0, 259200.0, 345600.0, 432000.0, 518400.0, 604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1555200.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0, 2073600.0], :y=>[9, 9, 8.5, 9, 6, 7, 7, 8, 8, 7.5, 7.5, 7.5, 7.0, 8.0, 8.0, 7.0, 7.0, 6.5, 7.0, 8.0, 6.0, 5.0, 5.0, 7.0, 6.0], :text=>[\"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], :name=>\"room_temp\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#2ca02c\"}}, {:x=>[604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0], :y=>[8.6, 8.0, 7.2, 5.8, 4.8, 4.0, 3.4, 2.7, 2.1, 1.7000000000000002, 1.3, 0.8, 0.5, 0.30000000000000004, 0.2, -0.0], :text=>[\"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\"], :name=>\"baume\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#9467bd\"}}, {:x=>[691200.0, 777600.0, 864000.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1641600.0, 1814400.0], :y=>[4.8, 6.75, 7.992, 10.7, 11.6, 12.7, 13.7, 16.0, 16.3], :text=>[\"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/04 00:00\", \"02/06 00:00\"], :name=>\"alcohol\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#7f7f7f\"}}, {:x=>[604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0], :y=>[34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.700000000000003, 25.200000000000003, 22.1, 18.2, 12.8, 8.5, 5.4, 3.8000000000000003, -0.0], :text=>[\"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\"], :name=>\"bmd\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#bcbd22\"}}], @layout={:xaxis=>{:dtick=>86400, :tickvals=>[0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1296000, 1382400, 1468800, 1555200, 1641600, 1728000, 1814400, 1900800, 1987200, 2073600], :ticktext=>[\"添\", \"踊\", \"踊\", \"仲\", \"留\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\"]}, :annotations=>[{:x=>0.0, :y=>14.8, :xref=>\"x\", :yref=>\"y\", :text=>\"添\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>259200.0, :y=>6.9, :xref=>\"x\", :yref=>\"y\", :text=>\"仲\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>345600.0, :y=>7.5, :xref=>\"x\", :yref=>\"y\", :text=>\"留\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}]}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
38
38
|
]
|
39
39
|
},
|
40
40
|
"metadata": {},
|
@@ -49,25 +49,25 @@
|
|
49
49
|
" </script>\n",
|
50
50
|
"\n",
|
51
51
|
"\n",
|
52
|
-
"<div id=\"
|
52
|
+
"<div id=\"cc0b210c-d9dd-47bb-97e2-131549414a90\" style=\"height: 100%; width: 100%;\"></div>\n",
|
53
53
|
"\n",
|
54
54
|
"<script>\n",
|
55
55
|
" require(['plotly'], function(Plotly) { \n",
|
56
56
|
"Plotly.newPlot(\n",
|
57
|
-
" '
|
58
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"day_label\",\"display_time\",\"mark\",\"temps\",\"room_temp\",\"display_baume\",\"alcohol\",\"bmd\"]},\"cells\":{\"values\":[[\"
|
59
|
-
" {\"height\":
|
57
|
+
" 'cc0b210c-d9dd-47bb-97e2-131549414a90',\n",
|
58
|
+
" [{\"type\":\"table\",\"header\":{\"values\":[\"day_label\",\"display_time\",\"mark\",\"temps\",\"room_temp\",\"display_baume\",\"alcohol\",\"bmd\"]},\"cells\":{\"values\":[[\"添\",\"踊\",\"踊\",\"仲\",\"留\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\"],[\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],[\"添\",\"\",\"\",\"仲\",\"留\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"],[\"14.8, 11.0\",\"14.3\",\"11.3\",\"6.9, 10.6\",\"7.5, 8.0\",\"9.1\",\"10.4\",\"11.9\",\"12.3\",\"13.1\",\"13.1\",\"12.9\",\"12.8\",\"12.9\",\"12.6\",\"12.0\",\"11.2\",\"10.2\",\"9.7\",\"9.8\",\"9.1\",\"8.4\",\"8.1\",\"8.3\",\"8.1\"],[9,9,8.5,9,6,7,7,8,8,7.5,7.5,7.5,7.0,8.0,8.0,7.0,7.0,6.5,7.0,8.0,6.0,5.0,5.0,7.0,6.0],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",8.6,8.0,7.2,5.8,4.8,4.0,3.4,-27,-21,-17,-13,\"\",-8,-5,-3,-2,0,\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",4.8,6.75,7.992,\"\",10.7,11.6,12.7,13.7,\"\",\"\",\"\",16.0,\"\",16.3,\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.7,25.2,22.1,18.2,\"\",12.8,8.5,5.4,3.8,-0.0,\"\"]]}}],\n",
|
59
|
+
" {\"height\":1000},\n",
|
60
60
|
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
61
61
|
")\n",
|
62
62
|
"\n",
|
63
63
|
"window.addEventListener('resize', function() {\n",
|
64
|
-
" Plotly.Plots.resize(document.getElementById('
|
64
|
+
" Plotly.Plots.resize(document.getElementById('cc0b210c-d9dd-47bb-97e2-131549414a90'))\n",
|
65
65
|
"})\n",
|
66
66
|
" }) \n",
|
67
67
|
"</script>"
|
68
68
|
],
|
69
69
|
"text/plain": [
|
70
|
-
"#<Plotly::Offline::HTML:
|
70
|
+
"#<Plotly::Offline::HTML:0x00007fe895a65880 @id=\"cc0b210c-d9dd-47bb-97e2-131549414a90\", @data=[{:type=>:table, :header=>{:values=>[:day_label, :display_time, :mark, :temps, :room_temp, :display_baume, :alcohol, :bmd]}, :cells=>{:values=>[[\"添\", \"踊\", \"踊\", \"仲\", \"留\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\"], [\"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], [\"添\", \"\", \"\", \"仲\", \"留\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"], [\"14.8, 11.0\", \"14.3\", \"11.3\", \"6.9, 10.6\", \"7.5, 8.0\", \"9.1\", \"10.4\", \"11.9\", \"12.3\", \"13.1\", \"13.1\", \"12.9\", \"12.8\", \"12.9\", \"12.6\", \"12.0\", \"11.2\", \"10.2\", \"9.7\", \"9.8\", \"9.1\", \"8.4\", \"8.1\", \"8.3\", \"8.1\"], [9, 9, 8.5, 9, 6, 7, 7, 8, 8, 7.5, 7.5, 7.5, 7.0, 8.0, 8.0, 7.0, 7.0, 6.5, 7.0, 8.0, 6.0, 5.0, 5.0, 7.0, 6.0], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", 8.6, 8.0, 7.2, 5.8, 4.8, 4.0, 3.4, -27, -21, -17, -13, \"\", -8, -5, -3, -2, 0, \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", 4.8, 6.75, 7.992, \"\", 10.7, 11.6, 12.7, 13.7, \"\", \"\", \"\", 16.0, \"\", 16.3, \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", 34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.7, 25.2, 22.1, 18.2, \"\", 12.8, 8.5, 5.4, 3.8, -0.0, \"\"]]}}], @layout={:height=>1000}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
71
71
|
]
|
72
72
|
},
|
73
73
|
"metadata": {},
|
@@ -82,25 +82,25 @@
|
|
82
82
|
" </script>\n",
|
83
83
|
"\n",
|
84
84
|
"\n",
|
85
|
-
"<div id=\"
|
85
|
+
"<div id=\"66a98120-c7ea-4fea-b71d-6fe826034d41\" style=\"height: 100%; width: 100%;\"></div>\n",
|
86
86
|
"\n",
|
87
87
|
"<script>\n",
|
88
88
|
" require(['plotly'], function(Plotly) { \n",
|
89
89
|
"Plotly.newPlot(\n",
|
90
|
-
" '
|
90
|
+
" '66a98120-c7ea-4fea-b71d-6fe826034d41',\n",
|
91
91
|
" [{\"x\":[345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1382400,1468800,1555200,1641600,1728000],\"y\":[34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.700000000000003,25.200000000000003,22.1,18.2,12.8,8.5,5.4,3.8000000000000003,-0.0],\"text\":[\"01/23 00:00\\u003cbr /\\u003emoromi day=4, be=8.6, bmd=34.4\",\"01/24 00:00\\u003cbr /\\u003emoromi day=5, be=8.0, bmd=40.0\",\"01/25 00:00\\u003cbr /\\u003emoromi day=6, be=7.2, bmd=43.2\",\"01/26 00:00\\u003cbr /\\u003emoromi day=7, be=5.8, bmd=40.6\",\"01/27 00:00\\u003cbr /\\u003emoromi day=8, be=4.8, bmd=38.4\",\"01/28 00:00\\u003cbr /\\u003emoromi day=9, be=4.0, bmd=36.0\",\"01/29 00:00\\u003cbr /\\u003emoromi day=10, be=3.4, bmd=34.0\",\"01/30 00:00\\u003cbr /\\u003emoromi day=11, be=2.7, bmd=29.700000000000003\",\"01/31 00:00\\u003cbr /\\u003emoromi day=12, be=2.1, bmd=25.200000000000003\",\"02/01 00:00\\u003cbr /\\u003emoromi day=13, be=1.7000000000000002, bmd=22.1\",\"02/02 00:00\\u003cbr /\\u003emoromi day=14, be=1.3, bmd=18.2\",\"02/04 00:00\\u003cbr /\\u003emoromi day=16, be=0.8, bmd=12.8\",\"02/05 00:00\\u003cbr /\\u003emoromi day=17, be=0.5, bmd=8.5\",\"02/06 00:00\\u003cbr /\\u003emoromi day=18, be=0.30000000000000004, bmd=5.4\",\"02/07 00:00\\u003cbr /\\u003emoromi day=19, be=0.2, bmd=3.8000000000000003\",\"02/08 00:00\\u003cbr /\\u003emoromi day=20, be=-0.0, bmd=-0.0\"],\"name\":\"actual\"}],\n",
|
92
92
|
" {\"xaxis\":{\"title\":\"Moromi day\",\"dtick\":86400,\"range\":[86400,1814400],\"tickvals\":[0,86400,172800,259200,345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1296000,1382400,1468800,1555200,1641600,1728000],\"ticktext\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]},\"yaxis\":{\"title\":\"BMD\"}},\n",
|
93
93
|
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
94
94
|
")\n",
|
95
95
|
"\n",
|
96
96
|
"window.addEventListener('resize', function() {\n",
|
97
|
-
" Plotly.Plots.resize(document.getElementById('
|
97
|
+
" Plotly.Plots.resize(document.getElementById('66a98120-c7ea-4fea-b71d-6fe826034d41'))\n",
|
98
98
|
"})\n",
|
99
99
|
" }) \n",
|
100
100
|
"</script>"
|
101
101
|
],
|
102
102
|
"text/plain": [
|
103
|
-
"#<Plotly::Offline::HTML:
|
103
|
+
"#<Plotly::Offline::HTML:0x00007fe89633b888 @id=\"66a98120-c7ea-4fea-b71d-6fe826034d41\", @data=[{:x=>[345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1382400, 1468800, 1555200, 1641600, 1728000], :y=>[34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.700000000000003, 25.200000000000003, 22.1, 18.2, 12.8, 8.5, 5.4, 3.8000000000000003, -0.0], :text=>[\"01/23 00:00<br />moromi day=4, be=8.6, bmd=34.4\", \"01/24 00:00<br />moromi day=5, be=8.0, bmd=40.0\", \"01/25 00:00<br />moromi day=6, be=7.2, bmd=43.2\", \"01/26 00:00<br />moromi day=7, be=5.8, bmd=40.6\", \"01/27 00:00<br />moromi day=8, be=4.8, bmd=38.4\", \"01/28 00:00<br />moromi day=9, be=4.0, bmd=36.0\", \"01/29 00:00<br />moromi day=10, be=3.4, bmd=34.0\", \"01/30 00:00<br />moromi day=11, be=2.7, bmd=29.700000000000003\", \"01/31 00:00<br />moromi day=12, be=2.1, bmd=25.200000000000003\", \"02/01 00:00<br />moromi day=13, be=1.7000000000000002, bmd=22.1\", \"02/02 00:00<br />moromi day=14, be=1.3, bmd=18.2\", \"02/04 00:00<br />moromi day=16, be=0.8, bmd=12.8\", \"02/05 00:00<br />moromi day=17, be=0.5, bmd=8.5\", \"02/06 00:00<br />moromi day=18, be=0.30000000000000004, bmd=5.4\", \"02/07 00:00<br />moromi day=19, be=0.2, bmd=3.8000000000000003\", \"02/08 00:00<br />moromi day=20, be=-0.0, bmd=-0.0\"], :name=>:actual}], @layout={:xaxis=>{:title=>\"Moromi day\", :dtick=>86400, :range=>[86400, 1814400], :tickvals=>[0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1296000, 1382400, 1468800, 1555200, 1641600, 1728000], :ticktext=>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]}, :yaxis=>{:title=>\"BMD\"}}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
104
104
|
]
|
105
105
|
},
|
106
106
|
"metadata": {},
|
@@ -115,25 +115,25 @@
|
|
115
115
|
" </script>\n",
|
116
116
|
"\n",
|
117
117
|
"\n",
|
118
|
-
"<div id=\"
|
118
|
+
"<div id=\"fd4f8efc-0fad-4dd1-bad6-80e8de777e60\" style=\"height: 100%; width: 100%;\"></div>\n",
|
119
119
|
"\n",
|
120
120
|
"<script>\n",
|
121
121
|
" require(['plotly'], function(Plotly) { \n",
|
122
122
|
"Plotly.newPlot(\n",
|
123
|
-
" '
|
123
|
+
" 'fd4f8efc-0fad-4dd1-bad6-80e8de777e60',\n",
|
124
124
|
" [{\"x\":[4.8,6.75,7.992,10.7,11.6,12.7,13.7,16.0,16.3],\"y\":[8.0,7.2,5.8,4.0,3.4,2.7,2.1,0.8,0.30000000000000004],\"text\":[\"01/24 00:00\\u003cbr /\\u003ealc=4.8, be=8.0\",\"01/25 00:00\\u003cbr /\\u003ealc=6.75, be=7.2\",\"01/26 00:00\\u003cbr /\\u003ealc=7.992, be=5.8\",\"01/28 00:00\\u003cbr /\\u003ealc=10.7, be=4.0\",\"01/29 00:00\\u003cbr /\\u003ealc=11.6, be=3.4\",\"01/30 00:00\\u003cbr /\\u003ealc=12.7, be=2.7\",\"01/31 00:00\\u003cbr /\\u003ealc=13.7, be=2.1\",\"02/04 00:00\\u003cbr /\\u003ealc=16.0, be=0.8\",\"02/06 00:00\\u003cbr /\\u003ealc=16.3, be=0.30000000000000004\"],\"name\":\"actual\"},{\"x\":[16.05,4.049999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 16.5\"},{\"x\":[16.55,4.549999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 17.0\"},{\"x\":[16.5,4.5],\"y\":[0.0,8.0],\"name\":\"+0.0 16.5\"}],\n",
|
125
125
|
" {\"xaxis\":{\"title\":\"Alcohol\",\"dtick\":2,\"range\":[0,20]},\"yaxis\":{\"title\":\"Baume\",\"dtick\":1,\"range\":[0,10]}},\n",
|
126
126
|
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
127
127
|
")\n",
|
128
128
|
"\n",
|
129
129
|
"window.addEventListener('resize', function() {\n",
|
130
|
-
" Plotly.Plots.resize(document.getElementById('
|
130
|
+
" Plotly.Plots.resize(document.getElementById('fd4f8efc-0fad-4dd1-bad6-80e8de777e60'))\n",
|
131
131
|
"})\n",
|
132
132
|
" }) \n",
|
133
133
|
"</script>"
|
134
134
|
],
|
135
135
|
"text/plain": [
|
136
|
-
"#<Plotly::Offline::HTML:
|
136
|
+
"#<Plotly::Offline::HTML:0x00007fe89810c7b8 @id=\"fd4f8efc-0fad-4dd1-bad6-80e8de777e60\", @data=[{:x=>[4.8, 6.75, 7.992, 10.7, 11.6, 12.7, 13.7, 16.0, 16.3], :y=>[8.0, 7.2, 5.8, 4.0, 3.4, 2.7, 2.1, 0.8, 0.30000000000000004], :text=>[\"01/24 00:00<br />alc=4.8, be=8.0\", \"01/25 00:00<br />alc=6.75, be=7.2\", \"01/26 00:00<br />alc=7.992, be=5.8\", \"01/28 00:00<br />alc=10.7, be=4.0\", \"01/29 00:00<br />alc=11.6, be=3.4\", \"01/30 00:00<br />alc=12.7, be=2.7\", \"01/31 00:00<br />alc=13.7, be=2.1\", \"02/04 00:00<br />alc=16.0, be=0.8\", \"02/06 00:00<br />alc=16.3, be=0.30000000000000004\"], :name=>:actual}, {:x=>[16.05, 4.049999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 16.5\"}, {:x=>[16.55, 4.549999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 17.0\"}, {:x=>[16.5, 4.5], :y=>[0.0, 8.0], :name=>\"+0.0 16.5\"}], @layout={:xaxis=>{:title=>\"Alcohol\", :dtick=>2, :range=>[0, 20]}, :yaxis=>{:title=>\"Baume\", :dtick=>1, :range=>[0, 10]}}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
137
137
|
]
|
138
138
|
},
|
139
139
|
"metadata": {},
|
@@ -142,7 +142,7 @@
|
|
142
142
|
{
|
143
143
|
"data": {
|
144
144
|
"text/plain": [
|
145
|
-
"#<CZTop::Socket::PUB:
|
145
|
+
"#<CZTop::Socket::PUB:0x7fe895783890 last_endpoint=\"tcp://127.0.0.1:49571\">"
|
146
146
|
]
|
147
147
|
},
|
148
148
|
"execution_count": 1,
|
@@ -153,11 +153,12 @@
|
|
153
153
|
"source": [
|
154
154
|
"$LOAD_PATH << File.dirname(__FILE__) + \"/../lib\"\n",
|
155
155
|
"require 'toji'\n",
|
156
|
+
"require './example_core'\n",
|
156
157
|
"require 'rbplotly'\n",
|
157
158
|
"\n",
|
158
|
-
"moromi =
|
159
|
-
"moromi.progress
|
160
|
-
"moromi.progress.table.tap{|t| t.layout.height=
|
159
|
+
"moromi = Example::Brew::Moromi.load_yaml_file(\"moromi.yaml\")\n",
|
160
|
+
"moromi.progress.plot.show\n",
|
161
|
+
"moromi.progress.table.tap{|t| t.layout.height=1000}.show\n",
|
161
162
|
"moromi.bmd.plot.show\n",
|
162
163
|
"\n",
|
163
164
|
"moromi.ab(1.5)\n",
|
@@ -177,7 +178,7 @@
|
|
177
178
|
],
|
178
179
|
"metadata": {
|
179
180
|
"kernelspec": {
|
180
|
-
"display_name": "Ruby 2.7.
|
181
|
+
"display_name": "Ruby 2.7.1",
|
181
182
|
"language": "ruby",
|
182
183
|
"name": "ruby"
|
183
184
|
},
|
data/example/moromi.rb
CHANGED
data/example/moromi.yaml
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
date_line: 0
|
2
|
-
|
2
|
+
prefix_day_labels:
|
3
|
+
- 添
|
4
|
+
- 踊
|
5
|
+
- 踊
|
6
|
+
- 仲
|
7
|
+
- 留
|
8
|
+
states:
|
3
9
|
- time: 2019-01-16
|
4
|
-
mark:
|
10
|
+
mark: 添
|
5
11
|
room_temp: 9
|
6
12
|
temps:
|
7
13
|
- 14.8
|
@@ -13,13 +19,13 @@ records:
|
|
13
19
|
room_temp: 8.5
|
14
20
|
temps: 11.3
|
15
21
|
- time: 2019-01-19
|
16
|
-
mark:
|
22
|
+
mark: 仲
|
17
23
|
room_temp: 9
|
18
24
|
temps:
|
19
25
|
- 6.9
|
20
26
|
- 10.6
|
21
27
|
- time: 2019-01-20
|
22
|
-
mark:
|
28
|
+
mark: 留
|
23
29
|
room_temp: 6
|
24
30
|
temps:
|
25
31
|
- 7.5
|
data/example/recipe.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'toji'
|
2
|
+
require_relative 'example_core'
|
3
|
+
require 'terminal-table'
|
4
|
+
|
5
|
+
recipe = Example::Recipe::TEMPLATES[:sokujo_nada].scale(900)
|
6
|
+
step_names = recipe.steps.map(&:name)
|
7
|
+
|
8
|
+
table = Terminal::Table.new do |t|
|
9
|
+
t << [""] + step_names
|
10
|
+
t << :separator
|
11
|
+
t << ["[原料]"]
|
12
|
+
t << ["酵母(g or 本)"] + recipe.steps.map(&:yeast).map{|v| v&.round(2)}
|
13
|
+
t << ["乳酸(ml)"] + recipe.steps.map(&:lactic_acid).map{|v| v&.round(6)}
|
14
|
+
t << ["掛米(g)"] + recipe.steps.map(&:kake).map{|v| v&.round(2)}
|
15
|
+
t << ["麹米(g)"] + recipe.steps.map(&:koji).map{|v| v&.round(2)}
|
16
|
+
t << ["汲水(ml)"] + recipe.steps.map(&:water).map{|v| v&.round(2)}
|
17
|
+
t << ["醸造アルコール(ml)"] + recipe.steps.map(&:alcohol).map{|v| v&.round(2)}
|
18
|
+
t << :separator
|
19
|
+
t << ["[合計]"]
|
20
|
+
t << ["総米(g)"] + recipe.steps.map(&:rice_total).map{|v| v&.round(2)}
|
21
|
+
t << ["麹歩合(%)"] + recipe.steps.map{|s| s.koji_rate * 100}.map{|v| v&.round(2)}
|
22
|
+
t << ["汲水歩合(%)"] + recipe.steps.map{|s| s.water_rate * 100}.map{|v| v&.round(2)}
|
23
|
+
t << :separator
|
24
|
+
t << ["[累計]"]
|
25
|
+
t << ["総米(g)"] + recipe.cumulative_rice_totals.map{|v| v&.round(2)}
|
26
|
+
t << ["白米比率"] + recipe.rice_rates.map{|v| v&.round(2)}
|
27
|
+
t << ["酒母歩合(%)"] + recipe.cumulative_shubo_rates.map{|s| s * 100}.map{|v| v&.round(2)}
|
28
|
+
t << ["タンク内容量(ml)"] + recipe.cumulative_weight_totals.map{|v| v&.round(2)}
|
29
|
+
end
|
30
|
+
puts table
|
31
|
+
puts
|
32
|
+
|
33
|
+
|
34
|
+
puts "掛米"
|
35
|
+
table = Terminal::Table.new do |t|
|
36
|
+
kakes = recipe.steps.map {|step|
|
37
|
+
Toji::Ingredient::Kake::Expected.create(step.kake)
|
38
|
+
}
|
39
|
+
|
40
|
+
t << ["工程", "原料"] + step_names
|
41
|
+
t << :separator
|
42
|
+
t << ["洗米・浸漬", "白米(g)"] + kakes.map(&:raw).map{|v| v&.round(2)}
|
43
|
+
t << ["", "吸水増加量(ml)"] + kakes.map(&:soaking_water).map{|v| v&.round(2)}
|
44
|
+
t << :separator
|
45
|
+
t << ["水切り", "浸漬米(g)"] + kakes.map(&:soaked).map{|v| v&.round(2)}
|
46
|
+
t << ["", "汲水(ml)"] + kakes.map(&:steaming_water).map{|v| v&.round(2)}
|
47
|
+
t << :separator
|
48
|
+
t << ["蒸し", "蒸米(g)"] + kakes.map(&:steamed).map{|v| v&.round(2)}
|
49
|
+
end
|
50
|
+
puts table
|
51
|
+
puts
|
52
|
+
|
53
|
+
puts "麹"
|
54
|
+
table = Terminal::Table.new do |t|
|
55
|
+
kojis = recipe.steps.map {|step|
|
56
|
+
Toji::Ingredient::Koji::Expected.create(step.koji)
|
57
|
+
}
|
58
|
+
|
59
|
+
t << ["工程", "原料"] + step_names
|
60
|
+
t << :separator
|
61
|
+
t << ["洗米・浸漬", "白米(g)"] + kojis.map(&:raw).map{|v| v&.round(2)}
|
62
|
+
t << ["", "吸水増加量(ml)"] + kojis.map(&:soaking_water).map{|v| v&.round(2)}
|
63
|
+
t << :separator
|
64
|
+
t << ["水切り", "浸漬米(g)"] + kojis.map(&:soaked).map{|v| v&.round(2)}
|
65
|
+
t << ["", "汲水(ml)"] + kojis.map(&:steaming_water).map{|v| v&.round(2)}
|
66
|
+
t << :separator
|
67
|
+
t << ["蒸し", "蒸米(g)"] + kojis.map(&:steamed).map{|v| v&.round(2)}
|
68
|
+
t << :separator
|
69
|
+
t << ["放冷・引込み", "蒸米(g)"] + kojis.map(&:cooled).map{|v| v&.round(2)}
|
70
|
+
t << ["", "種麹(g)"] + kojis.map(&:tanekoji).map{|v| v&.round(2)}
|
71
|
+
t << :separator
|
72
|
+
t << ["製麹", "麹(g)"] + kojis.map(&:dekoji).map{|v| v&.round(2)}
|
73
|
+
end
|
74
|
+
puts table
|
75
|
+
puts
|