Class: Catfish::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/catfish/cli.rb,
lib/catfish/cli/init.rb

Defined Under Namespace

Classes: Init, Plugin, Provision, Resolve

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ CLI

Returns a new instance of CLI.



8
9
10
11
12
13
14
# File 'lib/catfish/cli.rb', line 8

def initialize(*args)
  super
rescue UnknownArgumentError => e
  raise InvalidOption, e.message
ensure
  self.options ||= {}
end

Class Method Details

.source_rootObject



16
17
18
# File 'lib/catfish/cli.rb', line 16

def self.source_root
  File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
end

Instance Method Details

#initObject



39
40
41
42
# File 'lib/catfish/cli.rb', line 39

def init
  require 'catfish/cli/init'
  Init.new(options.dup, self).run
end

#pluginObject



51
52
53
54
# File 'lib/catfish/cli.rb', line 51

def plugin
  require 'catfish/cli/plugin'
  Plugin.new(options.dup).run
end

#provisionObject



59
60
61
62
63
64
# File 'lib/catfish/cli.rb', line 59

def provision
  invoke :resolve
  invoke :plugin
  require 'catfish/cli/provision'
  Provision.new(options.dup).run
end

#resolveObject



45
46
47
48
# File 'lib/catfish/cli.rb', line 45

def resolve
  require 'catfish/cli/resolve'
  Resolve.new(options.dup).run
end