···11+# Used by "mix format"
22+[
33+ inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"]
44+]
+26
Elixir/projects/greet_everyone/.gitignore
···11+# The directory Mix will write compiled artifacts to.
22+/_build/
33+44+# If you run "mix test --cover", coverage assets end up here.
55+/cover/
66+77+# The directory Mix downloads your dependencies sources to.
88+/deps/
99+1010+# Where third-party dependencies like ExDoc output generated docs.
1111+/doc/
1212+1313+# Ignore .fetch files in case you like to edit your project deps locally.
1414+/.fetch
1515+1616+# If the VM crashes, it generates a dump, let's ignore it too.
1717+erl_crash.dump
1818+1919+# Also ignore archive artifacts (built via "mix archive.build").
2020+*.ez
2121+2222+# Ignore package tarball (built via "mix hex.build").
2323+greet_everyone-*.tar
2424+2525+# Temporary files, for example, from tests.
2626+/tmp/
+21
Elixir/projects/greet_everyone/README.md
···11+# GreetEveryone
22+33+**TODO: Add description**
44+55+## Installation
66+77+If [available in Hex](https://hex.pm/docs/publish), the package can be installed
88+by adding `greet_everyone` to your list of dependencies in `mix.exs`:
99+1010+```elixir
1111+def deps do
1212+ [
1313+ {:greet_everyone, "~> 0.1.0"}
1414+ ]
1515+end
1616+```
1717+1818+Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
1919+and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
2020+be found at <https://hexdocs.pm/greet_everyone>.
2121+
···11+defmodule GreetEveryone do
22+ @moduledoc """
33+ Documentation for `GreetEveryone`.
44+ """
55+66+ @doc """
77+ Hello world.
88+99+ ## Examples
1010+1111+ iex> GreetEveryone.hello()
1212+ :world
1313+1414+ """
1515+ def hello do
1616+ :world
1717+ end
1818+end
+26
Elixir/projects/greet_everyone/lib/greeter.ex
···11+defmodule Greeter do
22+ @moduledoc """
33+ Provides a function `hello/1` to greet a human
44+ """
55+66+ @doc """
77+ Prints a hello message.
88+99+ ## Parameters
1010+1111+ - name: String that represents the name of the person.
1212+1313+ ## Examples
1414+1515+ iex> Greeter.hello("Sean")
1616+ "Hello, Sean"
1717+1818+ iex> Greeter.hello("pete")
1919+ "Hello, pete"
2020+2121+ """
2222+ @spec hello(String.t()) :: String.t()
2323+ def hello(name) do
2424+ "Hello, " <> name
2525+ end
2626+end
+29
Elixir/projects/greet_everyone/mix.exs
···11+defmodule GreetEveryone.MixProject do
22+ use Mix.Project
33+44+ def project do
55+ [
66+ app: :greet_everyone,
77+ version: "0.1.0",
88+ elixir: "~> 1.15",
99+ start_permanent: Mix.env() == :prod,
1010+ deps: deps()
1111+ ]
1212+ end
1313+1414+ # Run "mix help compile.app" to learn about applications.
1515+ def application do
1616+ [
1717+ extra_applications: [:logger]
1818+ ]
1919+ end
2020+2121+ # Run "mix help deps" to learn about dependencies.
2222+ defp deps do
2323+ [
2424+ {:ex_doc, "~> 0.21", only: :dev, runtime: false}
2525+ # {:dep_from_hexpm, "~> 0.3.0"},
2626+ # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
2727+ ]
2828+ end
2929+end
···11+defmodule GreetEveryoneTest do
22+ use ExUnit.Case
33+ doctest GreetEveryone
44+55+ test "greets the world" do
66+ assert GreetEveryone.hello() == :world
77+ end
88+end