defmodule Casebot do @moduledoc """ Documentation for `Casebot`. master_data is a list of tuples that contains the box designation, row number, and a list of tuples that contain tuples of the road name and address number [(box_designation, row_number, [(road_name, address_number), (road_name, address_number)]), (box_designation, row_number, [(road_name, address_number), (road_name, address_number)],] Persistence is stored as plaintext in a file called persist.csv. The """ @doc """ master_loop Called by entry_function. Takes master_data object and modifies/reads that as program main loop. Recursive calls itself. """ def master_loop(master_data) do entry = IO.gets(">>>") command_word = String.split(entry) |> List.first() words = String.split(entry) case command_word do "add" -> add_to_master(words, master_data) "find" -> find_in_master(words, master_data) "clear" -> clear_entry(words, master_data) end master_loop(master_data) end def run() do #master_data = ensure_file() end def ensure_file(path \\ "persist.csv") do unless File.exists?(path) do File.write!(path, "box_name,row_number,road_name,address_number\n") end path end def add_to_master(entry, master_data) do end def clear_entry(entry, master_data) do end def find_in_master(entry, master_data) do end end