shunkuntype 1.0.14 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +10 -2
- data/.hyper_card/docs/.Shunkuntype.hiki.swp +0 -0
- data/.hyper_card/history/test_cli_bdd.md +849 -0
- data/.hyper_card/history/test_cli_bdd_251114.md +883 -0
- data/.hyper_card/history/tidy.md +226 -0
- data/.hyper_card/history/tidy_251114.md +248 -0
- data/Gemfile.lock +36 -0
- data/Rakefile +6 -35
- data/exe/shunkuntype +1 -1
- data/lib/shunkuntype/db.rb +7 -14
- data/lib/shunkuntype/finished_check.rb +1 -2
- data/lib/shunkuntype/speed.rb +38 -29
- data/lib/shunkuntype/training.rb +23 -25
- data/lib/shunkuntype/version.rb +2 -7
- data/lib/shunkuntype.rb +35 -111
- data/shunkuntype/speed_data.txt +6 -0
- data/shunkuntype/training_data.txt +36 -0
- data/shunkuntype.gemspec +5 -6
- metadata +50 -59
- data/.rspec +0 -2
- data/.ruby-version +0 -1
- data/.yardopts +0 -3
- data/Rakefile.rb +0 -1
- data/lib/shunkuntype/#db.rb# +0 -49
- data/lib/shunkuntype/#mk_summary.rb# +0 -77
- data/lib/shunkuntype/merge.rb +0 -52
- data/lib/shunkuntype/mk_summary.rb +0 -77
- data/lib/shunkuntype/options.rb +0 -24
- data/lib/shunkuntype/plot.rb +0 -66
- data/lib/shunkuntype/plot_data.rb +0 -200
- data/shunkuntype_bob/.gitignore +0 -1
- data/shunkuntype_bob/Rakefile +0 -252
- data/shunkuntype_bob/hiki_help.yml +0 -53
- data/shunkuntype_bob/report.hiki +0 -173
- data/shunkuntype_bob/shunkuntype_bob.hiki +0 -36
- /data/{docs → .hyper_card/docs}/Shunkuntype.hiki +0 -0
- /data/{docs → .hyper_card/docs}/Shunkuntype_Coding.hiki +0 -0
- /data/{docs → .hyper_card/docs}/Shunkuntype_Coding_PlotData.hiki +0 -0
- /data/{docs → .hyper_card/docs}/Shunkuntype_Coding_gnuplot.hiki +0 -0
- /data/{docs → .hyper_card/docs}/Shunkuntype_GroupHearing_20160128.pdf +0 -0
- /data/{docs → .hyper_card/docs}/Shunkuntype_gemizing.hiki +0 -0
- /data/{docs → .hyper_card/docs}/Shunkuntype_manual.hiki +0 -0
- /data/{docs → .hyper_card/docs}/Shunkuntype_report.hiki +0 -0
- /data/{docs → .hyper_card/docs}/TouchTypespeedResult.png +0 -0
- /data/{docs → .hyper_card/docs}/TouchTypetrainingResult.png +0 -0
- /data/{docs → .hyper_card/docs}/TouchTypewhole_workResult.png +0 -0
- /data/{docs → .hyper_card/docs}/donkey_and_fujimoto.png +0 -0
- /data/{docs → .hyper_card/docs}/readme_en.hiki +0 -0
- /data/{docs → .hyper_card/docs}/readme_ja.hiki +0 -0
- /data/{docs → .hyper_card/docs}/res.png +0 -0
- /data/{docs → .hyper_card/docs}/shunkun_report.pdf +0 -0
- /data/{docs → .hyper_card/docs}/speed.png +0 -0
- /data/{docs → .hyper_card/docs}/work.png +0 -0
data/lib/shunkuntype/speed.rb
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
+
require "shunkuntype"
|
|
1
2
|
|
|
2
3
|
class SpeedCheck
|
|
3
4
|
attr_reader :number, :period
|
|
4
5
|
|
|
5
|
-
# print key positions
|
|
6
|
-
def print_keyboard
|
|
7
|
-
content = <<-EOF
|
|
8
|
-
q \\ w \\ e \\ r t \\ y u \\ i \\ o \\ p
|
|
9
|
-
a \\ s \\ d \\ f g \\ h j \\ k \\ l \\ ; enter
|
|
10
|
-
sh z \\ x \\ c \\ v b \\ n m \\ , \\\ . \\ shift
|
|
11
|
-
EOF
|
|
12
|
-
print content
|
|
13
|
-
end
|
|
14
|
-
|
|
15
6
|
def initialize
|
|
16
7
|
@number = 20 #default 20
|
|
17
8
|
@period = 60
|
|
18
9
|
check_data_files
|
|
19
10
|
data = mk_random_words
|
|
20
|
-
t0,t1,count = exec_speed_check(data)
|
|
21
|
-
|
|
11
|
+
t0, t1, count = exec_speed_check(data)
|
|
12
|
+
# ここでnilチェック
|
|
13
|
+
if t0.nil? || t1.nil?
|
|
14
|
+
puts "Speed check was interrupted or no input was given."
|
|
15
|
+
return
|
|
16
|
+
end
|
|
17
|
+
keep_record(t0, t1, count)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def print_keyboard
|
|
21
|
+
Shunkuntype.print_keyboard
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def check_data_files
|
|
@@ -32,6 +32,7 @@ EOF
|
|
|
32
32
|
exit
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
|
+
|
|
35
36
|
def mk_random_words
|
|
36
37
|
data=[]
|
|
37
38
|
data_dir=File.expand_path('../../../lib/data', __FILE__)
|
|
@@ -50,36 +51,44 @@ EOF
|
|
|
50
51
|
print "\n\n"+number.to_s+" words should be cleared."
|
|
51
52
|
print "\nType return-key to start."
|
|
52
53
|
p ''
|
|
53
|
-
line
|
|
54
|
+
line = $stdin.gets
|
|
55
|
+
return [nil, nil, nil] if line.nil? # breakの代わりにreturnで早期リターン
|
|
56
|
+
line = line.chomp
|
|
54
57
|
|
|
55
|
-
t0=Time.now
|
|
56
|
-
count=0
|
|
58
|
+
t0 = Time.now
|
|
59
|
+
count = 0
|
|
57
60
|
@number.times do |i|
|
|
58
61
|
print_keyboard()
|
|
59
62
|
puts (i+1).to_s
|
|
60
63
|
word = data[i]
|
|
61
|
-
count+=word.length
|
|
62
|
-
while line!=word do
|
|
64
|
+
count += word.length
|
|
65
|
+
while line != word do
|
|
63
66
|
puts word
|
|
64
67
|
p ''
|
|
65
|
-
line
|
|
68
|
+
line = $stdin.gets
|
|
69
|
+
return [t0, Time.now, count] if line.nil? # ここもnilチェック
|
|
70
|
+
line = line.chomp
|
|
66
71
|
end
|
|
67
72
|
end
|
|
68
|
-
t1=Time.now
|
|
69
|
-
return t0,t1,count
|
|
73
|
+
t1 = Time.now
|
|
74
|
+
return t0, t1, count
|
|
70
75
|
end
|
|
71
76
|
|
|
72
|
-
def keep_record(t0,t1,count)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
statement
|
|
78
|
-
|
|
77
|
+
def keep_record(t0, t1, count)
|
|
78
|
+
return if t0.nil? || t1.nil?
|
|
79
|
+
# テスト環境なら記録しない
|
|
80
|
+
return if ENV['TEST'] == 'true'
|
|
81
|
+
|
|
82
|
+
statement = t0.to_s + ","
|
|
83
|
+
statement << @number.to_s + ","
|
|
84
|
+
statement << (t1 - t0).to_s + ","
|
|
85
|
+
icount = @period / (t1 - t0) * count
|
|
86
|
+
statement << icount.to_s + "\n"
|
|
87
|
+
data_file = open(Shunkuntype::SPEED_FILE, "a+")
|
|
79
88
|
data_file << statement
|
|
80
89
|
p statement
|
|
81
90
|
|
|
82
|
-
printf("%5.3f sec\n",Time.now-t0)
|
|
83
|
-
printf("%4d characters.\n",icount)
|
|
91
|
+
printf("%5.3f sec\n", Time.now - t0)
|
|
92
|
+
printf("%4d characters.\n", icount)
|
|
84
93
|
end
|
|
85
94
|
end
|
data/lib/shunkuntype/training.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require "shunkuntype"
|
|
2
|
+
|
|
1
3
|
class Training
|
|
2
4
|
def initialize(val_i)
|
|
3
5
|
val_i ||= 47
|
|
@@ -10,11 +12,15 @@ class Training
|
|
|
10
12
|
|
|
11
13
|
@time_flag=true
|
|
12
14
|
print_keyboard
|
|
13
|
-
start_time,data=init_proc(file_name)
|
|
14
|
-
|
|
15
|
+
start_time,data = init_proc(file_name)
|
|
16
|
+
return if start_time.nil?
|
|
15
17
|
time_training(base_name,data,start_time)
|
|
16
18
|
end
|
|
17
19
|
|
|
20
|
+
def print_keyboard
|
|
21
|
+
Shunkuntype.print_keyboard
|
|
22
|
+
end
|
|
23
|
+
|
|
18
24
|
# count correct spelling
|
|
19
25
|
def counter(word1,word2)
|
|
20
26
|
ws1=word1.split(/\s+/)
|
|
@@ -39,28 +45,25 @@ class Training
|
|
|
39
45
|
end
|
|
40
46
|
end
|
|
41
47
|
|
|
42
|
-
# print key positions
|
|
43
|
-
def print_keyboard
|
|
44
|
-
content = <<-EOF
|
|
45
|
-
q \\ w \\ e \\ r t \\ y u \\ i \\ o \\ p
|
|
46
|
-
a \\ s \\ d \\ f g \\ h j \\ k \\ l \\ ; enter
|
|
47
|
-
sh z \\ x \\ c \\ v b \\ n m \\ , \\\ . \\ shift
|
|
48
|
-
EOF
|
|
49
|
-
print content
|
|
50
|
-
end
|
|
51
|
-
|
|
52
48
|
def init_proc(file_name)
|
|
53
49
|
data=File.readlines(file_name)
|
|
54
50
|
data.each{|word| print word }
|
|
55
51
|
print "\nRepeat above sentences. Type return-key to start."
|
|
56
|
-
# p ''
|
|
57
52
|
line=STDIN.gets
|
|
53
|
+
if line.nil?
|
|
54
|
+
# 入力がなければnilを返して呼び出し元で処理
|
|
55
|
+
return nil, data
|
|
56
|
+
end
|
|
57
|
+
line = line.chomp
|
|
58
58
|
start_time = Time.now
|
|
59
|
-
return start_time,data
|
|
59
|
+
return start_time, data
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
def keep_record(start_time,file_name,period)
|
|
63
|
-
|
|
62
|
+
def keep_record(start_time, file_name, period)
|
|
63
|
+
# テスト環境なら記録しない
|
|
64
|
+
return if ENV['TEST'] == 'true'
|
|
65
|
+
|
|
66
|
+
data_file = open(Shunkuntype::TRAINING_FILE, "a+")
|
|
64
67
|
data_file << "#{start_time},#{file_name},#{@counter},#{period}\n"
|
|
65
68
|
exit
|
|
66
69
|
end
|
|
@@ -69,18 +72,13 @@ EOF
|
|
|
69
72
|
data.each do |sentence|
|
|
70
73
|
break if @time_flag == false
|
|
71
74
|
puts sentence
|
|
72
|
-
|
|
73
|
-
line
|
|
74
|
-
|
|
75
|
+
line = STDIN.gets
|
|
76
|
+
break if line.nil?
|
|
77
|
+
line = line.chomp
|
|
78
|
+
counter(sentence, line)
|
|
75
79
|
end
|
|
76
80
|
end
|
|
77
81
|
|
|
78
|
-
def size_training(file_name,data,start_time)
|
|
79
|
-
type_loop(data)
|
|
80
|
-
exit_proc(start_time,file_name,(Time.now-start_time).to_i)
|
|
81
|
-
return
|
|
82
|
-
end
|
|
83
|
-
|
|
84
82
|
def time_training(base_name,data,start_time)
|
|
85
83
|
loop_thread(@period)
|
|
86
84
|
data2=[]
|
data/lib/shunkuntype/version.rb
CHANGED
|
@@ -2,11 +2,6 @@ require 'fileutils'
|
|
|
2
2
|
require 'tmpdir'
|
|
3
3
|
|
|
4
4
|
module Shunkuntype
|
|
5
|
-
VERSION = "1.0
|
|
5
|
+
VERSION = "1.1.0"
|
|
6
6
|
data_dir = File.join(ENV['HOME'], '.shunkuntype')
|
|
7
|
-
|
|
8
|
-
SPEED_FILE=File.join(data_dir,"speed_data.txt")
|
|
9
|
-
# TRAIN_FILE="./shunkuntype_training_data.txt"
|
|
10
|
-
TRAIN_FILE=File.join(data_dir,"training_data.txt")
|
|
11
|
-
SERVER_FILE=File.join(data_dir,"server_data.txt")
|
|
12
|
-
end
|
|
7
|
+
end
|
data/lib/shunkuntype.rb
CHANGED
|
@@ -1,128 +1,52 @@
|
|
|
1
1
|
require 'optparse'
|
|
2
|
-
require "shunkuntype/version"
|
|
3
2
|
require "shunkuntype/speed"
|
|
4
3
|
require "shunkuntype/training"
|
|
5
4
|
require "shunkuntype/finished_check"
|
|
6
|
-
require "shunkuntype/plot"
|
|
7
|
-
require "shunkuntype/mk_summary"
|
|
8
|
-
require "shunkuntype/plot_data"
|
|
9
5
|
require "shunkuntype/db"
|
|
10
|
-
require "shunkuntype/merge"
|
|
11
6
|
require 'systemu'
|
|
7
|
+
require "shunkuntype/version"
|
|
12
8
|
|
|
13
9
|
module Shunkuntype
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
10
|
+
DATA_DIR = File.join(ENV['HOME'], '.shunkuntype')
|
|
11
|
+
TRAINING_FILE = File.join(DATA_DIR, "training_data.txt")
|
|
12
|
+
SPEED_FILE = File.join(DATA_DIR, "speed_data.txt")
|
|
13
|
+
|
|
14
|
+
def self.print_keyboard
|
|
15
|
+
content = <<-EOF
|
|
16
|
+
q \\ w \\ e \\ r t \\ y u \\ i \\ o \\ p
|
|
17
|
+
a \\ s \\ d \\ f g \\ h j \\ k \\ l \\ ; enter
|
|
18
|
+
sh z \\ x \\ c \\ v b \\ n m \\ , \\\ . \\ shift
|
|
19
|
+
EOF
|
|
20
|
+
print content
|
|
21
|
+
end
|
|
22
|
+
end
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
DataFiles.prepare
|
|
24
|
+
class Command
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
puts opt.ver
|
|
33
|
-
}
|
|
34
|
-
opt.on('-c', '--check','Check speed') {|v| SpeedCheck.new }
|
|
35
|
-
opt.on('-d', '--drill [VAL]','one minute Drill [VAL]', Integer) {|v| Training.new(v) }
|
|
36
|
-
opt.on('-h', '--history','view training History') {|v| FinishCheck.new }
|
|
37
|
-
opt.on('-p', '--plot','Plot personal data') { |v| PlotPersonalData.new }
|
|
38
|
-
opt.on('-s', '--submit','Submit data to dmz0') { |v| report_submit()}
|
|
39
|
-
opt.on('--reset','reset training data') { |v| reset_data()}
|
|
40
|
-
opt.on('--review [FILE]','Review training, TAGs=html or hiki'){|v| data_viewing(v)}
|
|
41
|
-
end
|
|
42
|
-
command_parser.parse!(@argv)
|
|
43
|
-
exit
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def reset_data
|
|
47
|
-
data_dir = File.join(ENV['HOME'], '.shunkuntype')
|
|
48
|
-
FileUtils.cd(data_dir)
|
|
49
|
-
begin
|
|
50
|
-
FileUtils.mkdir('old_data',:verbose => true)
|
|
51
|
-
rescue Errno::EEXIST
|
|
52
|
-
print "Directory 'old_data' exists at #{data_dir}.\n\n"
|
|
53
|
-
end
|
|
54
|
-
time=Time.now.strftime("%Y%m%d%H%M%S")
|
|
55
|
-
['speed_data','training_data'].each{|file|
|
|
56
|
-
target = File.join(data_dir,'old_data',"#{file}_#{time}.txt")
|
|
57
|
-
FileUtils.mv(file+'.txt',target,:verbose=>true)
|
|
58
|
-
}
|
|
59
|
-
end
|
|
26
|
+
def self.run(argv=[])
|
|
27
|
+
print "Shunkuntype says 'Hello world'.\n"
|
|
28
|
+
new(argv).execute
|
|
29
|
+
end
|
|
60
30
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
FileUtils.cd(data_dir)
|
|
65
|
-
unless File.exists?(Shunkuntype::SERVER_FILE)
|
|
66
|
-
print "Input server_directory?:"
|
|
67
|
-
p tmp = gets
|
|
68
|
-
File.open(Shunkuntype::SERVER_FILE,'w'){|f| f.print(tmp) }
|
|
69
|
-
end
|
|
70
|
-
server_info=File.readlines(Shunkuntype::SERVER_FILE)
|
|
71
|
-
p @server_directory=server_info[0].chomp
|
|
72
|
-
p @user_name=server_info[0].split('@')[0]
|
|
73
|
-
['training_data.txt','speed_data.txt'].each{|ext|
|
|
74
|
-
file_merge(ext)
|
|
75
|
-
system "scp tmp_data.txt #{ext}"
|
|
76
|
-
}
|
|
77
|
-
end
|
|
31
|
+
def initialize(argv=[])
|
|
32
|
+
@argv = argv
|
|
33
|
+
end
|
|
78
34
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
file_current = File.readlines(file_name)
|
|
82
|
-
tmp_file = File.open("./tmp_data.txt",'w')
|
|
83
|
-
sta, out, stderror = systemu "scp #{@server_directory}/#{@user_name}_#{ext_name} ."
|
|
84
|
-
p stderror
|
|
85
|
-
unless stderror.include?(" No such file or directory") then
|
|
86
|
-
file_server = File.readlines("#{@user_name}_#{ext_name}")
|
|
87
|
-
tmp_file.print data_merge(file_current,file_server)
|
|
88
|
-
else
|
|
89
|
-
p " No such file or directory in server.\n"
|
|
90
|
-
tmp_file.print file_current.join
|
|
91
|
-
end
|
|
92
|
-
tmp_file.close
|
|
93
|
-
system "cat tmp_data.txt"
|
|
94
|
-
system "scp tmp_data.txt #{@server_directory}/#{@user_name}_#{ext_name}"
|
|
95
|
-
end
|
|
35
|
+
def execute
|
|
36
|
+
DataFiles.prepare
|
|
96
37
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
end
|
|
103
|
-
server_info=File.readlines(Shunkuntype::SERVER_FILE)
|
|
104
|
-
p server_directory=server_info[0].chomp
|
|
105
|
-
Dir.mktmpdir('shunkun'){|tmp_dir|
|
|
106
|
-
# ['tmp_dir'].each{|tmp_dir|
|
|
107
|
-
p tmp_dir
|
|
108
|
-
FileUtils.mkdir_p(File.join(tmp_dir,'mem_data'))
|
|
109
|
-
system "scp -r #{server_directory}/* #{tmp_dir}/mem_data"
|
|
110
|
-
p table = MkSummary.new(tmp_dir) # read data from files
|
|
111
|
-
MkPlots.new(tmp_dir,opts)
|
|
112
|
-
File.open('./tmp.html','a'){|f|
|
|
113
|
-
f.write("<html>\n")
|
|
114
|
-
f.write(table.mk_html_table())
|
|
115
|
-
f.write("<p><img src=\"./work.png\" /></p>")
|
|
116
|
-
f.write("<p><img src=\"./speed.png\" /></p>")
|
|
117
|
-
f.write("</html>\n")
|
|
118
|
-
}
|
|
119
|
-
File.open('./tmp.hiki','a'){|f|
|
|
120
|
-
f.write(table.mk_hiki_table())
|
|
121
|
-
f.write('||{{attach_view(work.png)}}')
|
|
122
|
-
f.write('||{{attach_view(speed.png)}}')
|
|
123
|
-
f.write("\n")
|
|
124
|
-
}
|
|
38
|
+
@argv << '--help' if @argv.size==0
|
|
39
|
+
command_parser = OptionParser.new do |opt|
|
|
40
|
+
opt.on('-v', '--version','show program Version.') { |v|
|
|
41
|
+
opt.version = Shunkuntype::VERSION
|
|
42
|
+
puts opt.ver
|
|
125
43
|
}
|
|
44
|
+
opt.on('-c', '--check','Check speed') {|v| SpeedCheck.new }
|
|
45
|
+
opt.on('-d', '--drill [VAL]','one minute Drill [VAL]', Integer) {|v| Training.new(v) }
|
|
46
|
+
opt.on('-h', '--help','show help message') { puts opt; exit }
|
|
47
|
+
opt.on('-l','--log','view training log') {|v| FinishCheck.new }
|
|
126
48
|
end
|
|
49
|
+
command_parser.parse!(@argv)
|
|
50
|
+
exit
|
|
127
51
|
end
|
|
128
52
|
end
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
2024-11-06 21:13:42 +0900,20,39.937564,184.7884362701741
|
|
2
|
+
2025-09-09 17:30:33 +0900,20,37.889581,177.35746404796612
|
|
3
|
+
2025-09-09 17:35:35 +0900,20,37.433635,160.28365933471326
|
|
4
|
+
2025-11-14 11:37:14 +0900,20,46.516022,145.75622997168588
|
|
5
|
+
2025-11-14 15:43:37 +0900,20,39.598636,165.1572038996495
|
|
6
|
+
2025-11-14 16:08:21 +0900,20,37.490195,166.4435194322142
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
2021-04-06 14:41:09 +0900,STEP-1.txt,28,60
|
|
2
|
+
2021-04-06 14:42:24 +0900,STEP-2.txt,46,60
|
|
3
|
+
2021-04-06 14:44:15 +0900,STEP-91.txt,28,60
|
|
4
|
+
2021-06-02 17:42:48 +0900,STEP-1.txt,55,60
|
|
5
|
+
2021-07-08 11:59:48 +0900,STEP-3.txt,23,60
|
|
6
|
+
2021-07-08 12:01:20 +0900,STEP-36.txt,16,60
|
|
7
|
+
2021-07-08 12:02:53 +0900,STEP-9.txt,15,60
|
|
8
|
+
2022-03-08 15:16:08 +0900,STEP-1.txt,57,60
|
|
9
|
+
2022-03-08 15:18:41 +0900,STEP-5.txt,38,60
|
|
10
|
+
2022-03-08 15:20:14 +0900,STEP-7.txt,48,60
|
|
11
|
+
2022-03-08 15:22:06 +0900,STEP-4.txt,1,60
|
|
12
|
+
2022-03-08 15:23:58 +0900,STEP-4.txt,44,60
|
|
13
|
+
2022-03-09 13:14:02 +0900,STEP-8.txt,35,60
|
|
14
|
+
2022-04-14 14:40:28 +0900,STEP-3.txt,12,60
|
|
15
|
+
2022-04-14 14:42:18 +0900,STEP-4.txt,40,60
|
|
16
|
+
2022-04-18 14:00:48 +0900,STEP-1.txt,4,60
|
|
17
|
+
2022-04-18 14:04:04 +0900,STEP-46.txt,47,60
|
|
18
|
+
2022-04-20 16:38:30 +0900,STEP-1.txt,50,60
|
|
19
|
+
2022-04-20 16:40:17 +0900,STEP-2.txt,51,60
|
|
20
|
+
2022-06-02 13:09:59 +0900,STEP-2.txt,15,60
|
|
21
|
+
2023-05-25 17:24:23 +0900,STEP-6.txt,50,60
|
|
22
|
+
2023-05-25 17:25:40 +0900,STEP-10.txt,55,60
|
|
23
|
+
2023-05-25 17:26:47 +0900,STEP-11.txt,39,60
|
|
24
|
+
2023-05-25 17:27:59 +0900,STEP-12.txt,44,60
|
|
25
|
+
2023-07-27 11:36:42 +0900,STEP-15.txt,36,60
|
|
26
|
+
2024-04-24 11:36:58 +0900,STEP-1.txt,60,60
|
|
27
|
+
2024-04-24 11:39:15 +0900,STEP-20.txt,48,60
|
|
28
|
+
2024-08-22 11:57:27 +0900,STEP-51.txt,46,60
|
|
29
|
+
2025-02-05 12:22:37 +0900,STEP-15.txt,42,60
|
|
30
|
+
2025-11-14 11:35:56 +0900,STEP-16.txt,44,60
|
|
31
|
+
2025-11-14 15:28:03 +0900,STEP-1.txt,0,60
|
|
32
|
+
2025-11-14 15:31:52 +0900,STEP-1.txt,0,60
|
|
33
|
+
2025-11-14 15:32:49 +0900,STEP-1.txt,0,60
|
|
34
|
+
2025-11-14 15:39:20 +0900,STEP-1.txt,0,60
|
|
35
|
+
2025-11-14 15:40:03 +0900,STEP-1.txt,0,60
|
|
36
|
+
2025-11-14 15:53:27 +0900,STEP-1.txt,0,60
|
data/shunkuntype.gemspec
CHANGED
|
@@ -27,11 +27,10 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
28
28
|
spec.require_paths = ["lib"]
|
|
29
29
|
|
|
30
|
-
spec.add_dependency "systemu"
|
|
30
|
+
spec.add_dependency "systemu"
|
|
31
31
|
spec.add_dependency "gnuplot"
|
|
32
|
-
spec.add_development_dependency "bundler"
|
|
33
|
-
spec.add_development_dependency "rake"
|
|
34
|
-
spec.add_development_dependency "
|
|
35
|
-
|
|
36
|
-
spec.add_development_dependency "rspec"
|
|
32
|
+
spec.add_development_dependency "bundler"
|
|
33
|
+
spec.add_development_dependency "rake"
|
|
34
|
+
spec.add_development_dependency "minitest"
|
|
35
|
+
spec.add_development_dependency "minitest-reporters"
|
|
37
36
|
end
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: shunkuntype
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shigeto R. Nishitani
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-11-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: systemu
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: gnuplot
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -42,46 +42,46 @@ dependencies:
|
|
|
42
42
|
name: bundler
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
54
|
+
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
59
|
+
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- - "
|
|
66
|
+
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
68
|
+
version: '0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: minitest
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- - "
|
|
73
|
+
- - ">="
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0
|
|
75
|
+
version: '0'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- - "
|
|
80
|
+
- - ">="
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0
|
|
82
|
+
version: '0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
84
|
+
name: minitest-reporters
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - ">="
|
|
@@ -103,36 +103,38 @@ extensions: []
|
|
|
103
103
|
extra_rdoc_files: []
|
|
104
104
|
files:
|
|
105
105
|
- ".gitignore"
|
|
106
|
-
- ".
|
|
107
|
-
- ".
|
|
106
|
+
- ".hyper_card/docs/.Shunkuntype.hiki.swp"
|
|
107
|
+
- ".hyper_card/docs/Shunkuntype.hiki"
|
|
108
|
+
- ".hyper_card/docs/Shunkuntype_Coding.hiki"
|
|
109
|
+
- ".hyper_card/docs/Shunkuntype_Coding_PlotData.hiki"
|
|
110
|
+
- ".hyper_card/docs/Shunkuntype_Coding_gnuplot.hiki"
|
|
111
|
+
- ".hyper_card/docs/Shunkuntype_GroupHearing_20160128.pdf"
|
|
112
|
+
- ".hyper_card/docs/Shunkuntype_gemizing.hiki"
|
|
113
|
+
- ".hyper_card/docs/Shunkuntype_manual.hiki"
|
|
114
|
+
- ".hyper_card/docs/Shunkuntype_report.hiki"
|
|
115
|
+
- ".hyper_card/docs/TouchTypespeedResult.png"
|
|
116
|
+
- ".hyper_card/docs/TouchTypetrainingResult.png"
|
|
117
|
+
- ".hyper_card/docs/TouchTypewhole_workResult.png"
|
|
118
|
+
- ".hyper_card/docs/donkey_and_fujimoto.png"
|
|
119
|
+
- ".hyper_card/docs/readme_en.hiki"
|
|
120
|
+
- ".hyper_card/docs/readme_ja.hiki"
|
|
121
|
+
- ".hyper_card/docs/res.png"
|
|
122
|
+
- ".hyper_card/docs/shunkun_report.pdf"
|
|
123
|
+
- ".hyper_card/docs/speed.png"
|
|
124
|
+
- ".hyper_card/docs/work.png"
|
|
125
|
+
- ".hyper_card/history/test_cli_bdd.md"
|
|
126
|
+
- ".hyper_card/history/test_cli_bdd_251114.md"
|
|
127
|
+
- ".hyper_card/history/tidy.md"
|
|
128
|
+
- ".hyper_card/history/tidy_251114.md"
|
|
108
129
|
- ".travis.yml"
|
|
109
|
-
- ".yardopts"
|
|
110
130
|
- CODE_OF_CONDUCT.md
|
|
111
131
|
- Gemfile
|
|
132
|
+
- Gemfile.lock
|
|
112
133
|
- LICENSE.txt
|
|
113
134
|
- README.md
|
|
114
135
|
- Rakefile
|
|
115
|
-
- Rakefile.rb
|
|
116
136
|
- bin/console
|
|
117
137
|
- bin/setup
|
|
118
|
-
- docs/Shunkuntype.hiki
|
|
119
|
-
- docs/Shunkuntype_Coding.hiki
|
|
120
|
-
- docs/Shunkuntype_Coding_PlotData.hiki
|
|
121
|
-
- docs/Shunkuntype_Coding_gnuplot.hiki
|
|
122
|
-
- docs/Shunkuntype_GroupHearing_20160128.pdf
|
|
123
|
-
- docs/Shunkuntype_gemizing.hiki
|
|
124
|
-
- docs/Shunkuntype_manual.hiki
|
|
125
|
-
- docs/Shunkuntype_report.hiki
|
|
126
|
-
- docs/TouchTypespeedResult.png
|
|
127
|
-
- docs/TouchTypetrainingResult.png
|
|
128
|
-
- docs/TouchTypewhole_workResult.png
|
|
129
|
-
- docs/donkey_and_fujimoto.png
|
|
130
|
-
- docs/readme_en.hiki
|
|
131
|
-
- docs/readme_ja.hiki
|
|
132
|
-
- docs/res.png
|
|
133
|
-
- docs/shunkun_report.pdf
|
|
134
|
-
- docs/speed.png
|
|
135
|
-
- docs/work.png
|
|
136
138
|
- exe/shunkuntype
|
|
137
139
|
- lib/data/STEP-1.txt
|
|
138
140
|
- lib/data/STEP-10.txt
|
|
@@ -236,29 +238,19 @@ files:
|
|
|
236
238
|
- lib/data/trans2.rb
|
|
237
239
|
- lib/data/word.list
|
|
238
240
|
- lib/shunkuntype.rb
|
|
239
|
-
- lib/shunkuntype/#db.rb#
|
|
240
|
-
- lib/shunkuntype/#mk_summary.rb#
|
|
241
241
|
- lib/shunkuntype/db.rb
|
|
242
242
|
- lib/shunkuntype/finished_check.rb
|
|
243
|
-
- lib/shunkuntype/merge.rb
|
|
244
|
-
- lib/shunkuntype/mk_summary.rb
|
|
245
|
-
- lib/shunkuntype/options.rb
|
|
246
|
-
- lib/shunkuntype/plot.rb
|
|
247
|
-
- lib/shunkuntype/plot_data.rb
|
|
248
243
|
- lib/shunkuntype/speed.rb
|
|
249
244
|
- lib/shunkuntype/training.rb
|
|
250
245
|
- lib/shunkuntype/version.rb
|
|
251
246
|
- shunkuntype.gemspec
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
- shunkuntype_bob/hiki_help.yml
|
|
255
|
-
- shunkuntype_bob/report.hiki
|
|
256
|
-
- shunkuntype_bob/shunkuntype_bob.hiki
|
|
247
|
+
- shunkuntype/speed_data.txt
|
|
248
|
+
- shunkuntype/training_data.txt
|
|
257
249
|
homepage: https://github.com/daddygongon/shunkuntype
|
|
258
250
|
licenses:
|
|
259
251
|
- MIT
|
|
260
252
|
metadata: {}
|
|
261
|
-
post_install_message:
|
|
253
|
+
post_install_message:
|
|
262
254
|
rdoc_options: []
|
|
263
255
|
require_paths:
|
|
264
256
|
- lib
|
|
@@ -273,9 +265,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
273
265
|
- !ruby/object:Gem::Version
|
|
274
266
|
version: '0'
|
|
275
267
|
requirements: []
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
signing_key:
|
|
268
|
+
rubygems_version: 3.4.19
|
|
269
|
+
signing_key:
|
|
279
270
|
specification_version: 4
|
|
280
271
|
summary: type training.
|
|
281
272
|
test_files: []
|
data/.rspec
DELETED
data/.ruby-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.4.3
|
data/.yardopts
DELETED
data/Rakefile.rb
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
./Rakefile
|