Sha256: 3f8d6e03084929ab6f55248586350376c857d581106b85d35b1cc0d38dfcbfe2
Contents?: true
Size: 1.97 KB
Versions: 1
Compression:
Stored size: 1.97 KB
Contents
require 'thor' require 'active_support/inflector' require 'phoenix-cli' trap("SIGINT") { exit! } module PhoenixCli class CLI < Thor include Thor::Actions map %w(-v --version) => :version desc "install", "Install framework" def install exec('mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez') end desc "new", "Create new project" def new(path='') exec("mix phoenix.new #{path}") end desc "server", "Create new project" def server exec("mix phoenix.server") end desc "deps", "Install dependences" def deps exec("mix deps.get") end desc "console", "Run phoenix console" def console exec("iex -S mix") end desc "migrate", "Run ecto migrations" def migrate exec("mix ecto.migrate") end desc "generate", "Run generators" def generate(*commands) generator = commands[0] resource = commands[1] attributes = commands[2..(commands.length - 1)] resource_camelized = resource.camelize resource_pluralized = resource.pluralize if ['scaffold', 'html', 'resource'].include? generator exec("mix phoenix.gen.html #{resource_camelized} #{resource_pluralized} #{attributes.join(' ')}") end if ['json', 'api'].include? generator exec("mix phoenix.json #{resource_camelized} #{resource_pluralized} #{attributes.join(' ')}") end if ['channel', 'presence', 'secret', 'digest'].include? generator exec("mix phoenix.gen.#{generator} #{attributes.join(' ')}") end if ['model'].include? generator exec("mix phoenix.gen.#{generator} #{resource_camelized} #{resource_pluralized} #{attributes.join(' ')}") end end desc "routes", "Show phoenix routes" def routes exec("mix phoenix.routes") end desc 'version', 'phoenix-cli version' def version puts PhoenixCli::VERSION end end class Generate < Thor end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
phoenix-cli-0.0.4 | lib/phoenix-cli/cli.rb |