editor_learner 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|