59 lines
1.4 KiB
Elixir
59 lines
1.4 KiB
Elixir
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
|