7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/eco/api/common/loaders/use_case/cli_identify.rb', line 7
def cli(cli_class = nil)
if cli_class.is_a?(Class)
msg = 'cli_class should inherit from Eco::API::UseCases::Cli'
raise ArgumentError, msg unless cli_class < Eco::API::UseCases::Cli
@cli = cli_class
elsif cli_class.nil?
return @cli if instance_variable_defined?(:@cli) && !@cli.nil?
begin
try_class = [to_s, 'Cli'].join('::')
@cli = Kernel.const_get(try_class)
rescue NameError
nil
end
else
raise ArgumentError, "Expecting a class. Given: #{cli_class.class} object"
end
end
|