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