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.
Files changed (54) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +10 -2
  3. data/.hyper_card/docs/.Shunkuntype.hiki.swp +0 -0
  4. data/.hyper_card/history/test_cli_bdd.md +849 -0
  5. data/.hyper_card/history/test_cli_bdd_251114.md +883 -0
  6. data/.hyper_card/history/tidy.md +226 -0
  7. data/.hyper_card/history/tidy_251114.md +248 -0
  8. data/Gemfile.lock +36 -0
  9. data/Rakefile +6 -35
  10. data/exe/shunkuntype +1 -1
  11. data/lib/shunkuntype/db.rb +7 -14
  12. data/lib/shunkuntype/finished_check.rb +1 -2
  13. data/lib/shunkuntype/speed.rb +38 -29
  14. data/lib/shunkuntype/training.rb +23 -25
  15. data/lib/shunkuntype/version.rb +2 -7
  16. data/lib/shunkuntype.rb +35 -111
  17. data/shunkuntype/speed_data.txt +6 -0
  18. data/shunkuntype/training_data.txt +36 -0
  19. data/shunkuntype.gemspec +5 -6
  20. metadata +50 -59
  21. data/.rspec +0 -2
  22. data/.ruby-version +0 -1
  23. data/.yardopts +0 -3
  24. data/Rakefile.rb +0 -1
  25. data/lib/shunkuntype/#db.rb# +0 -49
  26. data/lib/shunkuntype/#mk_summary.rb# +0 -77
  27. data/lib/shunkuntype/merge.rb +0 -52
  28. data/lib/shunkuntype/mk_summary.rb +0 -77
  29. data/lib/shunkuntype/options.rb +0 -24
  30. data/lib/shunkuntype/plot.rb +0 -66
  31. data/lib/shunkuntype/plot_data.rb +0 -200
  32. data/shunkuntype_bob/.gitignore +0 -1
  33. data/shunkuntype_bob/Rakefile +0 -252
  34. data/shunkuntype_bob/hiki_help.yml +0 -53
  35. data/shunkuntype_bob/report.hiki +0 -173
  36. data/shunkuntype_bob/shunkuntype_bob.hiki +0 -36
  37. /data/{docs → .hyper_card/docs}/Shunkuntype.hiki +0 -0
  38. /data/{docs → .hyper_card/docs}/Shunkuntype_Coding.hiki +0 -0
  39. /data/{docs → .hyper_card/docs}/Shunkuntype_Coding_PlotData.hiki +0 -0
  40. /data/{docs → .hyper_card/docs}/Shunkuntype_Coding_gnuplot.hiki +0 -0
  41. /data/{docs → .hyper_card/docs}/Shunkuntype_GroupHearing_20160128.pdf +0 -0
  42. /data/{docs → .hyper_card/docs}/Shunkuntype_gemizing.hiki +0 -0
  43. /data/{docs → .hyper_card/docs}/Shunkuntype_manual.hiki +0 -0
  44. /data/{docs → .hyper_card/docs}/Shunkuntype_report.hiki +0 -0
  45. /data/{docs → .hyper_card/docs}/TouchTypespeedResult.png +0 -0
  46. /data/{docs → .hyper_card/docs}/TouchTypetrainingResult.png +0 -0
  47. /data/{docs → .hyper_card/docs}/TouchTypewhole_workResult.png +0 -0
  48. /data/{docs → .hyper_card/docs}/donkey_and_fujimoto.png +0 -0
  49. /data/{docs → .hyper_card/docs}/readme_en.hiki +0 -0
  50. /data/{docs → .hyper_card/docs}/readme_ja.hiki +0 -0
  51. /data/{docs → .hyper_card/docs}/res.png +0 -0
  52. /data/{docs → .hyper_card/docs}/shunkun_report.pdf +0 -0
  53. /data/{docs → .hyper_card/docs}/speed.png +0 -0
  54. /data/{docs → .hyper_card/docs}/work.png +0 -0
@@ -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
- keep_record(t0,t1,count)
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=$stdin.gets
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=$stdin.gets.chomp
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
- statement = t0.to_s+","
74
- statement << @number.to_s+","
75
- statement << (t1-t0).to_s+","
76
- icount=@period/(t1-t0)*count
77
- statement << icount.to_s+"\n"
78
- data_file=open(Shunkuntype::SPEED_FILE,"a+")
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
@@ -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
- #size_training(file_name,data,start_time)
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
- data_file=open(Shunkuntype::TRAIN_FILE,"a")
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
- # p ''
73
- line=STDIN.gets.chomp
74
- counter(sentence,line)
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=[]
@@ -2,11 +2,6 @@ require 'fileutils'
2
2
  require 'tmpdir'
3
3
 
4
4
  module Shunkuntype
5
- VERSION = "1.0.14"
5
+ VERSION = "1.1.0"
6
6
  data_dir = File.join(ENV['HOME'], '.shunkuntype')
7
- # SPEED_FILE="./shunkuntype_speed_data.txt"
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
- class Command
15
-
16
- def self.run(argv=[])
17
- print "Shunkuntype says 'Hello world'.\n"
18
- new(argv).execute
19
- end
20
-
21
- def initialize(argv=[])
22
- @argv = argv
23
- end
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
- def execute
26
- DataFiles.prepare
24
+ class Command
27
25
 
28
- @argv << '--help' if @argv.size==0
29
- command_parser = OptionParser.new do |opt|
30
- opt.on('-v', '--version','show program Version.') { |v|
31
- opt.version = Shunkuntype::VERSION
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
- def report_submit
62
- p 'report submission'
63
- p data_dir = File.join(ENV['HOME'], '.shunkuntype')
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
- def file_merge(ext_name)
80
- file_name=ext_name
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
- def data_viewing(file)
98
- # opts for MkPlots could be described in file
99
- # Not coded yet at all!!!
100
- if file==nil then
101
- opts = {}
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", "~>2.5.1"
30
+ spec.add_dependency "systemu"
31
31
  spec.add_dependency "gnuplot"
32
- spec.add_development_dependency "bundler", "~> 1.10"
33
- spec.add_development_dependency "rake", "~> 10.0"
34
- spec.add_development_dependency "yard", "~> 0.8"
35
- # spec.add_development_dependency "test-unit"
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.14
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: 2018-03-24 00:00:00.000000000 Z
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: 2.5.1
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: 2.5.1
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: '1.10'
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: '1.10'
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: '10.0'
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: '10.0'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: yard
70
+ name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0.8'
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.8'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rspec
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
- - ".rspec"
107
- - ".ruby-version"
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
- - shunkuntype_bob/.gitignore
253
- - shunkuntype_bob/Rakefile
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
- rubyforge_project:
277
- rubygems_version: 2.6.14
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
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.4.3
data/.yardopts DELETED
@@ -1,3 +0,0 @@
1
- -
2
- **/*.md
3
-
data/Rakefile.rb DELETED
@@ -1 +0,0 @@
1
- ./Rakefile