Created
October 26, 2018 16:48
-
-
Save shdblowers/9a33fcef430cc48f5b543f80ed4394fe to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule Parser do | |
@callback parse(String.t) :: {:ok, term} | {:error, String.t} | |
@callback extensions() :: [String.t] | |
end | |
defmodule JSONParser do | |
@behaviour Parser | |
def parse(str), do: {:ok, "some json " <> str} # ... parse JSON | |
def extensions, do: ["json"] | |
end | |
defmodule YAMLParser do | |
@behaviour Parser | |
def parse(str), do: {:ok, "some yaml " <> str} # ... parse YAML | |
def extensions, do: ["yml"] | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment