summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2018-03-20 19:16:03 -0600
committermokha <mokha@cisco.com>2018-03-20 19:16:03 -0600
commitafafd9ebeb515a41b94984bd838958b6f36b688f (patch)
treef842532f84ba421fd16d4c43018f22103441a5bd
parent6741d5bf7361d20d0968d54e26b57f370c5a5cc7 (diff)
extract each frame method.
-rw-r--r--lib/xsay/render.rb12
1 files 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)