defmodule Ami.Question do use Ecto.Schema alias Ami.{ Quiz, Answer } schema "questions" do field(:correct_answers, :string) field(:value, :string) field(:label, :string) field(:position, :integer) belongs_to(:quiz, Quiz) has_many(:answers, Answer) end @doc """ Extract the values as array from question values string """ def extract_options(value) when is_nil(value), do: [] def extract_options(value) do String.replace(value, ~r/\[|\]/, " ") |> String.split("\",") |> Enum.map(&String.replace(&1, ~r/\"/, "")) |> Enum.map(&String.trim(&1)) end end