Sha256: 6142bd88650b0839cb6bb910ea49441dc9953b6c5c8fd3cba60c490106b3ef03
Contents?: true
Size: 476 Bytes
Versions: 265
Compression:
Stored size: 476 Bytes
Contents
defmodule Allergies do import Bitwise @allergens [ "eggs", "peanuts", "shellfish", "strawberries", "tomatoes", "chocolate", "pollen", "cats" ] def list(flags) do Enum.with_index(@allergens) |> Enum.filter_map(&(flagged? flags, &1), fn({item, _}) -> item end) end def allergic_to?(flags, item) do Enum.member?(list(flags), item) end defp flagged?(flags, {_, index}) do (flags &&& (1 <<< index)) > 0 end end
Version data entries
265 entries across 265 versions & 1 rubygems