Current section

Files

Jump to
simple_bar lib simple_bar.ex
Raw

lib/simple_bar.ex

defmodule SimpleBar do
def print_to_so(item_to_return, number_done, total) do
percent_done(number_done,total)
|> progress_bar("")
|> IO.write
item_to_return
end
@spec percent_done(integer(),integer()) :: float
def percent_done(number_done,total) do
(number_done/total) * 100
end
def progress_bar(0.0,str,percentage) do
IO.puts(str)
"\r#{percentage}% Done\n[#{str}]"
end
def progress_bar(remaining_per,str,percentage) do
str = "#{str}="
progress_bar(remaining_per-1, str,percentage)
end
def progress_bar(remaining_per,str) do
str = "#{str}="
percentage = remaining_per
progress_bar(remaining_per-1, str,percentage)
end
end