I have a collection of records from a data source denoting {:person, _} for person, {:dog, _} for dog, etc. I'd like to return a modified version of the record based on the condition that the record is that of ':person'.
db = [
{:dog, %{name: "Sparky", age: 4}},
{:person, %{name: "Jeff", age: 34}},
{:person, %{name: "Suzan", age: 41}},
{:dog, %{name: "Bella", age: 8}}
]
I'd like to return:
[{:person, "Jeff", 34}, {:person, "Suzan", 41}]
I've tried:
db |> Enum.map(fn {:person, data} -> {:person, data.name, data.age} end)
But I'm erroring on non-match for :dog
Any advice?