Current section
Files
Jump to
Current section
Files
lib/evaluator.ex
defmodule Veritaserum.Evaluator do @moduledoc """ Evaluats words, boosters, negators and emoticons. """ alias Poison.Parser ["word", "emoticon", "negator", "booster"] |> Enum.each(fn facet -> File.read!("#{__DIR__}/../config/facets/#{facet}.json") |> Parser.parse! |> (fn list -> def unquote(:"#{facet}_list")(), do: unquote(list |> Enum.map(fn {key, _} -> key end) |> List.flatten) list end).() |> Enum.each(fn {word, value} -> @doc """ Evaluates if a word/emoji is a **#{facet}** and returns value. iex> Veritaserum.Evaluator.evaluate_#{facet}("#{word}") #{value} """ def unquote(:"evaluate_#{facet}")(unquote(word)), do: unquote(value) end) def unquote(:"evaluate_#{facet}")(_), do: nil end)end