Skip to content

Commit 233e978

Browse files
committed
refactor: after clean
1 parent f6ddd1f commit 233e978

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

lib/convert2ascii/video2ascii.rb

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ def initialize(**args)
3434
@color_block = args[:color_block] || false
3535

3636
check_packages
37-
regist_hooks
3837
end
3938

4039
def generate(**args)
@@ -43,9 +42,7 @@ def generate(**args)
4342
@color = args[:color] || @color # full
4443
@color_block = args[:color_block] || @color_block
4544

46-
if File.directory? @tmpdir
47-
FileUtils.remove_entry @tmpdir
48-
end
45+
remove_tmpdir
4946
Dir.mkdir(@tmpdir)
5047
@audio = get_audio_from_video(@tmpdir)
5148
screenshots_from_video(@tmpdir)
@@ -73,6 +70,8 @@ def save(output_dir)
7370

7471
puts ""
7572
puts Rainbow("[info] save success!").green
73+
ensure
74+
after_clean
7675
end
7776

7877
def order_frames_path
@@ -99,6 +98,12 @@ def play(**args)
9998
TerminalPlayer.new(**player_args).play
10099

101100
return true
101+
ensure
102+
after_clean
103+
end
104+
105+
def after_clean
106+
remove_tmpdir
102107
end
103108

104109
private
@@ -108,12 +113,10 @@ def check_packages
108113
CheckFFmpeg.new.check
109114
end
110115

111-
def regist_hooks
112-
at_exit {
113-
if @tmpdir
114-
FileUtils.remove_entry @tmpdir
115-
end
116-
}
116+
def remove_tmpdir
117+
if File.directory? @tmpdir
118+
FileUtils.remove_entry @tmpdir
119+
end
117120
end
118121

119122
def set_threads_count

test/test_02_video2ascii.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,13 @@ def test_generate_params
2020
test_width = 200
2121
assert_equal test_width , @generator.generate(width: test_width).width
2222
end
23+
24+
def test_generate_params
25+
test_width = 200
26+
assert_equal test_width , @generator.generate(width: test_width).width
27+
end
28+
29+
def teardown
30+
@generator.after_clean
31+
end
2332
end

test/test_03_video2ascii_play.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@ def test_video_play
1212
@generator.generate
1313
assert_equal true , @generator.play
1414
end
15+
16+
def teardown
17+
@generator.after_clean
18+
end
1519
end

0 commit comments

Comments
 (0)