From afafd9ebeb515a41b94984bd838958b6f36b688f Mon Sep 17 00:00:00 2001 From: mokha Date: Tue, 20 Mar 2018 19:16:03 -0600 Subject: extract each frame method. --- lib/xsay/render.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/xsay/render.rb b/lib/xsay/render.rb index 4b542ab..5d5e61c 100644 --- a/lib/xsay/render.rb +++ b/lib/xsay/render.rb @@ -15,15 +15,19 @@ module Xsay def render(message, template) message = message.join(' ') if message.respond_to?(:join) line_break = "-" * message.length - distance.downto(0) do |frame| - draw(message, template, line_break, frame) - end - 0.upto(distance) do |frame| + each_frame do |frame| draw(message, template, line_break, frame) end nil end + def each_frame + frames = distance.downto(0).to_a + 0.upto(distance).to_a + frames.each do |frame| + yield frame + end + end + private def draw(message, template, line_break, frame) -- cgit v1.2.3