First
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
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
|
||||
@@ -0,0 +1,8 @@
|
||||
defmodule Casebot.CSV do
|
||||
def rows(path) do
|
||||
path
|
||||
|> File.read!()
|
||||
|> NimbleCSV.RFC4180.parse_string(skip_headers: false)
|
||||
|> Enum.map(fn row -> Enum.map(row, &:binary.copy/1) |> List.to_tuple() end)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user