12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- defmodule OpenpodWeb do
- @moduledoc """
- The entrypoint for defining your web interface, such
- as controllers, views, channels and so on.
- This can be used in your application as:
- use OpenpodWeb, :controller
- use OpenpodWeb, :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. Instead, define any helper function in modules
- and import those modules here.
- """
- def controller do
- quote do
- use Phoenix.Controller, namespace: OpenpodWeb
- import Plug.Conn
- import OpenpodWeb.Gettext
- alias OpenpodWeb.Router.Helpers, as: Routes
- end
- end
- def view do
- quote do
- use Phoenix.View,
- root: "lib/openpod_web/templates",
- namespace: OpenpodWeb
- # Import convenience functions from controllers
- import Phoenix.Controller,
- only: [get_flash: 1, get_flash: 2, view_module: 1, view_template: 1]
- # Include shared imports and aliases for views
- unquote(view_helpers())
- end
- end
- def router do
- quote do
- use Phoenix.Router
- import Plug.Conn
- import Phoenix.Controller
- end
- end
- def channel do
- quote do
- use Phoenix.Channel
- import OpenpodWeb.Gettext
- end
- end
- defp view_helpers do
- quote do
- # Use all HTML functionality (forms, tags, etc)
- use Phoenix.HTML
- use PhoenixHtmlSanitizer, :basic_html
- # Import basic rendering functionality (render, render_layout, etc)
- import Phoenix.View
- import OpenpodWeb.ErrorHelpers
- import OpenpodWeb.Gettext
- alias OpenpodWeb.Router.Helpers, as: Routes
- 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
|