From 033d07a519bac03fdfd28ca15e09cc287e80fd14 Mon Sep 17 00:00:00 2001 From: neodarz Date: Tue, 24 Jan 2017 17:09:18 +0100 Subject: Initial commit with non-functional pieces of code about file upload --- web/web.ex | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 web/web.ex (limited to 'web/web.ex') diff --git a/web/web.ex b/web/web.ex new file mode 100644 index 0000000..e919778 --- /dev/null +++ b/web/web.ex @@ -0,0 +1,81 @@ +defmodule TheTranscriberBackend.Web do + @moduledoc """ + A module that keeps using definitions for controllers, + views and so on. + + This can be used in your application as: + + use TheTranscriberBackend.Web, :controller + use TheTranscriberBackend.Web, :view + + The definitions below will be executed for every view, + controller, etc, so keep them short and clean, focused + on imports, uses and aliases. + + Do NOT define functions inside the quoted expressions + below. + """ + + def model do + quote do + use Ecto.Schema + + import Ecto + import Ecto.Changeset + import Ecto.Query + end + end + + def controller do + quote do + use Phoenix.Controller + + alias TheTranscriberBackend.Repo + import Ecto + import Ecto.Query + + import TheTranscriberBackend.Router.Helpers + import TheTranscriberBackend.Gettext + end + end + + def view do + quote do + use Phoenix.View, root: "web/templates" + + # Import convenience functions from controllers + import Phoenix.Controller, only: [get_csrf_token: 0, get_flash: 2, view_module: 1] + + # Use all HTML functionality (forms, tags, etc) + use Phoenix.HTML + + import TheTranscriberBackend.Router.Helpers + import TheTranscriberBackend.ErrorHelpers + import TheTranscriberBackend.Gettext + end + end + + def router do + quote do + use Phoenix.Router + end + end + + def channel do + quote do + use Phoenix.Channel + + alias TheTranscriberBackend.Repo + import Ecto + import Ecto.Query + import TheTranscriberBackend.Gettext + end + end + + @doc """ + When used, dispatch to the appropriate controller/view/etc. + """ + defmacro __using__(which) when is_atom(which) do + apply(__MODULE__, which, []) + end +end -- cgit v1.2.1