Class: PhoenixCli::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/phoenix-cli/cli.rb

Instance Method Summary collapse

Instance Method Details

#consoleObject



38
39
40
# File 'lib/phoenix-cli/cli.rb', line 38

def console
  exec("iex -S mix")
end

#db_createObject



79
80
81
# File 'lib/phoenix-cli/cli.rb', line 79

def db_create
  exec("mix ecto.create")
end

#db_dropObject



89
90
91
# File 'lib/phoenix-cli/cli.rb', line 89

def db_drop
  exec("mix ecto.drop")
end

#db_dumpObject



94
95
96
# File 'lib/phoenix-cli/cli.rb', line 94

def db_dump
  exec("mix ecto.dump")
end

#db_migrateObject



84
85
86
# File 'lib/phoenix-cli/cli.rb', line 84

def db_migrate
  exec("mix ecto.migrate")
end

#depsObject



33
34
35
# File 'lib/phoenix-cli/cli.rb', line 33

def deps
  exec("mix deps.get")
end

#generate(*commands) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/phoenix-cli/cli.rb', line 48

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.gen.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

#installObject



18
19
20
# File 'lib/phoenix-cli/cli.rb', line 18

def install
  exec('mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez')
end

#migrateObject



43
44
45
# File 'lib/phoenix-cli/cli.rb', line 43

def migrate
  exec("mix ecto.migrate")
end

#new(path = '') ⇒ Object



23
24
25
# File 'lib/phoenix-cli/cli.rb', line 23

def new(path='')
  exec("mix phoenix.new #{path}")
end

#routesObject



74
75
76
# File 'lib/phoenix-cli/cli.rb', line 74

def routes
  exec("mix phoenix.routes")
end

#serverObject



28
29
30
# File 'lib/phoenix-cli/cli.rb', line 28

def server
  exec("mix phoenix.server")
end

#versionObject



99
100
101
# File 'lib/phoenix-cli/cli.rb', line 99

def version
  puts PhoenixCli::VERSION
end