Current section

Files

Jump to
pinterex lib helpers helpers.ex
Raw

lib/helpers/helpers.ex

defmodule Pinterex.Helpers.Helpers do
@moduledoc """
Various helpers for creating the structs from the fetched data.
"""
alias Pinterex.Structs.{User, Board, Pin, Interest, PagedBoards, PagedPins, PagedUsers}
def create_board(response) do
create_single_board(response["data"])
end
def create_single_board(board) do
Board.new(board)
end
def create_boards(response) do
boards =
response["data"]
|> Enum.map(fn board -> create_single_board(board) end)
page = response["page"]
%PagedBoards{cursor: page["cursor"], next: page["next"], boards: boards}
end
def create_pin(response) do
create_single_pin(response["data"])
end
def create_single_pin(pin) do
Pin.new(pin)
end
def create_pins(response) do
IO.puts inspect(response["data"])
pins =
response["data"]
|> Enum.map(fn pin -> create_single_pin(pin) end)
page = response["page"]
%PagedPins{cursor: page["cursor"], next: page["next"], pins: pins}
end
def create_user(response) do
create_single_user(response["data"])
end
def create_single_user(user) do
User.new(user)
end
def create_users(response) do
users =
response
|> Enum.map(fn user -> create_single_user(user) end)
page = response["page"]
%PagedUsers{cursor: page["cursor"], next: page["next"], users: users}
end
def create_interest(interest) do
Interest.new(interest)
end
def create_interests(interests) do
interests
|> Enum.map(fn interest -> create_interest(interest) end)
end
end