editor_learner 1.0.0 → 1.0.1
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 +4 -4
- data/lib/editor_learner.rb +30 -10
- data/lib/editor_learner/version.rb +1 -1
- data/workshop/ruby_1/2.rb +0 -11
- data/workshop/ruby_1/q.rb +0 -5
- data/workshop/ruby_5/1.rb +8 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b20fe007c9641e3159a06b0d0649e67dc48dbb1c
|
4
|
+
data.tar.gz: 3a9a7620dae679d18df7879f591a8325229e3cd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c835dee4850ea619c0883208de545e83e44b2113903045a43239bc80458a43f42d6efb5eae0202686a03e86f91483ddf3d033496e5ec6f016976f703f5c31ff
|
7
|
+
data.tar.gz: 11f21a74acb8b6eb4ed6c19229004b9920d822d20b8a806db713239e2137e32dbb73dc3b47f56617817ee6ecd6a79cd239327a6c9f3e6661160320d33c1eb95f
|
data/lib/editor_learner.rb
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require 'fileutils'
|
2
3
|
require 'colorize'
|
3
4
|
require 'thor'
|
4
5
|
require "editor_learner/version"
|
5
6
|
require 'diff-lcs'
|
7
|
+
require "open3"
|
8
|
+
|
6
9
|
|
7
10
|
module EditorLearner
|
8
11
|
class CLI < Thor
|
@@ -10,30 +13,42 @@ class CLI < Thor
|
|
10
13
|
def initialize(*args)
|
11
14
|
super
|
12
15
|
@prac_dir="#{ENV['HOME']}/editor_learner/workshop"
|
16
|
+
@lib_location = Open3.capture3("gem environment gemdir")
|
17
|
+
@versions = Open3.capture3("gem list editor_learner")
|
18
|
+
@latest_version = @versions[0].chomp.gsub(' (', '-').gsub(')','')
|
19
|
+
@inject = File.join(@lib_location[0].chomp, "/gems/#{@latest_version}/lib")
|
13
20
|
if File.exist?(@prac_dir) != true then
|
14
21
|
FileUtils.mkdir_p(@prac_dir)
|
15
22
|
FileUtils.touch("#{@prac_dir}/question.rb")
|
16
23
|
FileUtils.touch("#{@prac_dir}/answer.rb")
|
17
24
|
FileUtils.touch("#{@prac_dir}/random_h.rb")
|
18
|
-
|
25
|
+
if File.exist?("#{@inject}/random_h.rb") == true then
|
26
|
+
FileUtils.cp("#{@inject}/random_h.rb", "#{@prac_dir}/random_h.rb")
|
27
|
+
elsif
|
28
|
+
FileUtils.cp("#{ENV['HOME']}/editor_learner/lib/random_h.rb", "#{@prac_dir}/random_h.rb")
|
29
|
+
end
|
19
30
|
end
|
20
31
|
range = 1..6
|
21
32
|
range_ruby = 1..3
|
22
|
-
range.each
|
23
|
-
|
33
|
+
range.each do|num|
|
34
|
+
if File.exist?("#{@prac_dir}/ruby_#{num}") != true then
|
24
35
|
FileUtils.mkdir("#{@prac_dir}/ruby_#{num}")
|
25
36
|
FileUtils.touch("#{@prac_dir}/ruby_#{num}/q.rb")
|
26
37
|
FileUtils.touch("#{@prac_dir}/ruby_#{num}/sequential_h.rb")
|
27
|
-
|
28
|
-
|
38
|
+
if File.exist?("#{@inject}/sequential_h.rb") == true then
|
39
|
+
FileUtils.cp("#{@inject}/sequential_h.rb", "#{@prac_dir}/ruby_#{num}/sequential_h.rb")
|
40
|
+
else
|
41
|
+
FileUtils.cp("#{ENV['HOME']}/editor_learner/lib/sequential_h.rb", "#{@prac_dir}/ruby_#{num}/sequential_h.rb")
|
42
|
+
end
|
43
|
+
range_ruby.each do|n|
|
29
44
|
FileUtils.touch("#{@prac_dir}/ruby_#{num}/#{n}.rb")
|
30
|
-
|
45
|
+
end
|
31
46
|
end
|
32
|
-
|
47
|
+
end
|
33
48
|
end
|
34
|
-
|
49
|
+
|
35
50
|
desc 'delete [number~number]', 'delete the ruby_file choose number to delete file'
|
36
|
-
|
51
|
+
|
37
52
|
def delete(n, m)
|
38
53
|
range = n..m
|
39
54
|
range.each{|num|
|
@@ -46,6 +61,7 @@ class CLI < Thor
|
|
46
61
|
desc 'sequential_check [lessen_number] [1~3number] ','sequential check your typing skill and edit skill choose number'
|
47
62
|
def sequential_check(*argv, n, m)
|
48
63
|
l = m.to_i - 1
|
64
|
+
|
49
65
|
@seq_dir = "lib/sequential_check_question"
|
50
66
|
q_rb = "ruby_#{n}/#{m}.rb"
|
51
67
|
@seqnm_dir = File.join(@seq_dir,q_rb)
|
@@ -57,7 +73,11 @@ class CLI < Thor
|
|
57
73
|
puts "check starting ..."
|
58
74
|
puts "type following commands on the terminal"
|
59
75
|
src_dir = File.expand_path('../..', __FILE__)
|
60
|
-
|
76
|
+
if File.exist?("#{@inject}/sequential_check_question/ruby_#{n}/#{m}.rb") == true then
|
77
|
+
FileUtils.cp("#{@inject}/sequential_check_question/ruby_#{n}/#{m}.rb", "#{@pracnq_dir}")
|
78
|
+
elsif
|
79
|
+
FileUtils.cp(File.join(src_dir, "#{@seqnm_dir}"), "#{@pracnq_dir}")
|
80
|
+
end
|
61
81
|
if l != 0 && FileUtils.compare_file("#{@pracnm_dir}", "#{@pracnq_dir}") != true
|
62
82
|
FileUtils.compare_file("#{@pracnl_dir}", (File.join(src_dir, "#{@seqnl_dir}"))) == true
|
63
83
|
FileUtils.cp("#{@pracnl_dir}", "#{@pracnm_dir}")
|
data/workshop/ruby_1/2.rb
CHANGED
data/workshop/ruby_1/q.rb
CHANGED
data/workshop/ruby_5/1.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
equire 'minitest/autorun'
|
2
2
|
|
3
3
|
class ConvertHashSyntaxTest < Minitest::Test
|
4
4
|
def test_convert_hash_syntax
|
@@ -6,13 +6,12 @@ class ConvertHashSyntaxTest < Minitest::Test
|
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
|
-
old_syntax = <<TEXT
|
10
|
-
{
|
11
|
-
:name => 'Alice'
|
12
|
-
:age => 20,
|
13
|
-
:gender => female
|
14
|
-
}
|
15
|
-
TEXT
|
9
|
+
old_syntax = <<TEXT
|
10
|
+
{
|
11
|
+
:name => 'Alice'
|
12
|
+
:age => 20,
|
13
|
+
:gender => female
|
14
|
+
}
|
15
|
+
TEXT
|
16
16
|
def convert_hash_syntax(old_syntax)
|
17
17
|
old_syntax
|
18
|
-
end
|