class Lexicon::Cli::Application
Attributes
args[R]
extensions[R]
@return [Array<Lexicon::Cli::ExtensionBase>]
Public Class Methods
new(args, extensions: [])
click to toggle source
# File lib/lexicon/cli/application.rb, line 8 def initialize(args, extensions: []) @args = args @extensions = extensions end
Public Instance Methods
start()
click to toggle source
# File lib/lexicon/cli/application.rb, line 13 def start container = Corindon::DependencyInjection::Container.new extensions.each do |extension| extension.boot(container) end make_app(extensions).start(args, container: container) end
Private Instance Methods
make_app(extensions)
click to toggle source
@param [Array<Lexicon::Cli::ExtensionBase>] @return [Class]
# File lib/lexicon/cli/application.rb, line 29 def make_app(extensions) Class.new(CliBase) do extensions.each do |extension| if (commands = extension.commands).is_a?(Proc) instance_eval(&commands) end end end end