toji 1.6.8 → 2.3.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 +383 -0
- data/example/{schedule.yaml → calendar.yaml} +6 -30
- data/example/calendar_file.ipynb +338 -0
- data/example/example_core.rb +354 -0
- data/example/kake_ingredient.rb +26 -0
- data/example/{koji_recipe.rb → koji_ingredient.rb} +1 -2
- data/example/koji_making.ipynb +16 -15
- data/example/koji_making.rb +2 -1
- data/example/koji_making.yaml +10 -9
- data/example/koji_making_multi.ipynb +27 -61
- 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 +12 -11
- data/lib/toji.rb +3 -1
- data/lib/toji/brew.rb +4 -3
- data/lib/toji/brew/base.rb +8 -92
- data/lib/toji/brew/builder.rb +77 -6
- data/lib/toji/brew/graph/bmd.rb +1 -2
- data/lib/toji/brew/graph/multi_progress.rb +0 -121
- data/lib/toji/brew/graph/progress.rb +17 -52
- data/lib/toji/brew/koji.rb +2 -11
- data/lib/toji/brew/moromi.rb +4 -37
- data/lib/toji/brew/shubo.rb +2 -6
- data/lib/toji/brew/state.rb +90 -103
- data/lib/toji/brew/wrapped_state.rb +136 -0
- data/lib/toji/calendar.rb +123 -0
- data/lib/toji/{schedule → calendar}/date_column.rb +3 -6
- 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 +26 -0
- data/lib/toji/ingredient/kake/base.rb +18 -0
- data/lib/toji/ingredient/kake/expected.rb +40 -0
- data/lib/toji/ingredient/koji.rb +19 -0
- data/lib/toji/ingredient/koji/actual.rb +29 -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 +45 -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 +40 -0
- data/lib/toji/ingredient/rice/expected_steamable.rb +27 -0
- data/lib/toji/ingredient/rice_rate.rb +23 -0
- data/lib/toji/product.rb +65 -0
- data/lib/toji/{schedule/product_event.rb → product/event.rb} +4 -4
- data/lib/toji/recipe.rb +111 -5
- data/lib/toji/recipe/step.rb +49 -64
- data/lib/toji/version.rb +1 -1
- metadata +33 -39
- 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 -274
- 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 -117
data/lib/toji/recipe/step.rb
CHANGED
@@ -1,30 +1,19 @@
|
|
1
1
|
module Toji
|
2
2
|
module Recipe
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
@rice = Ingredient::Rice::Expected.create(rice)
|
14
|
-
@koji = Ingredient::Koji::Expected.create(koji)
|
15
|
-
@water = water.to_f
|
16
|
-
@lactic_acid = lactic_acid.to_f
|
17
|
-
@alcohol = alcohol.to_f
|
18
|
-
end
|
3
|
+
module Step
|
4
|
+
attr_accessor :name
|
5
|
+
attr_accessor :kake
|
6
|
+
attr_accessor :koji
|
7
|
+
attr_accessor :water
|
8
|
+
attr_accessor :lactic_acid
|
9
|
+
attr_accessor :alcohol
|
10
|
+
attr_accessor :yeast
|
11
|
+
attr_accessor :koji_interval_days
|
12
|
+
attr_accessor :kake_interval_days
|
19
13
|
|
20
14
|
# 総米
|
21
15
|
def rice_total
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
# 総重量
|
26
|
-
def weight_total
|
27
|
-
@rice.cooled + @koji.dekoji + @water + @lactic_acid + @alcohol
|
16
|
+
[kake, koji].compact.map(&:to_f).sum
|
28
17
|
end
|
29
18
|
|
30
19
|
# 麹歩合
|
@@ -33,8 +22,7 @@ module Toji
|
|
33
22
|
# なお、留め仕込みまでの麹歩合が20%を下回ると蒸米の溶解糖化に影響が出るので注意がいる
|
34
23
|
# 出典: 酒造教本 P95
|
35
24
|
def koji_rate
|
36
|
-
|
37
|
-
ret.nan? ? 0.0 : ret
|
25
|
+
(koji || 0.0) / rice_total
|
38
26
|
end
|
39
27
|
|
40
28
|
# 汲水歩合
|
@@ -47,35 +35,40 @@ module Toji
|
|
47
35
|
#
|
48
36
|
# 出典: 酒造教本 P96
|
49
37
|
def water_rate
|
50
|
-
|
51
|
-
ret.nan? ? 0.0 : ret
|
38
|
+
(water || 0.0) / rice_total
|
52
39
|
end
|
53
40
|
|
54
|
-
def round(ndigit=0,
|
55
|
-
if !
|
56
|
-
|
41
|
+
def round(ndigit=0, mini_ndigit=nil, half: :up)
|
42
|
+
if !mini_ndigit
|
43
|
+
mini_ndigit = ndigit + 3
|
57
44
|
end
|
58
45
|
|
59
|
-
self.class.new
|
60
|
-
name
|
61
|
-
|
62
|
-
koji
|
63
|
-
water
|
64
|
-
lactic_acid
|
65
|
-
alcohol
|
66
|
-
|
46
|
+
self.class.new.tap {|o|
|
47
|
+
o.name = name
|
48
|
+
o.kake = kake.round(ndigit, half: half)
|
49
|
+
o.koji = koji.round(ndigit, half: half)
|
50
|
+
o.water = water.round(ndigit, half: half)
|
51
|
+
o.lactic_acid = lactic_acid.round(mini_ndigit, half: half)
|
52
|
+
o.alcohol = alcohol.round(ndigit, half: half)
|
53
|
+
o.yeast = yeast.round(mini_ndigit, half: half)
|
54
|
+
o.koji_interval_days = koji_interval_days
|
55
|
+
o.kake_interval_days = kake_interval_days
|
56
|
+
}
|
67
57
|
end
|
68
58
|
|
69
59
|
def +(other)
|
70
60
|
if Step===other
|
71
|
-
self.class.new
|
72
|
-
name
|
73
|
-
|
74
|
-
koji
|
75
|
-
water
|
76
|
-
lactic_acid
|
77
|
-
alcohol
|
78
|
-
|
61
|
+
self.class.new.tap {|o|
|
62
|
+
o.name = name
|
63
|
+
o.kake = kake + other.kake
|
64
|
+
o.koji = koji + other.koji
|
65
|
+
o.water = water + other.water
|
66
|
+
o.lactic_acid = lactic_acid + other.lactic_acid
|
67
|
+
o.alcohol = alcohol + other.alcohol
|
68
|
+
o.yeast = yeast + other.yeast
|
69
|
+
o.koji_interval_days = koji_interval_days
|
70
|
+
o.kake_interval_days = kake_interval_days
|
71
|
+
}
|
79
72
|
else
|
80
73
|
x, y = other.coerce(self)
|
81
74
|
x + y
|
@@ -84,30 +77,22 @@ module Toji
|
|
84
77
|
|
85
78
|
def *(other)
|
86
79
|
if Integer===other || Float===other
|
87
|
-
self.class.new
|
88
|
-
name
|
89
|
-
|
90
|
-
koji
|
91
|
-
water
|
92
|
-
lactic_acid
|
93
|
-
alcohol
|
94
|
-
|
80
|
+
self.class.new.tap {|o|
|
81
|
+
o.name = name
|
82
|
+
o.kake = kake * other
|
83
|
+
o.koji = koji * other
|
84
|
+
o.water = water * other
|
85
|
+
o.lactic_acid = lactic_acid * other
|
86
|
+
o.alcohol = alcohol * other
|
87
|
+
o.yeast = yeast * other
|
88
|
+
o.koji_interval_days = koji_interval_days
|
89
|
+
o.kake_interval_days = kake_interval_days
|
90
|
+
}
|
95
91
|
else
|
96
92
|
x, y = other.coerce(self)
|
97
93
|
x * y
|
98
94
|
end
|
99
95
|
end
|
100
|
-
|
101
|
-
def to_h
|
102
|
-
{
|
103
|
-
name: name,
|
104
|
-
rice: rice.raw,
|
105
|
-
koji: koji.raw,
|
106
|
-
water: water,
|
107
|
-
lactic_acid: lactic_acid,
|
108
|
-
alcohol: alcohol,
|
109
|
-
}
|
110
|
-
end
|
111
96
|
end
|
112
97
|
end
|
113
98
|
end
|
data/lib/toji/version.rb
CHANGED
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:
|
4
|
+
version: 2.3.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-
|
11
|
+
date: 2020-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -109,22 +109,23 @@ files:
|
|
109
109
|
- Rakefile
|
110
110
|
- bin/console
|
111
111
|
- bin/setup
|
112
|
+
- example/calendar.ipynb
|
113
|
+
- example/calendar.yaml
|
114
|
+
- example/calendar_file.ipynb
|
115
|
+
- example/example_core.rb
|
116
|
+
- example/kake_ingredient.rb
|
117
|
+
- example/koji_ingredient.rb
|
112
118
|
- example/koji_making.ipynb
|
113
119
|
- example/koji_making.rb
|
114
120
|
- example/koji_making.yaml
|
115
121
|
- example/koji_making_multi.ipynb
|
116
|
-
- example/koji_recipe.rb
|
117
122
|
- example/moromi.ipynb
|
118
123
|
- example/moromi.rb
|
119
124
|
- example/moromi.yaml
|
120
|
-
- example/
|
121
|
-
- example/schedule.ipynb
|
122
|
-
- example/schedule.yaml
|
123
|
-
- example/schedule_file.ipynb
|
125
|
+
- example/recipe.rb
|
124
126
|
- example/shubo.ipynb
|
125
127
|
- example/shubo.rb
|
126
128
|
- example/shubo.yaml
|
127
|
-
- example/three_step_mashing_recipe.rb
|
128
129
|
- lib/toji.rb
|
129
130
|
- lib/toji/brew.rb
|
130
131
|
- lib/toji/brew/base.rb
|
@@ -138,38 +139,31 @@ files:
|
|
138
139
|
- lib/toji/brew/moromi.rb
|
139
140
|
- lib/toji/brew/shubo.rb
|
140
141
|
- lib/toji/brew/state.rb
|
141
|
-
- lib/toji/brew/
|
142
|
-
- lib/toji/
|
142
|
+
- lib/toji/brew/wrapped_state.rb
|
143
|
+
- lib/toji/calendar.rb
|
144
|
+
- lib/toji/calendar/date_column.rb
|
145
|
+
- lib/toji/calendar/date_row.rb
|
146
|
+
- lib/toji/ingredient.rb
|
147
|
+
- lib/toji/ingredient/kake.rb
|
148
|
+
- lib/toji/ingredient/kake/actual.rb
|
149
|
+
- lib/toji/ingredient/kake/base.rb
|
150
|
+
- lib/toji/ingredient/kake/expected.rb
|
151
|
+
- lib/toji/ingredient/koji.rb
|
152
|
+
- lib/toji/ingredient/koji/actual.rb
|
153
|
+
- lib/toji/ingredient/koji/actual_fermentable.rb
|
154
|
+
- lib/toji/ingredient/koji/base.rb
|
155
|
+
- lib/toji/ingredient/koji/expected.rb
|
156
|
+
- lib/toji/ingredient/koji/expected_fermentable.rb
|
157
|
+
- lib/toji/ingredient/koji_rate.rb
|
158
|
+
- lib/toji/ingredient/rice.rb
|
159
|
+
- lib/toji/ingredient/rice/actual_steamable.rb
|
160
|
+
- lib/toji/ingredient/rice/base.rb
|
161
|
+
- lib/toji/ingredient/rice/expected_steamable.rb
|
162
|
+
- lib/toji/ingredient/rice_rate.rb
|
163
|
+
- lib/toji/product.rb
|
164
|
+
- lib/toji/product/event.rb
|
143
165
|
- lib/toji/recipe.rb
|
144
|
-
- lib/toji/recipe/ingredient.rb
|
145
|
-
- lib/toji/recipe/ingredient/koji.rb
|
146
|
-
- lib/toji/recipe/ingredient/koji/actual.rb
|
147
|
-
- lib/toji/recipe/ingredient/koji/actual_fermentable.rb
|
148
|
-
- lib/toji/recipe/ingredient/koji/base.rb
|
149
|
-
- lib/toji/recipe/ingredient/koji/expected.rb
|
150
|
-
- lib/toji/recipe/ingredient/koji/expected_fermentable.rb
|
151
|
-
- lib/toji/recipe/ingredient/rice.rb
|
152
|
-
- lib/toji/recipe/ingredient/rice/actual.rb
|
153
|
-
- lib/toji/recipe/ingredient/rice/actual_steamable.rb
|
154
|
-
- lib/toji/recipe/ingredient/rice/base.rb
|
155
|
-
- lib/toji/recipe/ingredient/rice/expected.rb
|
156
|
-
- lib/toji/recipe/ingredient/rice/expected_steamable.rb
|
157
|
-
- lib/toji/recipe/ingredient/yeast.rb
|
158
|
-
- lib/toji/recipe/koji_rate.rb
|
159
|
-
- lib/toji/recipe/rice_rate.rb
|
160
|
-
- lib/toji/recipe/rice_rate/base.rb
|
161
|
-
- lib/toji/recipe/rice_rate/cooked.rb
|
162
|
-
- lib/toji/recipe/rice_rate/steamed.rb
|
163
166
|
- lib/toji/recipe/step.rb
|
164
|
-
- lib/toji/recipe/three_step_mashing.rb
|
165
|
-
- lib/toji/recipe/yeast_rate.rb
|
166
|
-
- lib/toji/schedule.rb
|
167
|
-
- lib/toji/schedule/calendar.rb
|
168
|
-
- lib/toji/schedule/date_column.rb
|
169
|
-
- lib/toji/schedule/date_interval_enumerator.rb
|
170
|
-
- lib/toji/schedule/date_row.rb
|
171
|
-
- lib/toji/schedule/product.rb
|
172
|
-
- lib/toji/schedule/product_event.rb
|
173
167
|
- lib/toji/version.rb
|
174
168
|
- toji.gemspec
|
175
169
|
homepage: https://github.com/yoshida-eth0/ruby-toji
|
@@ -194,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
188
|
- !ruby/object:Gem::Version
|
195
189
|
version: '0'
|
196
190
|
requirements: []
|
197
|
-
rubygems_version: 3.
|
191
|
+
rubygems_version: 3.1.2
|
198
192
|
signing_key:
|
199
193
|
specification_version: 4
|
200
194
|
summary: Management tools for brewing japanese sake.
|
data/example/rice_recipe.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'toji'
|
2
|
-
require 'terminal-table'
|
3
|
-
|
4
|
-
rice = Toji::Recipe::Ingredient::Rice.expected(100, rice_rate: Toji::Recipe::RiceRate::Steamed::DEFAULT)
|
5
|
-
#rice = Toji::Recipe::Ingredient::Rice.expected(100, rice_rate: Toji::Recipe::RiceRate::Cooked::DEFAULT)
|
6
|
-
|
7
|
-
table = Terminal::Table.new do |t|
|
8
|
-
t << ["", "分量", "白米を基準とした歩合"]
|
9
|
-
t << :separator
|
10
|
-
t << ["蒸米", rice.steamed&.round(2), (1.0 + rice.steamed_rate)&.round(2)]
|
11
|
-
t << [" 白米", rice.raw&.round(2), 1.0]
|
12
|
-
t << [" 汲水", rice.soaking_water&.round(2), rice.soaked_rate&.round(2)]
|
13
|
-
end
|
14
|
-
puts table
|
15
|
-
puts
|
16
|
-
|
17
|
-
table = Terminal::Table.new do |t|
|
18
|
-
t << ["工程", "原料", "分量"]
|
19
|
-
t << :separator
|
20
|
-
t << ["洗米・浸漬", "白米", rice.raw&.round(2)]
|
21
|
-
t << ["", "吸水増加量", rice.soaking_water&.round(2)]
|
22
|
-
t << :separator
|
23
|
-
t << ["水切り", "浸漬米", rice.soaked&.round(2)]
|
24
|
-
t << ["", "蒸発・炊飯前の汲水", rice.steaming_water&.round(2)]
|
25
|
-
t << :separator
|
26
|
-
t << ["蒸し", "蒸米", rice.steamed&.round(2)]
|
27
|
-
end
|
28
|
-
puts table
|
data/example/schedule.ipynb
DELETED
@@ -1,393 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cells": [
|
3
|
-
{
|
4
|
-
"cell_type": "code",
|
5
|
-
"execution_count": 1,
|
6
|
-
"metadata": {
|
7
|
-
"scrolled": false
|
8
|
-
},
|
9
|
-
"outputs": [
|
10
|
-
{
|
11
|
-
"name": "stdout",
|
12
|
-
"output_type": "stream",
|
13
|
-
"text": [
|
14
|
-
"仕1 姫野国夫による酒母省略仕込\n"
|
15
|
-
]
|
16
|
-
},
|
17
|
-
{
|
18
|
-
"data": {
|
19
|
-
"text/html": [
|
20
|
-
"\n",
|
21
|
-
" <script>\n",
|
22
|
-
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
|
23
|
-
" </script>\n",
|
24
|
-
"\n",
|
25
|
-
"\n",
|
26
|
-
"<div id=\"516412a0-4ac6-49cc-9ed5-0ab8372b69b4\" style=\"height: 100%; width: 100%;\"></div>\n",
|
27
|
-
"\n",
|
28
|
-
"<script>\n",
|
29
|
-
" require(['plotly'], function(Plotly) { \n",
|
30
|
-
"Plotly.newPlot(\n",
|
31
|
-
" '516412a0-4ac6-49cc-9ed5-0ab8372b69b4',\n",
|
32
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"\",\"moto\",\"soe\",\"naka\",\"tome\",\"yodan\",\"total\"]},\"cells\":{\"values\":[[\"rice_total\",\"rice\",\"koji\",\"alcohol\",\"water\",\"lactic_acid\"],[35.0,\"\",35.0,\"\",123.0,0.8],[65.0,65.0,\"\",\"\",\"\",\"\"],[200.0,150.0,50.0,\"\",200.0,\"\"],[300.0,245.0,55.0,\"\",400.0,\"\"],[\"\",\"\",\"\",\"\",128.0,\"\"],[600.0,460.0,140.0,\"\",851.0,0.8]]}}],\n",
|
33
|
-
" {\"height\":350},\n",
|
34
|
-
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
35
|
-
")\n",
|
36
|
-
"\n",
|
37
|
-
"window.addEventListener('resize', function() {\n",
|
38
|
-
" Plotly.Plots.resize(document.getElementById('516412a0-4ac6-49cc-9ed5-0ab8372b69b4'))\n",
|
39
|
-
"})\n",
|
40
|
-
" }) \n",
|
41
|
-
"</script>"
|
42
|
-
],
|
43
|
-
"text/plain": [
|
44
|
-
"#<Plotly::Offline::HTML:0x00007fdea580e388 @id=\"516412a0-4ac6-49cc-9ed5-0ab8372b69b4\", @data=[{:type=>:table, :header=>{:values=>[\"\", :moto, :soe, :naka, :tome, :yodan, :total]}, :cells=>{:values=>[[:rice_total, :rice, :koji, :alcohol, :water, :lactic_acid], [35.0, \"\", 35.0, \"\", 123.0, 0.8], [65.0, 65.0, \"\", \"\", \"\", \"\"], [200.0, 150.0, 50.0, \"\", 200.0, \"\"], [300.0, 245.0, 55.0, \"\", 400.0, \"\"], [\"\", \"\", \"\", \"\", 128.0, \"\"], [600.0, 460.0, 140.0, \"\", 851.0, 0.8]]}}], @layout={:height=>350}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
45
|
-
]
|
46
|
-
},
|
47
|
-
"metadata": {},
|
48
|
-
"output_type": "display_data"
|
49
|
-
},
|
50
|
-
{
|
51
|
-
"name": "stdout",
|
52
|
-
"output_type": "stream",
|
53
|
-
"text": [
|
54
|
-
"仕2 姫野国夫による酒母省略仕込\n"
|
55
|
-
]
|
56
|
-
},
|
57
|
-
{
|
58
|
-
"data": {
|
59
|
-
"text/html": [
|
60
|
-
"\n",
|
61
|
-
" <script>\n",
|
62
|
-
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
|
63
|
-
" </script>\n",
|
64
|
-
"\n",
|
65
|
-
"\n",
|
66
|
-
"<div id=\"2bbb7089-b8dd-46c1-88f7-83b42bdba33a\" style=\"height: 100%; width: 100%;\"></div>\n",
|
67
|
-
"\n",
|
68
|
-
"<script>\n",
|
69
|
-
" require(['plotly'], function(Plotly) { \n",
|
70
|
-
"Plotly.newPlot(\n",
|
71
|
-
" '2bbb7089-b8dd-46c1-88f7-83b42bdba33a',\n",
|
72
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"\",\"moto\",\"soe\",\"naka\",\"tome\",\"yodan\",\"total\"]},\"cells\":{\"values\":[[\"rice_total\",\"rice\",\"koji\",\"alcohol\",\"water\",\"lactic_acid\"],[32.0,\"\",32.0,\"\",112.0,0.733],[60.0,60.0,\"\",\"\",\"\",\"\"],[184.0,138.0,46.0,\"\",183.0,\"\"],[275.0,225.0,50.0,\"\",367.0,\"\"],[\"\",\"\",\"\",\"\",117.0,\"\"],[551.0,423.0,128.0,\"\",779.0,0.733]]}}],\n",
|
73
|
-
" {\"height\":350},\n",
|
74
|
-
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
75
|
-
")\n",
|
76
|
-
"\n",
|
77
|
-
"window.addEventListener('resize', function() {\n",
|
78
|
-
" Plotly.Plots.resize(document.getElementById('2bbb7089-b8dd-46c1-88f7-83b42bdba33a'))\n",
|
79
|
-
"})\n",
|
80
|
-
" }) \n",
|
81
|
-
"</script>"
|
82
|
-
],
|
83
|
-
"text/plain": [
|
84
|
-
"#<Plotly::Offline::HTML:0x00007fdea58b4788 @id=\"2bbb7089-b8dd-46c1-88f7-83b42bdba33a\", @data=[{:type=>:table, :header=>{:values=>[\"\", :moto, :soe, :naka, :tome, :yodan, :total]}, :cells=>{:values=>[[:rice_total, :rice, :koji, :alcohol, :water, :lactic_acid], [32.0, \"\", 32.0, \"\", 112.0, 0.733], [60.0, 60.0, \"\", \"\", \"\", \"\"], [184.0, 138.0, 46.0, \"\", 183.0, \"\"], [275.0, 225.0, 50.0, \"\", 367.0, \"\"], [\"\", \"\", \"\", \"\", 117.0, \"\"], [551.0, 423.0, 128.0, \"\", 779.0, 0.733]]}}], @layout={:height=>350}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
85
|
-
]
|
86
|
-
},
|
87
|
-
"metadata": {},
|
88
|
-
"output_type": "display_data"
|
89
|
-
},
|
90
|
-
{
|
91
|
-
"name": "stdout",
|
92
|
-
"output_type": "stream",
|
93
|
-
"text": [
|
94
|
-
"仕3 灘における仕込配合\n"
|
95
|
-
]
|
96
|
-
},
|
97
|
-
{
|
98
|
-
"data": {
|
99
|
-
"text/html": [
|
100
|
-
"\n",
|
101
|
-
" <script>\n",
|
102
|
-
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
|
103
|
-
" </script>\n",
|
104
|
-
"\n",
|
105
|
-
"\n",
|
106
|
-
"<div id=\"a71c4259-dcca-4528-806f-7f720eb6492a\" style=\"height: 100%; width: 100%;\"></div>\n",
|
107
|
-
"\n",
|
108
|
-
"<script>\n",
|
109
|
-
" require(['plotly'], function(Plotly) { \n",
|
110
|
-
"Plotly.newPlot(\n",
|
111
|
-
" 'a71c4259-dcca-4528-806f-7f720eb6492a',\n",
|
112
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"\",\"moto\",\"soe\",\"naka\",\"tome\",\"alcohol\",\"total\"]},\"cells\":{\"values\":[[\"rice_total\",\"rice\",\"koji\",\"alcohol\",\"water\",\"lactic_acid\"],[63.0,42.0,21.0,\"\",77.0,0.524],[143.0,98.0,45.0,\"\",122.0,\"\"],[254.0,190.0,64.0,\"\",302.0,\"\"],[440.0,366.0,74.0,\"\",599.0,\"\"],[\"\",\"\",\"\",405.0,\"\",\"\"],[900.0,696.0,204.0,405.0,1100.0,0.524]]}}],\n",
|
113
|
-
" {\"height\":350},\n",
|
114
|
-
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
115
|
-
")\n",
|
116
|
-
"\n",
|
117
|
-
"window.addEventListener('resize', function() {\n",
|
118
|
-
" Plotly.Plots.resize(document.getElementById('a71c4259-dcca-4528-806f-7f720eb6492a'))\n",
|
119
|
-
"})\n",
|
120
|
-
" }) \n",
|
121
|
-
"</script>"
|
122
|
-
],
|
123
|
-
"text/plain": [
|
124
|
-
"#<Plotly::Offline::HTML:0x00007fdea39f2fe8 @id=\"a71c4259-dcca-4528-806f-7f720eb6492a\", @data=[{:type=>:table, :header=>{:values=>[\"\", :moto, :soe, :naka, :tome, :alcohol, :total]}, :cells=>{:values=>[[:rice_total, :rice, :koji, :alcohol, :water, :lactic_acid], [63.0, 42.0, 21.0, \"\", 77.0, 0.524], [143.0, 98.0, 45.0, \"\", 122.0, \"\"], [254.0, 190.0, 64.0, \"\", 302.0, \"\"], [440.0, 366.0, 74.0, \"\", 599.0, \"\"], [\"\", \"\", \"\", 405.0, \"\", \"\"], [900.0, 696.0, 204.0, 405.0, 1100.0, 0.524]]}}], @layout={:height=>350}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
125
|
-
]
|
126
|
-
},
|
127
|
-
"metadata": {},
|
128
|
-
"output_type": "display_data"
|
129
|
-
},
|
130
|
-
{
|
131
|
-
"name": "stdout",
|
132
|
-
"output_type": "stream",
|
133
|
-
"text": [
|
134
|
-
"仕4 酒造教本による標準型仕込配合\n"
|
135
|
-
]
|
136
|
-
},
|
137
|
-
{
|
138
|
-
"data": {
|
139
|
-
"text/html": [
|
140
|
-
"\n",
|
141
|
-
" <script>\n",
|
142
|
-
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
|
143
|
-
" </script>\n",
|
144
|
-
"\n",
|
145
|
-
"\n",
|
146
|
-
"<div id=\"a08eee03-ccb3-4c4e-9bc3-259a2d3f6094\" style=\"height: 100%; width: 100%;\"></div>\n",
|
147
|
-
"\n",
|
148
|
-
"<script>\n",
|
149
|
-
" require(['plotly'], function(Plotly) { \n",
|
150
|
-
"Plotly.newPlot(\n",
|
151
|
-
" 'a08eee03-ccb3-4c4e-9bc3-259a2d3f6094',\n",
|
152
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"\",\"moto\",\"soe\",\"naka\",\"tome\",\"yodan\",\"total\"]},\"cells\":{\"values\":[[\"rice_total\",\"rice\",\"koji\",\"alcohol\",\"water\",\"lactic_acid\"],[59.0,41.0,18.0,\"\",63.0,0.432],[126.0,90.0,36.0,\"\",117.0,\"\"],[248.0,194.0,54.0,\"\",297.0,\"\"],[396.0,324.0,72.0,\"\",567.0,\"\"],[72.0,72.0,\"\",\"\",108.0,\"\"],[901.0,721.0,180.0,\"\",1152.0,0.432]]}}],\n",
|
153
|
-
" {\"height\":350},\n",
|
154
|
-
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
155
|
-
")\n",
|
156
|
-
"\n",
|
157
|
-
"window.addEventListener('resize', function() {\n",
|
158
|
-
" Plotly.Plots.resize(document.getElementById('a08eee03-ccb3-4c4e-9bc3-259a2d3f6094'))\n",
|
159
|
-
"})\n",
|
160
|
-
" }) \n",
|
161
|
-
"</script>"
|
162
|
-
],
|
163
|
-
"text/plain": [
|
164
|
-
"#<Plotly::Offline::HTML:0x00007fdea59b2ef0 @id=\"a08eee03-ccb3-4c4e-9bc3-259a2d3f6094\", @data=[{:type=>:table, :header=>{:values=>[\"\", :moto, :soe, :naka, :tome, :yodan, :total]}, :cells=>{:values=>[[:rice_total, :rice, :koji, :alcohol, :water, :lactic_acid], [59.0, 41.0, 18.0, \"\", 63.0, 0.432], [126.0, 90.0, 36.0, \"\", 117.0, \"\"], [248.0, 194.0, 54.0, \"\", 297.0, \"\"], [396.0, 324.0, 72.0, \"\", 567.0, \"\"], [72.0, 72.0, \"\", \"\", 108.0, \"\"], [901.0, 721.0, 180.0, \"\", 1152.0, 0.432]]}}], @layout={:height=>350}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
165
|
-
]
|
166
|
-
},
|
167
|
-
"metadata": {},
|
168
|
-
"output_type": "display_data"
|
169
|
-
},
|
170
|
-
{
|
171
|
-
"name": "stdout",
|
172
|
-
"output_type": "stream",
|
173
|
-
"text": [
|
174
|
-
"仕5 灘における仕込配合\n"
|
175
|
-
]
|
176
|
-
},
|
177
|
-
{
|
178
|
-
"data": {
|
179
|
-
"text/html": [
|
180
|
-
"\n",
|
181
|
-
" <script>\n",
|
182
|
-
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
|
183
|
-
" </script>\n",
|
184
|
-
"\n",
|
185
|
-
"\n",
|
186
|
-
"<div id=\"eacc12b9-d658-423d-9628-a4a4c94eb78d\" style=\"height: 100%; width: 100%;\"></div>\n",
|
187
|
-
"\n",
|
188
|
-
"<script>\n",
|
189
|
-
" require(['plotly'], function(Plotly) { \n",
|
190
|
-
"Plotly.newPlot(\n",
|
191
|
-
" 'eacc12b9-d658-423d-9628-a4a4c94eb78d',\n",
|
192
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"\",\"moto\",\"soe\",\"naka\",\"tome\",\"alcohol\",\"total\"]},\"cells\":{\"values\":[[\"rice_total\",\"rice\",\"koji\",\"alcohol\",\"water\",\"lactic_acid\"],[63.0,42.0,21.0,\"\",77.0,0.524],[143.0,98.0,45.0,\"\",122.0,\"\"],[254.0,190.0,64.0,\"\",302.0,\"\"],[440.0,366.0,74.0,\"\",599.0,\"\"],[\"\",\"\",\"\",405.0,\"\",\"\"],[900.0,696.0,204.0,405.0,1100.0,0.524]]}}],\n",
|
193
|
-
" {\"height\":350},\n",
|
194
|
-
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
195
|
-
")\n",
|
196
|
-
"\n",
|
197
|
-
"window.addEventListener('resize', function() {\n",
|
198
|
-
" Plotly.Plots.resize(document.getElementById('eacc12b9-d658-423d-9628-a4a4c94eb78d'))\n",
|
199
|
-
"})\n",
|
200
|
-
" }) \n",
|
201
|
-
"</script>"
|
202
|
-
],
|
203
|
-
"text/plain": [
|
204
|
-
"#<Plotly::Offline::HTML:0x00007fdea3a68c98 @id=\"eacc12b9-d658-423d-9628-a4a4c94eb78d\", @data=[{:type=>:table, :header=>{:values=>[\"\", :moto, :soe, :naka, :tome, :alcohol, :total]}, :cells=>{:values=>[[:rice_total, :rice, :koji, :alcohol, :water, :lactic_acid], [63.0, 42.0, 21.0, \"\", 77.0, 0.524], [143.0, 98.0, 45.0, \"\", 122.0, \"\"], [254.0, 190.0, 64.0, \"\", 302.0, \"\"], [440.0, 366.0, 74.0, \"\", 599.0, \"\"], [\"\", \"\", \"\", 405.0, \"\", \"\"], [900.0, 696.0, 204.0, 405.0, 1100.0, 0.524]]}}], @layout={:height=>350}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
205
|
-
]
|
206
|
-
},
|
207
|
-
"metadata": {},
|
208
|
-
"output_type": "display_data"
|
209
|
-
},
|
210
|
-
{
|
211
|
-
"name": "stdout",
|
212
|
-
"output_type": "stream",
|
213
|
-
"text": [
|
214
|
-
"仕6 酒造教本による標準型仕込配合\n"
|
215
|
-
]
|
216
|
-
},
|
217
|
-
{
|
218
|
-
"data": {
|
219
|
-
"text/html": [
|
220
|
-
"\n",
|
221
|
-
" <script>\n",
|
222
|
-
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
|
223
|
-
" </script>\n",
|
224
|
-
"\n",
|
225
|
-
"\n",
|
226
|
-
"<div id=\"b9197332-3f45-44c9-868a-24264d2d3d90\" style=\"height: 100%; width: 100%;\"></div>\n",
|
227
|
-
"\n",
|
228
|
-
"<script>\n",
|
229
|
-
" require(['plotly'], function(Plotly) { \n",
|
230
|
-
"Plotly.newPlot(\n",
|
231
|
-
" 'b9197332-3f45-44c9-868a-24264d2d3d90',\n",
|
232
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"\",\"moto\",\"soe\",\"naka\",\"tome\",\"yodan\",\"total\"]},\"cells\":{\"values\":[[\"rice_total\",\"rice\",\"koji\",\"alcohol\",\"water\",\"lactic_acid\"],[59.0,41.0,18.0,\"\",63.0,0.432],[126.0,90.0,36.0,\"\",117.0,\"\"],[248.0,194.0,54.0,\"\",297.0,\"\"],[396.0,324.0,72.0,\"\",567.0,\"\"],[72.0,72.0,\"\",\"\",108.0,\"\"],[901.0,721.0,180.0,\"\",1152.0,0.432]]}}],\n",
|
233
|
-
" {\"height\":350},\n",
|
234
|
-
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
235
|
-
")\n",
|
236
|
-
"\n",
|
237
|
-
"window.addEventListener('resize', function() {\n",
|
238
|
-
" Plotly.Plots.resize(document.getElementById('b9197332-3f45-44c9-868a-24264d2d3d90'))\n",
|
239
|
-
"})\n",
|
240
|
-
" }) \n",
|
241
|
-
"</script>"
|
242
|
-
],
|
243
|
-
"text/plain": [
|
244
|
-
"#<Plotly::Offline::HTML:0x00007fdea3aca6c8 @id=\"b9197332-3f45-44c9-868a-24264d2d3d90\", @data=[{:type=>:table, :header=>{:values=>[\"\", :moto, :soe, :naka, :tome, :yodan, :total]}, :cells=>{:values=>[[:rice_total, :rice, :koji, :alcohol, :water, :lactic_acid], [59.0, 41.0, 18.0, \"\", 63.0, 0.432], [126.0, 90.0, 36.0, \"\", 117.0, \"\"], [248.0, 194.0, 54.0, \"\", 297.0, \"\"], [396.0, 324.0, 72.0, \"\", 567.0, \"\"], [72.0, 72.0, \"\", \"\", 108.0, \"\"], [901.0, 721.0, 180.0, \"\", 1152.0, 0.432]]}}], @layout={:height=>350}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
245
|
-
]
|
246
|
-
},
|
247
|
-
"metadata": {},
|
248
|
-
"output_type": "display_data"
|
249
|
-
},
|
250
|
-
{
|
251
|
-
"data": {
|
252
|
-
"text/html": [
|
253
|
-
"\n",
|
254
|
-
" <script>\n",
|
255
|
-
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
|
256
|
-
" </script>\n",
|
257
|
-
"\n",
|
258
|
-
"\n",
|
259
|
-
"<div id=\"6227ffb4-4516-45f9-9b7c-5eb2e11a8095\" style=\"height: 100%; width: 100%;\"></div>\n",
|
260
|
-
"\n",
|
261
|
-
"<script>\n",
|
262
|
-
" require(['plotly'], function(Plotly) { \n",
|
263
|
-
"Plotly.newPlot(\n",
|
264
|
-
" '6227ffb4-4516-45f9-9b7c-5eb2e11a8095',\n",
|
265
|
-
" [{\"type\":\"table\",\"header\":{\"values\":[\"date\",\"moto_koji\",\"moromi_koji\",\"moto\",\"soe\",\"naka\",\"tome\",\"yodan\"]},\"cells\":{\"values\":[[\"02/20\",\"02/21\",\"02/22\",\"02/23\",\"02/24\",\"02/25\",\"02/26\",\"02/27\",\"02/28\",\"02/29\",\"03/01\",\"03/02\",\"03/03\",\"03/04\",\"03/05\",\"03/06\",\"03/07\",\"03/08\",\"03/09\",\"03/10\",\"03/11\",\"03/12\",\"03/13\",\"03/14\",\"03/15\",\"03/16\",\"03/17\",\"03/18\",\"03/19\",\"03/20\",\"03/21\",\"03/22\"],[\"仕3: 21\\u003cbr\\u003e仕4: 18\",\"\",\"\",\"\",\"\",\"\",\"\",\"仕5: 21\\u003cbr\\u003e仕6: 18\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"仕1: 140\",\"\",\"\",\"仕2: 128\",\"\",\"\",\"\",\"仕3: 183\",\"\",\"\",\"仕4: 162\",\"\",\"\",\"\",\"仕5: 183\",\"\",\"\",\"仕6: 162\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"仕3: 42\\u003cbr\\u003e仕4: 41\",\"\",\"\",\"\",\"\",\"仕1: 0\",\"\",\"仕2: 0\\u003cbr\\u003e仕5: 42\\u003cbr\\u003e仕6: 41\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"仕1: 65\",\"\",\"仕2: 60\",\"\",\"\",\"\",\"\",\"仕3: 98\",\"\",\"仕4: 90\",\"\",\"\",\"\",\"\",\"仕5: 98\",\"\",\"仕6: 90\",\"\",\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"仕1: 150\",\"\",\"\",\"仕2: 138\",\"\",\"\",\"\",\"仕3: 190\",\"\",\"仕4: 194\",\"\",\"\",\"\",\"\",\"仕5: 190\",\"\",\"仕6: 194\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"仕1: 245\",\"\",\"\",\"仕2: 225\",\"\",\"\",\"\",\"仕3: 366\",\"\",\"仕4: 324\",\"\",\"\",\"\",\"\",\"仕5: 366\",\"\",\"仕6: 324\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"仕4: 72\",\"\",\"\",\"\",\"\",\"\",\"\",\"仕6: 72\"]]}}],\n",
|
266
|
-
" {\"height\":1000},\n",
|
267
|
-
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
|
268
|
-
")\n",
|
269
|
-
"\n",
|
270
|
-
"window.addEventListener('resize', function() {\n",
|
271
|
-
" Plotly.Plots.resize(document.getElementById('6227ffb4-4516-45f9-9b7c-5eb2e11a8095'))\n",
|
272
|
-
"})\n",
|
273
|
-
" }) \n",
|
274
|
-
"</script>"
|
275
|
-
],
|
276
|
-
"text/plain": [
|
277
|
-
"#<Plotly::Offline::HTML:0x00007fdea5a22890 @id=\"6227ffb4-4516-45f9-9b7c-5eb2e11a8095\", @data=[{:type=>:table, :header=>{:values=>[:date, :moto_koji, :moromi_koji, :moto, :soe, :naka, :tome, :yodan]}, :cells=>{:values=>[[\"02/20\", \"02/21\", \"02/22\", \"02/23\", \"02/24\", \"02/25\", \"02/26\", \"02/27\", \"02/28\", \"02/29\", \"03/01\", \"03/02\", \"03/03\", \"03/04\", \"03/05\", \"03/06\", \"03/07\", \"03/08\", \"03/09\", \"03/10\", \"03/11\", \"03/12\", \"03/13\", \"03/14\", \"03/15\", \"03/16\", \"03/17\", \"03/18\", \"03/19\", \"03/20\", \"03/21\", \"03/22\"], [\"仕3: 21<br>仕4: 18\", \"\", \"\", \"\", \"\", \"\", \"\", \"仕5: 21<br>仕6: 18\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"仕1: 140\", \"\", \"\", \"仕2: 128\", \"\", \"\", \"\", \"仕3: 183\", \"\", \"\", \"仕4: 162\", \"\", \"\", \"\", \"仕5: 183\", \"\", \"\", \"仕6: 162\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"仕3: 42<br>仕4: 41\", \"\", \"\", \"\", \"\", \"仕1: 0\", \"\", \"仕2: 0<br>仕5: 42<br>仕6: 41\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"仕1: 65\", \"\", \"仕2: 60\", \"\", \"\", \"\", \"\", \"仕3: 98\", \"\", \"仕4: 90\", \"\", \"\", \"\", \"\", \"仕5: 98\", \"\", \"仕6: 90\", \"\", \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"仕1: 150\", \"\", \"\", \"仕2: 138\", \"\", \"\", \"\", \"仕3: 190\", \"\", \"仕4: 194\", \"\", \"\", \"\", \"\", \"仕5: 190\", \"\", \"仕6: 194\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"仕1: 245\", \"\", \"\", \"仕2: 225\", \"\", \"\", \"\", \"仕3: 366\", \"\", \"仕4: 324\", \"\", \"\", \"\", \"\", \"仕5: 366\", \"\", \"仕6: 324\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"仕4: 72\", \"\", \"\", \"\", \"\", \"\", \"\", \"仕6: 72\"]]}}], @layout={:height=>1000}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
|
278
|
-
]
|
279
|
-
},
|
280
|
-
"metadata": {},
|
281
|
-
"output_type": "display_data"
|
282
|
-
},
|
283
|
-
{
|
284
|
-
"data": {
|
285
|
-
"text/plain": [
|
286
|
-
"#<CZTop::Socket::PUB:0x7fdea7883bf0 last_endpoint=\"tcp://127.0.0.1:54635\">"
|
287
|
-
]
|
288
|
-
},
|
289
|
-
"execution_count": 1,
|
290
|
-
"metadata": {},
|
291
|
-
"output_type": "execute_result"
|
292
|
-
}
|
293
|
-
],
|
294
|
-
"source": [
|
295
|
-
"$LOAD_PATH << File.dirname(__FILE__) + \"/../lib\"\n",
|
296
|
-
"require 'toji'\n",
|
297
|
-
"require 'rbplotly'\n",
|
298
|
-
"\n",
|
299
|
-
"cal = Toji::Schedule::Calendar.new\n",
|
300
|
-
".add(Toji::Schedule::Product.create(\n",
|
301
|
-
" name: \"仕1\",\n",
|
302
|
-
" description: \"姫野国夫による酒母省略仕込\",\n",
|
303
|
-
" recipe: :simple_sokujo_himeno,\n",
|
304
|
-
" scale: 600,\n",
|
305
|
-
" round: 0,\n",
|
306
|
-
" koji_dates: Time.mktime(2020, 2, 24),\n",
|
307
|
-
" rice_dates: Time.mktime(2020, 3, 1),\n",
|
308
|
-
" moto_days: 1,\n",
|
309
|
-
" odori_days: 1\n",
|
310
|
-
"))\n",
|
311
|
-
".add(Toji::Schedule::Product.create(\n",
|
312
|
-
" name: \"仕2\",\n",
|
313
|
-
" description: \"姫野国夫による酒母省略仕込\",\n",
|
314
|
-
" recipe: :simple_sokujo_himeno,\n",
|
315
|
-
" scale: 550,\n",
|
316
|
-
" round: 0,\n",
|
317
|
-
" koji_dates: Time.mktime(2020, 2, 27),\n",
|
318
|
-
" rice_dates: Time.mktime(2020, 3, 3)\n",
|
319
|
-
"))\n",
|
320
|
-
".add(Toji::Schedule::Product.create(\n",
|
321
|
-
" name: \"仕3\",\n",
|
322
|
-
" description: \"灘における仕込配合\",\n",
|
323
|
-
" recipe: :sokujo_nada,\n",
|
324
|
-
" scale: 900,\n",
|
325
|
-
" round: 0,\n",
|
326
|
-
" koji_dates: [Time.mktime(2020, 2, 20), Time.mktime(2020, 3, 2)],\n",
|
327
|
-
" rice_dates: [Time.mktime(2020, 2, 25), Time.mktime(2020, 3, 9)]\n",
|
328
|
-
"))\n",
|
329
|
-
".add(Toji::Schedule::Product.create(\n",
|
330
|
-
" name: \"仕4\",\n",
|
331
|
-
" description: \"酒造教本による標準型仕込配合\",\n",
|
332
|
-
" recipe: :sokujo_textbook,\n",
|
333
|
-
" scale: 900,\n",
|
334
|
-
" round: 0,\n",
|
335
|
-
" koji_dates: [Time.mktime(2020, 2, 20), Time.mktime(2020, 3, 5)],\n",
|
336
|
-
" rice_dates: [Time.mktime(2020, 2, 25), Time.mktime(2020, 3, 11)]\n",
|
337
|
-
"))\n",
|
338
|
-
".add(Toji::Schedule::Product.create(\n",
|
339
|
-
" name: \"仕5\",\n",
|
340
|
-
" description: \"灘における仕込配合\",\n",
|
341
|
-
" recipe: :sokujo_nada,\n",
|
342
|
-
" scale: 900,\n",
|
343
|
-
" round: 0,\n",
|
344
|
-
" koji_dates: [Time.mktime(2020, 2, 27), Time.mktime(2020, 3, 9)],\n",
|
345
|
-
" rice_dates: [Time.mktime(2020, 3, 3), Time.mktime(2020, 3, 16)]\n",
|
346
|
-
"))\n",
|
347
|
-
".add(Toji::Schedule::Product.create(\n",
|
348
|
-
" name: \"仕6\",\n",
|
349
|
-
" description: \"酒造教本による標準型仕込配合\",\n",
|
350
|
-
" recipe: :sokujo_textbook,\n",
|
351
|
-
" scale: 900,\n",
|
352
|
-
" round: 0,\n",
|
353
|
-
" koji_dates: [Time.mktime(2020, 2, 27), Time.mktime(2020, 3, 12)],\n",
|
354
|
-
" rice_dates: [Time.mktime(2020, 3, 3), Time.mktime(2020, 3, 18)]\n",
|
355
|
-
"))\n",
|
356
|
-
"\n",
|
357
|
-
"cal.products.each {|product|\n",
|
358
|
-
" puts \"%s %s\" % [product.name, product.description]\n",
|
359
|
-
" \n",
|
360
|
-
" product.recipe.table.tap {|t|\n",
|
361
|
-
" t.layout.height = 350\n",
|
362
|
-
" }.show\n",
|
363
|
-
"}\n",
|
364
|
-
"\n",
|
365
|
-
"cal.table.tap {|t|\n",
|
366
|
-
" t.layout.height = 1000\n",
|
367
|
-
"}.show"
|
368
|
-
]
|
369
|
-
},
|
370
|
-
{
|
371
|
-
"cell_type": "code",
|
372
|
-
"execution_count": null,
|
373
|
-
"metadata": {},
|
374
|
-
"outputs": [],
|
375
|
-
"source": []
|
376
|
-
}
|
377
|
-
],
|
378
|
-
"metadata": {
|
379
|
-
"kernelspec": {
|
380
|
-
"display_name": "Ruby 2.7.0",
|
381
|
-
"language": "ruby",
|
382
|
-
"name": "ruby"
|
383
|
-
},
|
384
|
-
"language_info": {
|
385
|
-
"file_extension": ".rb",
|
386
|
-
"mimetype": "application/x-ruby",
|
387
|
-
"name": "ruby",
|
388
|
-
"version": "2.6.3"
|
389
|
-
}
|
390
|
-
},
|
391
|
-
"nbformat": 4,
|
392
|
-
"nbformat_minor": 2
|
393
|
-
}
|