Packages

A collection of boilerplate generators for the Phoenix web framework.

Current section

Files

Jump to
phoenix_generator lib mix_tasks_phoenix_gen_scaffold.ex
Raw

lib/mix_tasks_phoenix_gen_scaffold.ex

defmodule Mix.Tasks.Phoenix.Gen.Scaffold do
use Mix.Task
import Phoenix.Gen.Utils
@shortdoc "Generate a Controller/Model/View/Template scaffold"
@moduledoc """
Generates a Controller/Model/View/Template scaffold
mix phoenix.gen.scaffold resource_name field_name:field_type
## Command line options
* `--repo=RepoName` - the repo to generate a migration for (defaults to `YourApp.Repo`)
## Examples
mix phoenix.gen.scaffold post title:string body:string --repo:MyApp.Repo
"""
def run(opts) do
{switches, [resource_name | _fields], _files} = OptionParser.parse opts
repo = case switches[:repo] do
nil -> []
r -> ["--repo", r]
end
Mix.Tasks.Phoenix.Gen.Controller.run [resource_name, "--crud"]++repo
Mix.Tasks.Phoenix.Gen.Ectomodel.run opts
end
end