From 5b72c19df09f5a937c53eec3772550de98f40941 Mon Sep 17 00:00:00 2001 From: Stormwind Date: Thu, 19 Feb 2015 23:39:39 +0100 Subject: [PATCH] Add ASCII art output Just for fun --- lib/rubella/output/ascii.rb | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 lib/rubella/output/ascii.rb diff --git a/lib/rubella/output/ascii.rb b/lib/rubella/output/ascii.rb new file mode 100644 index 0000000..fd24c23 --- /dev/null +++ b/lib/rubella/output/ascii.rb @@ -0,0 +1,54 @@ +module Rubella + module Output + + class ASCII + SHADE_0 = " " + SHADE_1 = "░" + SHADE_2 = "▒" + SHADE_3 = "▓" + SHADE_4 = "█" + + def initialize field_size = 1 + @field_size = field_size + end + + def create parsed_list + buckets = parsed_list[0].length + columns = parsed_list.length + + # image size + x = columns*@field_size + y = buckets*@field_size + + # start drawing the damn thing + ascii_arr = [] + 0.upto(buckets).each { |i| ascii_arr[i] = "" } + + parsed_list.each do |point| + i = 0 + point.reverse.each do |part| + part = (part*100).to_i + + case part + when 0..20 then + ascii_arr[i] << SHADE_0 + when 21..40 then + ascii_arr[i] << SHADE_1 + when 41..60 then + ascii_arr[i] << SHADE_2 + when 61..80 then + ascii_arr[i] << SHADE_3 + else + ascii_arr[i] << SHADE_4 + end + i = i+1 + end + end + + ascii_arr.join("\n") + end + + end + + end +end \ No newline at end of file