toji 2.4.1 → 2.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 913d49d53fa4cd879ce28a4fe4961edccdc8217c1357712666d1a803c16e89a6
4
- data.tar.gz: 51eb32477e501ed38527a8cb55ac752d037cb31a10f2eddc706b4dafe8c26d3a
3
+ metadata.gz: 56de715e78ed6183d24009f05ba8c1e87c5d7d293c1536946b056f65f848ba55
4
+ data.tar.gz: d3b273a52c6960cad1cea55425942b3548d947df93abee5321bee1e63506fb67
5
5
  SHA512:
6
- metadata.gz: 7332c31932db265a7d38e21336c2ad0b7993752de274661874485db5da66c4c03a32cd6b26001b6c33e91c574a5c85f685f97cfbf552f7f59f8d8b40d2fa5bd8
7
- data.tar.gz: bbaae3eb542de0b7458562126ef9b27ccc8805a588327ddbee1150ab572797945b109bc5ed0d4b39ac5384f5f275c4820d9dd5d00b93354f5038f87fcb9607b4
6
+ metadata.gz: b7c2f52e5fca256c6adf6589b561bf7239ade63fb57198a9257d390b9c1866b325baa748cdb6c7f5c9ba1e8ad34dda7022819b7ba8e9cad26cd3c565616f5a27
7
+ data.tar.gz: fc50c1770c0679eecd19b2e0367afd51a43fb4d02e5fe808849d4ba6e694e27bcc91046c4a4fef94637ca2721ab8ce164e66f1b8db2f18d9f42dcbb19a6ee877
@@ -302,7 +302,7 @@
302
302
  " name: \"仕1\",\n",
303
303
  " description: \"姫野国夫による酒母省略仕込\",\n",
304
304
  " recipe: Example::Recipe::TEMPLATES[:simple_sokujo_himeno].scale(600).round(0),\n",
305
- " start_date: Time.mktime(2020, 2, 24)\n",
305
+ " base_date: Time.mktime(2020, 2, 24)\n",
306
306
  "))\n",
307
307
  ".add(Example::Product.create(\n",
308
308
  " name: \"仕2\",\n",
@@ -311,7 +311,7 @@
311
311
  " r.steps[0].kake_interval_days = 5\n",
312
312
  " r.steps[2].kake_interval_days = 3\n",
313
313
  " },\n",
314
- " start_date: Time.mktime(2020, 2, 27)\n",
314
+ " base_date: Time.mktime(2020, 2, 27)\n",
315
315
  "))\n",
316
316
  ".add(Example::Product.create(\n",
317
317
  " name: \"仕3\",\n",
@@ -320,13 +320,13 @@
320
320
  " r.steps[1].koji_interval_days = 11\n",
321
321
  " r.steps[1].kake_interval_days = 13\n",
322
322
  " },\n",
323
- " start_date: Time.mktime(2020, 2, 20)\n",
323
+ " base_date: Time.mktime(2020, 2, 20)\n",
324
324
  "))\n",
325
325
  ".add(Example::Product.create(\n",
326
326
  " name: \"仕4\",\n",
327
327
  " description: \"酒造教本による標準型仕込配合\",\n",
328
328
  " recipe: Example::Recipe::TEMPLATES[:sokujo_textbook].scale(900).round(0),\n",
329
- " start_date: Time.mktime(2020, 2, 20)\n",
329
+ " base_date: Time.mktime(2020, 2, 20)\n",
330
330
  "))\n",
331
331
  ".add(Example::Product.create(\n",
332
332
  " name: \"仕5\",\n",
@@ -335,13 +335,13 @@
335
335
  " r.steps[1].koji_interval_days = 11\n",
336
336
  " r.steps[1].kake_interval_days = 13\n",
337
337
  " },\n",
338
- " start_date: Time.mktime(2020, 2, 27)\n",
338
+ " base_date: Time.mktime(2020, 2, 27)\n",
339
339
  "))\n",
340
340
  ".add(Example::Product.create(\n",
341
341
  " name: \"仕6\",\n",
342
342
  " description: \"酒造教本による標準型仕込配合\",\n",
343
343
  " recipe: Example::Recipe::TEMPLATES[:sokujo_textbook].scale(900).round(0),\n",
344
- " start_date: Time.mktime(2020, 2, 27)\n",
344
+ " base_date: Time.mktime(2020, 2, 27)\n",
345
345
  "))\n",
346
346
  "\n",
347
347
  "cal.products.each {|product|\n",
@@ -4,34 +4,34 @@ products:
4
4
  recipe: :simple_sokujo_himeno
5
5
  scale: 600
6
6
  round: 0
7
- start_date: 2020-2-24
7
+ base_date: 2020-2-24
8
8
  - name: 仕2
9
9
  description: 姫野国夫による酒母省略仕込
10
10
  recipe: :simple_sokujo_himeno
11
11
  scale: 550
12
12
  round: 0
13
- start_date: 2020-2-27
13
+ base_date: 2020-2-27
14
14
  - name: 仕3
15
15
  description: 灘における仕込配合
16
16
  recipe: :sokujo_nada
17
17
  scale: 900
18
18
  round: 0
19
- start_date: 2020-2-20
19
+ base_date: 2020-2-20
20
20
  - name: 仕4
21
21
  description: 酒造教本による標準型仕込配合
22
22
  recipe: :sokujo_textbook
23
23
  scale: 900
24
24
  round: 0
25
- start_date: 2020-2-20
25
+ base_date: 2020-2-20
26
26
  - name: 仕5
27
27
  description: 灘における仕込配合
28
28
  recipe: :sokujo_nada
29
29
  scale: 900
30
30
  round: 0
31
- start_date: 2020-2-27
31
+ base_date: 2020-2-27
32
32
  - name: 仕6
33
33
  description: 酒造教本による標準型仕込配合
34
34
  recipe: :sokujo_textbook
35
35
  scale: 900
36
36
  round: 0
37
- start_date: 2020-2-27
37
+ base_date: 2020-2-27
@@ -249,12 +249,12 @@ module Example
249
249
  attr_accessor :description
250
250
  attr_accessor :color
251
251
 
252
- def initialize(reduce_key, name, description, recipe, start_date, color=nil)
252
+ def initialize(reduce_key, name, description, recipe, base_date, color=nil)
253
253
  @reduce_key = reduce_key || SecureRandom.uuid
254
254
  @name = name
255
255
  @description = description
256
256
  @recipe = recipe
257
- @start_date = start_date
257
+ @base_date = base_date
258
258
  @color = color
259
259
  end
260
260
 
@@ -278,7 +278,7 @@ module Example
278
278
  args[:name],
279
279
  args[:description],
280
280
  recipe,
281
- args[:start_date],
281
+ args[:base_date],
282
282
  args[:color]
283
283
  )
284
284
  else
@@ -7,7 +7,7 @@ koji = Example::Brew::Koji.load_yaml_file(File.dirname(__FILE__)+"/koji_making.y
7
7
  table = Terminal::Table.new do |t|
8
8
  t << ["作業", "日数", "品温(度)", "操作室温", "乾湿差(度)", "経過時間", "日時"]
9
9
  t << :separator
10
- koji.each {|s|
10
+ koji.wrapped_states.each {|s|
11
11
  temp = s.temps.map(&:to_s).join(" / ")
12
12
  t << [s.mark, s.day_label, temp, s.room_temp, s.room_psychrometry, s.elapsed_time, s.display_time]
13
13
  }
@@ -2,7 +2,7 @@
2
2
  "cells": [
3
3
  {
4
4
  "cell_type": "code",
5
- "execution_count": 1,
5
+ "execution_count": 4,
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=\"28142862-0c71-4f6e-9371-7d1d44d9bc5d\" style=\"height: 100%; width: 100%;\"></div>\n",
19
+ "<div id=\"0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd\" 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
- " '28142862-0c71-4f6e-9371-7d1d44d9bc5d',\n",
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",
24
+ " '0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd',\n",
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.7,1.3,0.8,0.5,0.3,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.099999999999998,18.2,12.8,8.5,5.3999999999999995,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
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('28142862-0c71-4f6e-9371-7d1d44d9bc5d'))\n",
31
+ " Plotly.Plots.resize(document.getElementById('0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd'))\n",
32
32
  "})\n",
33
33
  " }) \n",
34
34
  "</script>"
35
35
  ],
36
36
  "text/plain": [
37
- "#<Plotly::Offline::HTML:0x00007fc82196de58 @id=\"28142862-0c71-4f6e-9371-7d1d44d9bc5d\", @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>"
37
+ "#<Plotly::Offline::HTML:0x00007fe57118c758 @id=\"0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd\", @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.7, 1.3, 0.8, 0.5, 0.3, 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.099999999999998, 18.2, 12.8, 8.5, 5.3999999999999995, 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=\"346afa88-18af-43dd-bcb9-4027cebafbb2\" style=\"height: 100%; width: 100%;\"></div>\n",
52
+ "<div id=\"7eb61d12-042e-4b84-9373-06ec2c071d79\" 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
- " '346afa88-18af-43dd-bcb9-4027cebafbb2',\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",
57
+ " '7eb61d12-042e-4b84-9373-06ec2c071d79',\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.0\",\"-21.0\",\"-17.0\",\"-13.0\",\"\",\"-8.0\",\"-5.0\",\"-3.0\",\"-2.0\",\"0.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
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('346afa88-18af-43dd-bcb9-4027cebafbb2'))\n",
64
+ " Plotly.Plots.resize(document.getElementById('7eb61d12-042e-4b84-9373-06ec2c071d79'))\n",
65
65
  "})\n",
66
66
  " }) \n",
67
67
  "</script>"
68
68
  ],
69
69
  "text/plain": [
70
- "#<Plotly::Offline::HTML:0x00007fc82291a1a8 @id=\"346afa88-18af-43dd-bcb9-4027cebafbb2\", @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>"
70
+ "#<Plotly::Offline::HTML:0x00007fe5752c8690 @id=\"7eb61d12-042e-4b84-9373-06ec2c071d79\", @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.0\", \"-21.0\", \"-17.0\", \"-13.0\", \"\", \"-8.0\", \"-5.0\", \"-3.0\", \"-2.0\", \"0.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=\"381a03bc-3fd1-4b6e-bb75-33898dc85c41\" style=\"height: 100%; width: 100%;\"></div>\n",
85
+ "<div id=\"1cbb8a13-f102-482a-8367-a98d4f4e480a\" 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
- " '381a03bc-3fd1-4b6e-bb75-33898dc85c41',\n",
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",
90
+ " '1cbb8a13-f102-482a-8367-a98d4f4e480a',\n",
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.099999999999998,18.2,12.8,8.5,5.3999999999999995,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.7, bmd=22.099999999999998\",\"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.3, bmd=5.3999999999999995\",\"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('381a03bc-3fd1-4b6e-bb75-33898dc85c41'))\n",
97
+ " Plotly.Plots.resize(document.getElementById('1cbb8a13-f102-482a-8367-a98d4f4e480a'))\n",
98
98
  "})\n",
99
99
  " }) \n",
100
100
  "</script>"
101
101
  ],
102
102
  "text/plain": [
103
- "#<Plotly::Offline::HTML:0x00007fc8222826d8 @id=\"381a03bc-3fd1-4b6e-bb75-33898dc85c41\", @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>"
103
+ "#<Plotly::Offline::HTML:0x00007fe5753222d0 @id=\"1cbb8a13-f102-482a-8367-a98d4f4e480a\", @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.099999999999998, 18.2, 12.8, 8.5, 5.3999999999999995, 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.7, bmd=22.099999999999998\", \"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.3, bmd=5.3999999999999995\", \"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=\"91412496-bb06-4568-9cd5-a0750faed761\" style=\"height: 100%; width: 100%;\"></div>\n",
118
+ "<div id=\"be5e3e28-c1f7-4993-b255-596bf278f355\" 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
- " '91412496-bb06-4568-9cd5-a0750faed761',\n",
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",
123
+ " 'be5e3e28-c1f7-4993-b255-596bf278f355',\n",
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.3],\"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.3\"],\"name\":\"actual\"},{\"x\":[16.08,4.879999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 16.5\"},{\"x\":[16.58,5.379999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 17.0\"},{\"x\":[16.5,5.300000000000001],\"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('91412496-bb06-4568-9cd5-a0750faed761'))\n",
130
+ " Plotly.Plots.resize(document.getElementById('be5e3e28-c1f7-4993-b255-596bf278f355'))\n",
131
131
  "})\n",
132
132
  " }) \n",
133
133
  "</script>"
134
134
  ],
135
135
  "text/plain": [
136
- "#<Plotly::Offline::HTML:0x00007fc82327a720 @id=\"91412496-bb06-4568-9cd5-a0750faed761\", @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>"
136
+ "#<Plotly::Offline::HTML:0x00007fe575351b70 @id=\"be5e3e28-c1f7-4993-b255-596bf278f355\", @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.3], :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.3\"], :name=>:actual}, {:x=>[16.08, 4.879999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 16.5\"}, {:x=>[16.58, 5.379999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 17.0\"}, {:x=>[16.5, 5.300000000000001], :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,10 +142,10 @@
142
142
  {
143
143
  "data": {
144
144
  "text/plain": [
145
- "#<CZTop::Socket::PUB:0x7fc8261220a0 last_endpoint=\"tcp://127.0.0.1:49571\">"
145
+ "#<CZTop::Socket::PUB:0x7fe5759f3ab0 last_endpoint=\"tcp://127.0.0.1:54895\">"
146
146
  ]
147
147
  },
148
- "execution_count": 1,
148
+ "execution_count": 4,
149
149
  "metadata": {},
150
150
  "output_type": "execute_result"
151
151
  }
@@ -161,7 +161,7 @@
161
161
  "moromi.progress.table.tap{|t| t.layout.height=1000}.show\n",
162
162
  "moromi.bmd.plot.show\n",
163
163
  "\n",
164
- "moromi.ab(1.5)\n",
164
+ "moromi.ab(1.4)\n",
165
165
  " .expect(16.5, +3)\n",
166
166
  " .expect(17.0, +3)\n",
167
167
  " .expect(16.5, +0)\n",
@@ -8,7 +8,7 @@ moromi = Example::Brew::Moromi.load_yaml_file(File.dirname(__FILE__)+"/moromi.ya
8
8
  table = Terminal::Table.new do |t|
9
9
  t << ["作業", "日数", "品温(度)", "操作室温", "ボーメ及び日本酒度", "アルコール度数", "BMD", "アルコール期待値(16.5 +3)", "経過時間", "日時"]
10
10
  t << :separator
11
- moromi.each {|s|
11
+ moromi.wrapped_states.each {|s|
12
12
  temp = s.temps.map(&:to_s).join(" / ")
13
13
  t << [s.mark, s.day_label, temp, s.room_temp, s.display_baume, s.alcohol, s.bmd&.round(2), s.expected_alcohol(16.5, +3, 1.5)&.round(2), s.elapsed_time, s.display_time]
14
14
  }
@@ -7,7 +7,7 @@ shubo = Example::Brew::Shubo.load_yaml_file(File.dirname(__FILE__)+"/shubo.yaml"
7
7
  table = Terminal::Table.new do |t|
8
8
  t << ["作業", "日数", "品温(度)", "ボーメ", "酸度", "経過時間", "日時"]
9
9
  t << :separator
10
- shubo.each {|s|
10
+ shubo.wrapped_states.each {|s|
11
11
  temp = s.temps.map(&:to_s).join(" / ")
12
12
  t << [s.mark, s.day_label, temp, s.baume, s.acid, s.elapsed_time, s.display_time]
13
13
  }
@@ -1,8 +1,6 @@
1
1
  module Toji
2
2
  module Brew
3
3
  module Base
4
- include Enumerable
5
-
6
4
  REQUIRED_KEYS = [
7
5
  :time,
8
6
  :elapsed_time,
@@ -45,10 +43,6 @@ module Toji
45
43
  nil
46
44
  end
47
45
 
48
- def each(&block)
49
- wrapped_states.each(&block)
50
- end
51
-
52
46
  def has_keys
53
47
  result = REQUIRED_KEYS.dup
54
48
 
@@ -2,14 +2,17 @@ module Toji
2
2
  module Brew
3
3
  module Graph
4
4
  class Ab
5
- attr_reader :coef
6
-
7
- def initialize(coef=1.5)
8
- @coef = coef
5
+ def initialize
6
+ @coef = 1.0
9
7
  @actuals = []
10
8
  @expects = []
11
9
  end
12
10
 
11
+ def coef(coef)
12
+ @coef = coef
13
+ self
14
+ end
15
+
13
16
  def actual(moromi, name=:actual)
14
17
  @actuals << [moromi, name]
15
18
  self
@@ -20,11 +23,18 @@ module Toji
20
23
  self
21
24
  end
22
25
 
26
+ def expects(expects)
27
+ expects.each {|o|
28
+ expect(o.alcohol, o.nihonshudo)
29
+ }
30
+ self
31
+ end
32
+
23
33
  def plot_data
24
34
  result = []
25
35
 
26
36
  @actuals.each {|moromi, name|
27
- states = moromi.select{|s| s.alcohol && s.baume}
37
+ states = moromi.wrapped_states.select{|s| s.alcohol && s.baume}
28
38
 
29
39
  xs = states.map(&:alcohol)
30
40
  ys = states.map(&:baume)
@@ -47,13 +57,13 @@ module Toji
47
57
 
48
58
  def min_baume
49
59
  @actuals.map {|moromi, name|
50
- moromi.map(&:baume).compact.min
60
+ moromi.wrapped_states.map(&:baume).compact.min
51
61
  }.compact.min || 0
52
62
  end
53
63
 
54
64
  def max_baume
55
65
  @actuals.map {|moromi, name|
56
- moromi.map(&:baume).compact.max
66
+ moromi.wrapped_states.map(&:baume).compact.max
57
67
  }.compact.max || 0
58
68
  end
59
69
 
@@ -56,13 +56,13 @@ module Toji
56
56
  xs = []
57
57
  ys = []
58
58
  text = []
59
- @brew.each {|r|
60
- val = r.send(key)
59
+ @brew.wrapped_states.each {|s|
60
+ val = s.send(key)
61
61
  if val
62
62
  [val].flatten.each_with_index {|v,i|
63
- xs << r.elapsed_time_with_offset + i
63
+ xs << s.elapsed_time_with_offset + i
64
64
  ys << v
65
- text << r.display_time
65
+ text << s.display_time
66
66
  }
67
67
  end
68
68
  }
@@ -102,7 +102,7 @@ module Toji
102
102
  def annotations
103
103
  return [] if !@enable_annotations
104
104
 
105
- @brew.select{|s| s.mark}.map {|s|
105
+ @brew.wrapped_states.select{|s| s.mark}.map {|s|
106
106
  {
107
107
  x: s.elapsed_time_with_offset,
108
108
  y: s.temps.first || 0,
@@ -131,7 +131,7 @@ module Toji
131
131
  end
132
132
 
133
133
  rows = []
134
- @brew.each {|state|
134
+ @brew.wrapped_states.each {|state|
135
135
  rows << keys.map {|k|
136
136
  v = state&.send(k)
137
137
  if Array===v
@@ -36,8 +36,8 @@ module Toji
36
36
  Graph::Bmd.new.actual(self)
37
37
  end
38
38
 
39
- def ab(coef=1.5)
40
- Graph::Ab.new(coef).actual(self)
39
+ def ab(coef, expects=[])
40
+ Graph::Ab.new.coef(coef).actual(self).expects(expects)
41
41
  end
42
42
  end
43
43
  end
@@ -16,7 +16,7 @@ module Toji
16
16
  alias_method :add, :<<
17
17
 
18
18
  def date_rows
19
- events = @products.map{|product| product.events}.flatten
19
+ events = @products.map{|product| product.rice_events}.flatten
20
20
 
21
21
  result = {}
22
22
  events.each {|event|
@@ -28,7 +28,7 @@ module Toji
28
28
  end
29
29
 
30
30
  def table_data
31
- events = @products.map{|product| product.events}.flatten
31
+ events = @products.map{|product| product.rice_events}.flatten
32
32
 
33
33
  koji_len = events.select{|e| e.type==:koji}.map(&:group_index).max + 1
34
34
  kake_len = events.select{|e| e.type==:kake}.map(&:group_index).max + 1
@@ -1,19 +1,19 @@
1
1
  module Toji
2
2
  class Calendar
3
3
  class DateColumn
4
- attr_reader :events
4
+ attr_reader :rice_events
5
5
 
6
6
  def initialize
7
- @events = []
7
+ @rice_events = []
8
8
  end
9
9
 
10
10
  def <<(event)
11
- @events << event
11
+ @rice_events << event
12
12
  end
13
13
  alias_method :add, :<<
14
14
 
15
15
  def event_groups
16
- @events.group_by {|e|
16
+ @rice_events.group_by {|e|
17
17
  e.group_key
18
18
  }.values
19
19
  end
@@ -1,65 +1,93 @@
1
1
  require 'toji/product/event'
2
+ require 'toji/product/rice_event'
3
+ require 'toji/product/rice_event_group'
2
4
 
3
5
  module Toji
4
6
  module Product
5
7
  attr_reader :reduce_key
6
8
  attr_accessor :name
7
9
  attr_accessor :recipe
8
- attr_accessor :start_date
10
+ attr_accessor :base_date
9
11
 
10
12
  def koji_dates
11
- date = start_date
13
+ date = base_date
12
14
  recipe.steps.map {|step|
13
15
  date = date.next_day(step.koji_interval_days)
14
16
  }
15
17
  end
16
18
 
17
19
  def kake_dates
18
- date = start_date
20
+ date = base_date
19
21
  recipe.steps.map {|step|
20
22
  date = date.next_day(step.kake_interval_days)
21
23
  }
22
24
  end
23
25
 
24
- def events
25
- events = []
26
+ def squeeze_date
27
+ base_date.next_day(recipe.squeeze_interval_days)
28
+ end
26
29
 
27
- koji_dates.length.times {|i|
28
- events << Event.new(self, :koji, i)
30
+ def koji_events
31
+ koji_dates.map.with_index {|date,i|
32
+ RiceEvent.new(
33
+ product: self,
34
+ type: :koji,
35
+ index: i,
36
+ group_index: koji_dates.find_index(date),
37
+ date: date,
38
+ weight: recipe.steps[i].koji,
39
+ )
29
40
  }
41
+ end
30
42
 
31
- kake_dates.length
32
- .times.map {|i|
33
- Event.new(self, :kake, i)
34
- }
35
- .delete_if {|e|
36
- 4<=e.index && e.weight==0
37
- }
38
- .each {|e|
39
- events << e
40
- }
43
+ def kake_events
44
+ kake_dates.map.with_index {|date,i|
45
+ RiceEvent.new(
46
+ product: self,
47
+ type: :kake,
48
+ index: i,
49
+ group_index: kake_dates.find_index(date),
50
+ date: date,
51
+ weight: recipe.steps[i].kake,
52
+ )
53
+ }
54
+ end
41
55
 
42
- events
56
+ def rice_events
57
+ koji_events + kake_events
43
58
  end
44
59
 
45
- def events_group
46
- events.group_by{|event|
60
+ def koji_event_groups
61
+ koji_events.select{|event|
62
+ 0<event.weight
63
+ }.group_by{|event|
47
64
  event.group_key
48
65
  }.map {|group_key,events|
49
- breakdown = events.map {|event|
50
- {index: event.index, weight: event.weight}
51
- }
52
- if 1<breakdown.length
53
- breakdown = breakdown.select{|event| 0<event[:weight]}
54
- end
66
+ RiceEventGroup.new(events)
67
+ }
68
+ end
55
69
 
56
- {
57
- date: events.first.date,
58
- type: events.first.type,
59
- weight: events.map(&:weight).sum,
60
- breakdown: breakdown,
61
- }
70
+ def kake_event_groups
71
+ kake_events.select{|event|
72
+ 0<event.weight
73
+ }.group_by{|event|
74
+ event.group_key
75
+ }.map {|group_key,events|
76
+ RiceEventGroup.new(events)
62
77
  }
63
78
  end
79
+
80
+ def rice_event_groups
81
+ koji_event_groups + kake_event_groups
82
+ end
83
+
84
+ def events
85
+ events = []
86
+
87
+ events += rice_event_groups
88
+ events << Event.new(squeeze_date, :squeeze)
89
+
90
+ events
91
+ end
64
92
  end
65
93
  end
@@ -1,43 +1,12 @@
1
1
  module Toji
2
2
  module Product
3
3
  class Event
4
- attr_reader :product
4
+ attr_reader :date
5
5
  attr_reader :type
6
- attr_reader :index
7
-
8
- def initialize(product, type, index)
9
- @product = product
10
- @type = type
11
- @index = index
12
- end
13
-
14
- def date
15
- method = "#{@type}_dates".to_sym
16
- @product.send(method)[@index]
17
- end
18
-
19
- def group_index
20
- method = "#{@type}_dates".to_sym
21
- dates = @product.send(method)
22
- date = dates[@index]
23
6
 
24
- if @type==:koji && dates.all? {|d| d==date}
25
- 1
26
- else
27
- dates.index(date)
28
- end
29
- end
30
-
31
- def group_key
32
- a = []
33
- a << product.reduce_key
34
- a << type
35
- a << group_index
36
- a.map(&:to_s).join(":")
37
- end
38
-
39
- def weight
40
- @product.recipe.steps[@index].send(@type)
7
+ def initialize(date, type)
8
+ @date = date
9
+ @type = type
41
10
  end
42
11
  end
43
12
  end
@@ -0,0 +1,28 @@
1
+ require 'toji/product/event'
2
+
3
+ module Toji
4
+ module Product
5
+ class RiceEvent < Event
6
+ attr_reader :product
7
+ attr_reader :index
8
+ attr_reader :group_index
9
+ attr_reader :weight
10
+
11
+ def initialize(product:, type:, index:, group_index:, date:, weight:)
12
+ super(date, type)
13
+ @product = product
14
+ @index = index
15
+ @group_index = group_index
16
+ @weight = weight
17
+ end
18
+
19
+ def group_key
20
+ a = []
21
+ a << product.reduce_key
22
+ a << type
23
+ a << group_index
24
+ a.map(&:to_s).join(":")
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+ require 'toji/product/event'
2
+
3
+ module Toji
4
+ module Product
5
+ class RiceEventGroup < Event
6
+ attr_reader :breakdown
7
+
8
+ def initialize(events)
9
+ o = events.first
10
+ super(o&.date, o&.type)
11
+ @breakdown = events
12
+ end
13
+
14
+ def weight
15
+ @breakdown.map(&:weight).sum
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,8 +1,14 @@
1
1
  require 'toji/recipe/step'
2
+ require 'toji/recipe/ab_expect'
2
3
 
3
4
  module Toji
4
5
  module Recipe
5
6
  attr_accessor :steps
7
+ attr_accessor :has_shubo
8
+ attr_accessor :has_moromi
9
+ attr_accessor :ab_coef
10
+ attr_accessor :ab_expects
11
+ attr_accessor :squeeze_interval_days
6
12
 
7
13
  def scale(rice_total)
8
14
  rate = rice_total / steps.map(&:rice_total).sum
@@ -12,6 +18,11 @@ module Toji
12
18
 
13
19
  self.class.new.tap {|o|
14
20
  o.steps = new_steps
21
+ o.has_shubo = has_shubo
22
+ o.has_moromi = has_moromi
23
+ o.ab_coef = ab_coef
24
+ o.ab_expects = ab_expects.deep_dup
25
+ o.squeeze_interval_days = squeeze_interval_days
15
26
  }
16
27
  end
17
28
 
@@ -22,6 +33,11 @@ module Toji
22
33
 
23
34
  self.class.new.tap {|o|
24
35
  o.steps = new_steps
36
+ o.has_shubo = has_shubo
37
+ o.has_moromi = has_moromi
38
+ o.ab_coef = ab_coef
39
+ o.ab_expects = ab_expects.deep_dup
40
+ o.squeeze_interval_days = squeeze_interval_days
25
41
  }
26
42
  end
27
43
 
@@ -0,0 +1,8 @@
1
+ module Toji
2
+ module Recipe
3
+ module AbExpect
4
+ attr_accessor :alcohol
5
+ attr_accessor :nihonshudo
6
+ end
7
+ end
8
+ end
@@ -1,15 +1,21 @@
1
1
  module Toji
2
2
  module Recipe
3
3
  module Step
4
- attr_accessor :name
5
- attr_accessor :kake
6
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
+
7
15
  attr_accessor :water
8
16
  attr_accessor :lactic_acid
9
17
  attr_accessor :alcohol
10
18
  attr_accessor :yeast
11
- attr_accessor :koji_interval_days
12
- attr_accessor :kake_interval_days
13
19
 
14
20
  # 総米
15
21
  def rice_total
@@ -46,30 +52,42 @@ module Toji
46
52
  end
47
53
 
48
54
  self.class.new.tap {|o|
49
- o.name = name
50
- o.kake = kake.to_f.round(ndigit, half: half)
51
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
+
52
66
  o.water = water.to_f.round(ndigit, half: half)
53
67
  o.lactic_acid = lactic_acid.to_f.round(mini_ndigit, half: half)
54
68
  o.alcohol = alcohol.to_f.round(ndigit, half: half)
55
69
  o.yeast = yeast.to_f.round(mini_ndigit, half: half)
56
- o.koji_interval_days = koji_interval_days.to_i
57
- o.kake_interval_days = kake_interval_days.to_i
58
70
  }
59
71
  end
60
72
 
61
73
  def +(other)
62
74
  if Step===other
63
75
  self.class.new.tap {|o|
64
- o.name = name
65
- o.kake = kake.to_f + other.kake.to_f
66
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
+
67
87
  o.water = water.to_f + other.water.to_f
68
88
  o.lactic_acid = lactic_acid.to_f + other.lactic_acid.to_f
69
89
  o.alcohol = alcohol.to_f + other.alcohol.to_f
70
90
  o.yeast = yeast.to_f + other.yeast.to_f
71
- o.koji_interval_days = koji_interval_days.to_i
72
- o.kake_interval_days = kake_interval_days.to_i
73
91
  }
74
92
  else
75
93
  x, y = other.coerce(self)
@@ -80,15 +98,21 @@ module Toji
80
98
  def *(other)
81
99
  if Integer===other || Float===other
82
100
  self.class.new.tap {|o|
83
- o.name = name
84
- o.kake = kake.to_f * other
85
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
+
86
112
  o.water = water.to_f * other
87
113
  o.lactic_acid = lactic_acid.to_f * other
88
114
  o.alcohol = alcohol.to_f * other
89
115
  o.yeast = yeast.to_f * other
90
- o.koji_interval_days = koji_interval_days.to_i
91
- o.kake_interval_days = kake_interval_days.to_i
92
116
  }
93
117
  else
94
118
  x, y = other.coerce(self)
@@ -1,3 +1,3 @@
1
1
  module Toji
2
- VERSION = "2.4.1"
2
+ VERSION = "2.7.1"
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.4.1
4
+ version: 2.7.1
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-06-23 00:00:00.000000000 Z
11
+ date: 2020-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -162,7 +162,10 @@ files:
162
162
  - lib/toji/ingredient/rice_rate.rb
163
163
  - lib/toji/product.rb
164
164
  - lib/toji/product/event.rb
165
+ - lib/toji/product/rice_event.rb
166
+ - lib/toji/product/rice_event_group.rb
165
167
  - lib/toji/recipe.rb
168
+ - lib/toji/recipe/ab_expect.rb
166
169
  - lib/toji/recipe/step.rb
167
170
  - lib/toji/version.rb
168
171
  - toji.gemspec
@@ -188,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
191
  - !ruby/object:Gem::Version
189
192
  version: '0'
190
193
  requirements: []
191
- rubygems_version: 3.1.2
194
+ rubygems_version: 3.0.4
192
195
  signing_key:
193
196
  specification_version: 4
194
197
  summary: Management tools for brewing japanese sake.