34 lines
		
	
	
		
			796 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			796 B
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule Mix.Tasks.Swoosh.Mailbox.Server do
 | 
						|
  @moduledoc """
 | 
						|
  Starts the mailbox preview server.
 | 
						|
 | 
						|
  ## Command line options
 | 
						|
 | 
						|
  This task accepts the same command-line arguments as `run`.
 | 
						|
  For additional information, refer to the documentation for `Mix.Tasks.Run`.
 | 
						|
 | 
						|
  For example, to run `swoosh.mailbox.server` without checking dependencies:
 | 
						|
 | 
						|
      mix swoosh.mailbox.server --no-deps-check
 | 
						|
 | 
						|
  The `--no-halt` flag is automatically added.
 | 
						|
  """
 | 
						|
 | 
						|
  use Mix.Task
 | 
						|
 | 
						|
  @shortdoc "Starts the mailbox preview server"
 | 
						|
 | 
						|
  def run(args) do
 | 
						|
    Application.put_env(:swoosh, :serve_mailbox, true)
 | 
						|
    Mix.Task.run("run", run_args() ++ args)
 | 
						|
  end
 | 
						|
 | 
						|
  defp run_args do
 | 
						|
    if iex_running?(), do: [], else: ["--no-halt"]
 | 
						|
  end
 | 
						|
 | 
						|
  defp iex_running? do
 | 
						|
    Code.ensure_loaded?(IEx) && IEx.started?()
 | 
						|
  end
 | 
						|
end
 |