diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ erl_crash.dump # Static artifacts -/node_modules +/assets/node_modules # Since we are building assets from web/static, # we ignore priv/static. You may want to comment diff --git a/brunch-config.js b/assets/brunch-config.js rename from brunch-config.js rename to assets/brunch-config.js --- a/brunch-config.js +++ b/assets/brunch-config.js @@ -32,28 +32,25 @@ conventions: { // This option sets where we should place non-css and non-js assets in. - // By default, we set this to "/web/static/assets". Files in this directory + // By default, we set this to "/assets/static". Files in this directory // will be copied to `paths.public`, which is "priv/static" by default. - assets: /^(web\/static\/assets)/ + assets: /^(static)/ }, // Phoenix paths configuration paths: { // Dependencies and current project directories to watch - watched: [ - "web/static", - "test/static" - ], + watched: ["static", "css", "js", "js/widgets", "vendor"], // Where to compile files to - public: "priv/static" + public: "../priv/static" }, // Configure your plugins plugins: { babel: { // Do not use ES6 compiler in vendor code - ignore: [/web\/static\/vendor/] + ignore: [/vendor/] }, copycat: { fonts: ["node_modules/bootstrap/fonts"] @@ -62,7 +59,7 @@ modules: { autoRequire: { - "js/app.js": ["web/static/js/app"] + "js/app.js": ["js/app"] } }, diff --git a/web/static/css/app.css b/assets/css/app.css rename from web/static/css/app.css rename to assets/css/app.css diff --git a/web/static/css/phoenix.css b/assets/css/phoenix.css rename from web/static/css/phoenix.css rename to assets/css/phoenix.css diff --git a/web/static/css/widgets.css b/assets/css/widgets.css rename from web/static/css/widgets.css rename to assets/css/widgets.css diff --git a/web/static/js/api.js b/assets/js/api.js rename from web/static/js/api.js rename to assets/js/api.js diff --git a/web/static/js/app.js b/assets/js/app.js rename from web/static/js/app.js rename to assets/js/app.js diff --git a/web/static/js/widgets/chatinput.js b/assets/js/widgets/chatinput.js rename from web/static/js/widgets/chatinput.js rename to assets/js/widgets/chatinput.js diff --git a/web/static/js/widgets/chatroom.js b/assets/js/widgets/chatroom.js rename from web/static/js/widgets/chatroom.js rename to assets/js/widgets/chatroom.js diff --git a/web/static/js/widgets/userlist.js b/assets/js/widgets/userlist.js rename from web/static/js/widgets/userlist.js rename to assets/js/widgets/userlist.js diff --git a/web/static/js/widgets/userstatus.js b/assets/js/widgets/userstatus.js rename from web/static/js/widgets/userstatus.js rename to assets/js/widgets/userstatus.js diff --git a/package.json b/assets/package.json rename from package.json rename to assets/package.json --- a/package.json +++ b/assets/package.json @@ -6,14 +6,14 @@ "watch": "brunch watch --stdin" }, "dependencies": { - "phoenix": "file:deps/phoenix", - "phoenix_html": "file:deps/phoenix_html", + "phoenix": "file:../deps/phoenix", + "phoenix_html": "file:../deps/phoenix_html", "jquery": ">=2.1", "bootstrap": "~3.3.7" }, "devDependencies": { "babel-brunch": "~6.0.0", - "brunch": "2.7.4", + "brunch": "2.10.9", "clean-css-brunch": "~2.0.0", "css-brunch": "~2.0.0", "javascript-brunch": "~2.0.0", diff --git a/web/static/assets/favicon.ico b/assets/static/favicon.ico rename from web/static/assets/favicon.ico rename to assets/static/favicon.ico diff --git a/web/static/assets/images/kolab-logo.png b/assets/static/images/kolab-logo.png rename from web/static/assets/images/kolab-logo.png rename to assets/static/images/kolab-logo.png diff --git a/web/static/assets/robots.txt b/assets/static/robots.txt rename from web/static/assets/robots.txt rename to assets/static/robots.txt diff --git a/config/config.exs b/config/config.exs --- a/config/config.exs +++ b/config/config.exs @@ -11,10 +11,10 @@ session_encryption: nil] # Configures the endpoint -config :kolab_chat, KolabChat.Endpoint, +config :kolab_chat, KolabChat.Web.Endpoint, url: [host: "localhost"], secret_key_base: "XCVqlNuOTjBK3GB4lPKKdoTk9149ftPIJmytpQnYxI4qpGwjJbR47bYdzOAggBii", - render_errors: [view: KolabChat.ErrorView, accepts: ~w(html json)], + render_errors: [view: KolabChat.Web.ErrorView, accepts: ~w(html json)], pubsub: [name: KolabChat.PubSub, adapter: Phoenix.PubSub.PG2] diff --git a/config/dev.exs b/config/dev.exs --- a/config/dev.exs +++ b/config/dev.exs @@ -6,23 +6,23 @@ # The watchers configuration can be used to run external # watchers to your application. For example, we use it # with brunch.io to recompile .js and .css sources. -config :kolab_chat, KolabChat.Endpoint, +config :kolab_chat, KolabChat.Web.Endpoint, http: [port: 4000], debug_errors: true, code_reloader: true, check_origin: false, watchers: [node: ["node_modules/brunch/bin/brunch", "watch", "--stdin", - cd: Path.expand("../", __DIR__)]] + cd: Path.expand("../assets", __DIR__)]] # Watch static and templates for browser reloading. -config :kolab_chat, KolabChat.Endpoint, +config :kolab_chat, KolabChat.Web.Endpoint, live_reload: [ patterns: [ ~r{priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$}, ~r{priv/gettext/.*(po)$}, - ~r{web/views/.*(ex)$}, - ~r{web/templates/.*(eex)$} + ~r{lib/kolab_chat/web/views/.*(ex)$}, + ~r{lib/kolab_chat/web/templates/.*(eex)$} ] ] diff --git a/config/prod.exs b/config/prod.exs --- a/config/prod.exs +++ b/config/prod.exs @@ -11,10 +11,10 @@ # containing the digested version of static files. This # manifest is generated by the mix phoenix.digest task # which you typically run after static files are built. -config :kolab_chat, KolabChat.Endpoint, +config :kolab_chat, KolabChat.Web.Endpoint, http: [port: {:system, "PORT"}], url: [host: "example.com", port: 80], - cache_static_manifest: "priv/static/manifest.json" + cache_static_manifest: "priv/static/cache_manifest.json" # Do not print debug messages in production config :logger, @@ -26,7 +26,7 @@ # To get SSL working, you will need to add the `https` key # to the previous section and set your `:url` port to 443: # -# config :kolab_chat, KolabChat.Endpoint, +# config :kolab_chat, KolabChat.Web.Endpoint, # ... # url: [host: "example.com", port: 443], # https: [port: 443, @@ -40,7 +40,7 @@ # We also recommend setting `force_ssl`, ensuring no data is # ever sent via http, always redirecting to https: # -# config :kolab_chat, KolabChat.Endpoint, +# config :kolab_chat, KolabChat.Web.Endpoint, # force_ssl: [hsts: true] # # Check `Plug.SSL` for all available options in `force_ssl`. @@ -55,7 +55,7 @@ # Alternatively, you can configure exactly which server to # start per endpoint: # -# config :kolab_chat, KolabChat.Endpoint, server: true +# config :kolab_chat, KolabChat.Web.Endpoint, server: true # # Finally import the config/prod.secret.exs diff --git a/config/test.exs b/config/test.exs --- a/config/test.exs +++ b/config/test.exs @@ -2,7 +2,7 @@ # We don't run a server during test. If one is required, # you can enable the server option below. -config :kolab_chat, KolabChat.Endpoint, +config :kolab_chat, KolabChat.Web.Endpoint, http: [port: 4001], server: false diff --git a/lib/kolab_chat.ex b/lib/kolab_chat.ex --- a/lib/kolab_chat.ex +++ b/lib/kolab_chat.ex @@ -9,9 +9,9 @@ # Define workers and child supervisors to be supervised children = [ # Start the endpoint when the application starts - supervisor(KolabChat.Endpoint, []), + supervisor(KolabChat.Web.Endpoint, []), # Start phoenix presence module - supervisor(KolabChat.Presence, []), + supervisor(KolabChat.Web.Presence, []), # Start your own worker by calling: KolabChat.Worker.start_link(arg1, arg2, arg3) # worker(KolabChat.Worker, [arg1, arg2, arg3]), ] @@ -21,11 +21,4 @@ opts = [strategy: :one_for_one, name: KolabChat.Supervisor] Supervisor.start_link(children, opts) end - - # Tell Phoenix to update the endpoint configuration - # whenever the application is updated. - def config_change(changed, _new, removed) do - KolabChat.Endpoint.config_change(changed, removed) - :ok - end end diff --git a/web/channels/presence.ex b/lib/kolab_chat/web/channels/presence.ex rename from web/channels/presence.ex rename to lib/kolab_chat/web/channels/presence.ex --- a/web/channels/presence.ex +++ b/lib/kolab_chat/web/channels/presence.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.Presence do +defmodule KolabChat.Web.Presence do @moduledoc """ Provides presence tracking to channels and processes. @@ -11,7 +11,7 @@ defmodule KolabChat.MyChannel do use KolabChat.Web, :channel - alias KolabChat.Presence + alias KolabChat.Web.Presence def join("some:topic", _params, socket) do send(self, :after_join) diff --git a/web/channels/room_channel.ex b/lib/kolab_chat/web/channels/room_channel.ex rename from web/channels/room_channel.ex rename to lib/kolab_chat/web/channels/room_channel.ex --- a/web/channels/room_channel.ex +++ b/lib/kolab_chat/web/channels/room_channel.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.RoomChannel do +defmodule KolabChat.Web.RoomChannel do use KolabChat.Web, :channel @spec join(topic :: binary(), args :: map(), socket :: pid()) :: {:ok, socket :: pid()} diff --git a/web/channels/system_channel.ex b/lib/kolab_chat/web/channels/system_channel.ex rename from web/channels/system_channel.ex rename to lib/kolab_chat/web/channels/system_channel.ex --- a/web/channels/system_channel.ex +++ b/lib/kolab_chat/web/channels/system_channel.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.SystemChannel do +defmodule KolabChat.Web.SystemChannel do use KolabChat.Web, :channel @status [ diff --git a/web/channels/user_socket.ex b/lib/kolab_chat/web/channels/user_socket.ex rename from web/channels/user_socket.ex rename to lib/kolab_chat/web/channels/user_socket.ex --- a/web/channels/user_socket.ex +++ b/lib/kolab_chat/web/channels/user_socket.ex @@ -1,11 +1,11 @@ -defmodule KolabChat.UserSocket do +defmodule KolabChat.Web.UserSocket do use Phoenix.Socket alias KolabChat.Database ## Channels - channel "room:*", KolabChat.RoomChannel - channel "system", KolabChat.SystemChannel + channel "room:*", KolabChat.Web.RoomChannel + channel "system", KolabChat.Web.SystemChannel ## Transports transport :websocket, Phoenix.Transports.WebSocket diff --git a/web/controllers/auth_controller.ex b/lib/kolab_chat/web/controllers/auth_controller.ex rename from web/controllers/auth_controller.ex rename to lib/kolab_chat/web/controllers/auth_controller.ex --- a/web/controllers/auth_controller.ex +++ b/lib/kolab_chat/web/controllers/auth_controller.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.AuthController do +defmodule KolabChat.Web.AuthController do use KolabChat.Web, :controller @doc """ diff --git a/web/controllers/chat_controller.ex b/lib/kolab_chat/web/controllers/chat_controller.ex rename from web/controllers/chat_controller.ex rename to lib/kolab_chat/web/controllers/chat_controller.ex --- a/web/controllers/chat_controller.ex +++ b/lib/kolab_chat/web/controllers/chat_controller.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.ChatController do +defmodule KolabChat.Web.ChatController do use KolabChat.Web, :controller plug :put_layout, "chat.html" diff --git a/web/controllers/page_controller.ex b/lib/kolab_chat/web/controllers/page_controller.ex rename from web/controllers/page_controller.ex rename to lib/kolab_chat/web/controllers/page_controller.ex --- a/web/controllers/page_controller.ex +++ b/lib/kolab_chat/web/controllers/page_controller.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.PageController do +defmodule KolabChat.Web.PageController do use KolabChat.Web, :controller def index(conn, _params) do diff --git a/web/controllers/plugs/locale.ex b/lib/kolab_chat/web/controllers/plugs/locale.ex rename from web/controllers/plugs/locale.ex rename to lib/kolab_chat/web/controllers/plugs/locale.ex --- a/web/controllers/plugs/locale.ex +++ b/lib/kolab_chat/web/controllers/plugs/locale.ex @@ -8,7 +8,7 @@ nil -> conn locale -> - Gettext.put_locale(KolabChat.Gettext, locale) + Gettext.put_locale(KolabChat.Web.Gettext, locale) put_session(conn, :locale, locale) end end @@ -16,7 +16,7 @@ # Gets supported locale code from the client # Uses 'locale' parameter or Accept-Language header defp client_locale(conn) do - supported = Gettext.known_locales(KolabChat.Gettext) + supported = Gettext.known_locales(KolabChat.Web.Gettext) locale = conn.params["locale"] || get_req_header(conn, "accept-language") locale diff --git a/web/controllers/plugs/set_user.ex b/lib/kolab_chat/web/controllers/plugs/set_user.ex rename from web/controllers/plugs/set_user.ex rename to lib/kolab_chat/web/controllers/plugs/set_user.ex diff --git a/lib/kolab_chat/endpoint.ex b/lib/kolab_chat/web/endpoint.ex rename from lib/kolab_chat/endpoint.ex rename to lib/kolab_chat/web/endpoint.ex --- a/lib/kolab_chat/endpoint.ex +++ b/lib/kolab_chat/web/endpoint.ex @@ -1,7 +1,7 @@ -defmodule KolabChat.Endpoint do +defmodule KolabChat.Web.Endpoint do use Phoenix.Endpoint, otp_app: :kolab_chat - socket "/socket", KolabChat.UserSocket + socket "/socket", KolabChat.Web.UserSocket # Serve at "/" the static files from "priv/static" directory. # @@ -39,5 +39,5 @@ signing_salt: Keyword.get(Application.get_env(:kolab_chat, :salts), :session_signing), encryption_salt: Keyword.get(Application.get_env(:kolab_chat, :salts), :session_encryption) - plug KolabChat.Router + plug KolabChat.Web.Router end diff --git a/web/gettext.ex b/lib/kolab_chat/web/gettext.ex rename from web/gettext.ex rename to lib/kolab_chat/web/gettext.ex --- a/web/gettext.ex +++ b/lib/kolab_chat/web/gettext.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.Gettext do +defmodule KolabChat.Web.Gettext do @moduledoc """ A module providing Internationalization with a gettext-based API. diff --git a/web/router.ex b/lib/kolab_chat/web/router.ex rename from web/router.ex rename to lib/kolab_chat/web/router.ex --- a/web/router.ex +++ b/lib/kolab_chat/web/router.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.Router do +defmodule KolabChat.Web.Router do use KolabChat.Web, :router pipeline :browser do @@ -15,20 +15,20 @@ plug :accepts, ["json"] end - scope "/", KolabChat do + scope "/", KolabChat.Web do pipe_through :browser get "/", PageController, :index end - scope "/chat", KolabChat do + scope "/chat", KolabChat.Web do pipe_through :browser get "/", ChatController, :index get "/:room", ChatController, :index end - scope "/auth", KolabChat do + scope "/auth", KolabChat.Web do pipe_through :browser post "/default/callback", AuthController, :default_callback diff --git a/web/templates/chat/index.html.eex b/lib/kolab_chat/web/templates/chat/index.html.eex rename from web/templates/chat/index.html.eex rename to lib/kolab_chat/web/templates/chat/index.html.eex diff --git a/web/templates/layout/app.html.eex b/lib/kolab_chat/web/templates/layout/app.html.eex rename from web/templates/layout/app.html.eex rename to lib/kolab_chat/web/templates/layout/app.html.eex diff --git a/web/templates/layout/chat.html.eex b/lib/kolab_chat/web/templates/layout/chat.html.eex rename from web/templates/layout/chat.html.eex rename to lib/kolab_chat/web/templates/layout/chat.html.eex diff --git a/web/templates/page/index.html.eex b/lib/kolab_chat/web/templates/page/index.html.eex rename from web/templates/page/index.html.eex rename to lib/kolab_chat/web/templates/page/index.html.eex diff --git a/lib/kolab_chat/web/views/chat_view.ex b/lib/kolab_chat/web/views/chat_view.ex new file mode 100644 --- /dev/null +++ b/lib/kolab_chat/web/views/chat_view.ex @@ -0,0 +1,3 @@ +defmodule KolabChat.Web.ChatView do + use KolabChat.Web, :view +end diff --git a/web/views/error_helpers.ex b/lib/kolab_chat/web/views/error_helpers.ex rename from web/views/error_helpers.ex rename to lib/kolab_chat/web/views/error_helpers.ex --- a/web/views/error_helpers.ex +++ b/lib/kolab_chat/web/views/error_helpers.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.ErrorHelpers do +defmodule KolabChat.Web.ErrorHelpers do @moduledoc """ Conveniences for translating and building error messages. """ diff --git a/web/views/error_view.ex b/lib/kolab_chat/web/views/error_view.ex rename from web/views/error_view.ex rename to lib/kolab_chat/web/views/error_view.ex --- a/web/views/error_view.ex +++ b/lib/kolab_chat/web/views/error_view.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.ErrorView do +defmodule KolabChat.Web.ErrorView do use KolabChat.Web, :view def render("404.html", _assigns) do diff --git a/lib/kolab_chat/web/views/layout_view.ex b/lib/kolab_chat/web/views/layout_view.ex new file mode 100644 --- /dev/null +++ b/lib/kolab_chat/web/views/layout_view.ex @@ -0,0 +1,3 @@ +defmodule KolabChat.Web.LayoutView do + use KolabChat.Web, :view +end diff --git a/lib/kolab_chat/web/views/page_view.ex b/lib/kolab_chat/web/views/page_view.ex new file mode 100644 --- /dev/null +++ b/lib/kolab_chat/web/views/page_view.ex @@ -0,0 +1,3 @@ +defmodule KolabChat.Web.PageView do + use KolabChat.Web, :view +end diff --git a/web/web.ex b/lib/kolab_chat/web/web.ex rename from web/web.ex rename to lib/kolab_chat/web/web.ex --- a/web/web.ex +++ b/lib/kolab_chat/web/web.ex @@ -18,18 +18,19 @@ def controller do quote do - use Phoenix.Controller + use Phoenix.Controller, namespace: KolabChat.Web alias KolabChat.Database - import KolabChat.Router.Helpers - import KolabChat.Gettext + import KolabChat.Web.Router.Helpers + import KolabChat.Web.Gettext end end def view do quote do - use Phoenix.View, root: "web/templates" + use Phoenix.View, root: "lib/kolab_chat/web/templates", + namespace: KolabChat.Web # Import convenience functions from controllers import Phoenix.Controller, only: [get_csrf_token: 0, get_flash: 2, view_module: 1] @@ -37,9 +38,9 @@ # Use all HTML functionality (forms, tags, etc) use Phoenix.HTML - import KolabChat.Router.Helpers - import KolabChat.ErrorHelpers - import KolabChat.Gettext + import KolabChat.Web.Router.Helpers + import KolabChat.Web.ErrorHelpers + import KolabChat.Web.Gettext end end @@ -54,9 +55,9 @@ use Phoenix.Channel alias KolabChat.Database - alias KolabChat.Presence + alias KolabChat.Web.Presence - import KolabChat.Gettext + import KolabChat.Web.Gettext end end diff --git a/mix.exs b/mix.exs --- a/mix.exs +++ b/mix.exs @@ -23,14 +23,14 @@ end # Specifies which paths to compile per environment. - defp elixirc_paths(:test), do: ["lib", "web", "test/support"] - defp elixirc_paths(_), do: ["lib", "web"] + defp elixirc_paths(:test), do: ["lib", "test/support"] + defp elixirc_paths(_), do: ["lib"] # Specifies your project dependencies. # # Type `mix help deps` for examples and options. defp deps do - [{:phoenix, "~> 1.2.1"}, + [{:phoenix, "~> 1.3.0-rc"}, {:phoenix_pubsub, "~> 1.0"}, {:phoenix_html, "~> 2.6"}, {:phoenix_live_reload, "~> 1.0", only: :dev}, diff --git a/mix.lock b/mix.lock --- a/mix.lock +++ b/mix.lock @@ -1,16 +1,16 @@ -%{"amnesia": {:hex, :amnesia, "0.2.5", "3202e0b01e380671274caea32fbe78bbd1989e1215215f41a2d97583e5c7d163", [], [{:exquisite, "~> 0.1.6", [hex: :exquisite, optional: false]}]}, +%{"amnesia": {:hex, :amnesia, "0.2.5", "3202e0b01e380671274caea32fbe78bbd1989e1215215f41a2d97583e5c7d163", [:mix], [{:exquisite, "~> 0.1.6", [hex: :exquisite, optional: false]}]}, "bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], []}, "cowboy": {:hex, :cowboy, "1.1.2", "61ac29ea970389a88eca5a65601460162d370a70018afe6f949a29dca91f3bb0", [:rebar3], [{:cowlib, "~> 1.0.2", [hex: :cowlib, optional: false]}, {:ranch, "~> 1.3.2", [hex: :ranch, optional: false]}]}, - "cowlib": {:hex, :cowlib, "1.0.2", "9d769a1d062c9c3ac753096f868ca121e2730b9a377de23dec0f7e08b1df84ee", [], []}, + "cowlib": {:hex, :cowlib, "1.0.2", "9d769a1d062c9c3ac753096f868ca121e2730b9a377de23dec0f7e08b1df84ee", [:make], []}, "credo": {:hex, :credo, "0.6.1", "a941e2591bd2bd2055dc92b810c174650b40b8290459c89a835af9d59ac4a5f8", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, optional: false]}]}, - "exquisite": {:hex, :exquisite, "0.1.8", "ee8f56aae477287ce5e7dfcbc163a420cccbb73e680a6d80a09203e9ef514fa4", [], []}, - "fs": {:hex, :fs, "0.9.2", "ed17036c26c3f70ac49781ed9220a50c36775c6ca2cf8182d123b6566e49ec59", [], []}, - "gettext": {:hex, :gettext, "0.13.1", "5e0daf4e7636d771c4c71ad5f3f53ba09a9ae5c250e1ab9c42ba9edccc476263", [], []}, + "exquisite": {:hex, :exquisite, "0.1.8", "ee8f56aae477287ce5e7dfcbc163a420cccbb73e680a6d80a09203e9ef514fa4", [:mix], []}, + "fs": {:hex, :fs, "0.9.2", "ed17036c26c3f70ac49781ed9220a50c36775c6ca2cf8182d123b6566e49ec59", [:rebar], []}, + "gettext": {:hex, :gettext, "0.13.1", "5e0daf4e7636d771c4c71ad5f3f53ba09a9ae5c250e1ab9c42ba9edccc476263", [:mix], []}, "mime": {:hex, :mime, "1.1.0", "01c1d6f4083d8aa5c7b8c246ade95139620ef8effb009edde934e0ec3b28090a", [:mix], []}, - "phoenix": {:hex, :phoenix, "1.2.1", "6dc592249ab73c67575769765b66ad164ad25d83defa3492dc6ae269bd2a68ab", [], [{:cowboy, "~> 1.0", [hex: :cowboy, optional: true]}, {:phoenix_pubsub, "~> 1.0", [hex: :phoenix_pubsub, optional: false]}, {:plug, "~> 1.1", [hex: :plug, optional: false]}, {:poison, "~> 1.5 or ~> 2.0", [hex: :poison, optional: false]}]}, - "phoenix_html": {:hex, :phoenix_html, "2.9.3", "1b5a2122cbf743aa242f54dced8a4f1cc778b8bd304f4b4c0043a6250c58e258", [], [{:plug, "~> 1.0", [hex: :plug, optional: false]}]}, - "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.0.8", "4333f9c74190f485a74866beff2f9304f069d53f047f5fbb0fb8d1ee4c495f73", [], [{:fs, "~> 0.9.1", [hex: :fs, optional: false]}, {:phoenix, "~> 1.0 or ~> 1.2-rc", [hex: :phoenix, optional: false]}]}, - "phoenix_pubsub": {:hex, :phoenix_pubsub, "1.0.1", "c10ddf6237007c804bf2b8f3c4d5b99009b42eca3a0dfac04ea2d8001186056a", [], []}, - "plug": {:hex, :plug, "1.3.3", "d9be189924379b4e9d470caef87380d09549aea1ceafe6a0d41292c8c317c923", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1", [hex: :cowboy, optional: true]}, {:mime, "~> 1.0", [hex: :mime, optional: false]}]}, - "poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [], []}, + "phoenix": {:hex, :phoenix, "1.3.0-rc.1", "0d04948a4bd24823f101024c07b6a4d35e58f1fd92a465c1bc75dd37acd1041a", [:mix], [{:cowboy, "~> 1.0", [hex: :cowboy, optional: true]}, {:phoenix_pubsub, "~> 1.0", [hex: :phoenix_pubsub, optional: false]}, {:plug, "~> 1.3.2 or ~> 1.4", [hex: :plug, optional: false]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, optional: false]}]}, + "phoenix_html": {:hex, :phoenix_html, "2.9.3", "1b5a2122cbf743aa242f54dced8a4f1cc778b8bd304f4b4c0043a6250c58e258", [:mix], [{:plug, "~> 1.0", [hex: :plug, optional: false]}]}, + "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.0.8", "4333f9c74190f485a74866beff2f9304f069d53f047f5fbb0fb8d1ee4c495f73", [:mix], [{:fs, "~> 0.9.1", [hex: :fs, optional: false]}, {:phoenix, "~> 1.0 or ~> 1.2-rc", [hex: :phoenix, optional: false]}]}, + "phoenix_pubsub": {:hex, :phoenix_pubsub, "1.0.1", "c10ddf6237007c804bf2b8f3c4d5b99009b42eca3a0dfac04ea2d8001186056a", [:mix], []}, + "plug": {:hex, :plug, "1.3.4", "b4ef3a383f991bfa594552ded44934f2a9853407899d47ecc0481777fb1906f6", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1", [hex: :cowboy, optional: true]}, {:mime, "~> 1.0", [hex: :mime, optional: false]}]}, + "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], []}, "ranch": {:hex, :ranch, "1.3.2", "e4965a144dc9fbe70e5c077c65e73c57165416a901bd02ea899cfd95aa890986", [:rebar3], []}} diff --git a/test/controllers/page_controller_test.exs b/test/controllers/page_controller_test.exs --- a/test/controllers/page_controller_test.exs +++ b/test/controllers/page_controller_test.exs @@ -1,5 +1,5 @@ -defmodule KolabChat.PageControllerTest do - use KolabChat.ConnCase +defmodule KolabChat.Web.PageControllerTest do + use KolabChat.Web.ConnCase test "GET /", %{conn: conn} do conn = get conn, "/" diff --git a/test/support/channel_case.ex b/test/support/channel_case.ex --- a/test/support/channel_case.ex +++ b/test/support/channel_case.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.ChannelCase do +defmodule KolabChat.Web.ChannelCase do @moduledoc """ This module defines the test case to be used by channel tests. @@ -27,7 +27,7 @@ # The default endpoint for testing - @endpoint KolabChat.Endpoint + @endpoint KolabChat.Web.Endpoint end end diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex --- a/test/support/conn_case.ex +++ b/test/support/conn_case.ex @@ -1,4 +1,4 @@ -defmodule KolabChat.ConnCase do +defmodule KolabChat.Web.ConnCase do @moduledoc """ This module defines the test case to be used by tests that require setting up a connection. @@ -25,10 +25,10 @@ import Ecto.Changeset import Ecto.Query - import KolabChat.Router.Helpers + import KolabChat.Web.Router.Helpers # The default endpoint for testing - @endpoint KolabChat.Endpoint + @endpoint KolabChat.Web.Endpoint end end diff --git a/test/views/error_view_test.exs b/test/views/error_view_test.exs --- a/test/views/error_view_test.exs +++ b/test/views/error_view_test.exs @@ -1,21 +1,21 @@ -defmodule KolabChat.ErrorViewTest do - use KolabChat.ConnCase, async: true +defmodule KolabChat.Web.ErrorViewTest do + use KolabChat.Web.ConnCase, async: true # Bring render/3 and render_to_string/3 for testing custom views import Phoenix.View test "renders 404.html" do - assert render_to_string(KolabChat.ErrorView, "404.html", []) == + assert render_to_string(KolabChat.Web.ErrorView, "404.html", []) == "Page not found" end test "render 500.html" do - assert render_to_string(KolabChat.ErrorView, "500.html", []) == + assert render_to_string(KolabChat.Web.ErrorView, "500.html", []) == "Internal server error" end test "render any other" do - assert render_to_string(KolabChat.ErrorView, "505.html", []) == + assert render_to_string(KolabChat.Web.ErrorView, "505.html", []) == "Internal server error" end end diff --git a/test/views/layout_view_test.exs b/test/views/layout_view_test.exs --- a/test/views/layout_view_test.exs +++ b/test/views/layout_view_test.exs @@ -1,3 +1,3 @@ -defmodule KolabChat.LayoutViewTest do - use KolabChat.ConnCase, async: true +defmodule KolabChat.Web.LayoutViewTest do + use KolabChat.Web.ConnCase, async: true end diff --git a/test/views/page_view_test.exs b/test/views/page_view_test.exs --- a/test/views/page_view_test.exs +++ b/test/views/page_view_test.exs @@ -1,3 +1,3 @@ -defmodule KolabChat.PageViewTest do - use KolabChat.ConnCase, async: true +defmodule KolabChat.Web.PageViewTest do + use KolabChat.Web.ConnCase, async: true end diff --git a/web/views/chat_view.ex b/web/views/chat_view.ex deleted file mode 100644 --- a/web/views/chat_view.ex +++ /dev/null @@ -1,3 +0,0 @@ -defmodule KolabChat.ChatView do - use KolabChat.Web, :view -end diff --git a/web/views/layout_view.ex b/web/views/layout_view.ex deleted file mode 100644 --- a/web/views/layout_view.ex +++ /dev/null @@ -1,3 +0,0 @@ -defmodule KolabChat.LayoutView do - use KolabChat.Web, :view -end diff --git a/web/views/page_view.ex b/web/views/page_view.ex deleted file mode 100644 --- a/web/views/page_view.ex +++ /dev/null @@ -1,3 +0,0 @@ -defmodule KolabChat.PageView do - use KolabChat.Web, :view -end