Class: Eco::CLI::Config
- Inherits:
-
Object
show all
- Defined in:
- lib/eco/cli/config.rb,
lib/eco/cli/config/help.rb,
lib/eco/cli/config/input.rb,
lib/eco/cli/config/default.rb,
lib/eco/cli/config/filters.rb,
lib/eco/cli/config/use_cases.rb,
lib/eco/cli/config/options_set.rb,
lib/eco/cli/config/filters/input_filters.rb,
lib/eco/cli/config/filters/people_filters.rb
Defined Under Namespace
Modules: Default, Help
Classes: Filters, Input, OptionsSet, UseCases
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(cli:) ⇒ Config
Returns a new instance of Config.
7
8
9
|
# File 'lib/eco/cli/config.rb', line 7
def initialize(cli:)
@cli = cli
end
|
Instance Attribute Details
#cli ⇒ Object
Returns the value of attribute cli.
5
6
7
|
# File 'lib/eco/cli/config.rb', line 5
def cli
@cli
end
|
Instance Method Details
#args ⇒ Object
15
16
17
|
# File 'lib/eco/cli/config.rb', line 15
def args
cli.args
end
|
26
27
28
29
30
31
32
33
34
|
# File 'lib/eco/cli/config.rb', line 26
def input(default_option: nil)
@input ||= Eco::CLI::Config::Input.new(core_config: self, default_option: default_option)
if block_given?
@input.define(&Proc.new)
self
else
@input
end
end
|
58
59
60
61
62
63
|
# File 'lib/eco/cli/config.rb', line 58
def input_filters
@input_filters ||= Eco::CLI::Config::Filters::InputFilters.new(core_config: self)
@input_filters.tap do |filters|
yield(filters) if block_given?
end
end
|
#options ⇒ Object
11
12
13
|
# File 'lib/eco/cli/config.rb', line 11
def options
cli.options
end
|
#options_set ⇒ Object
19
20
21
22
23
24
|
# File 'lib/eco/cli/config.rb', line 19
def options_set
@opions_set ||= Eco::CLI::Config::OptionsSet.new(core_config: self)
@opions_set.tap do |opts_set|
yield(opts_set, options) if block_given?
end
end
|
#people(io: nil) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/eco/cli/config.rb', line 36
def people(io: nil)
if block_given?
@people_load = Proc.new
self
else
raise "There is no definition on how to load people" unless instance_variable_defined?(:@people_load) && @people_load
unless io && io.is_a?(Eco::API::UseCases::BaseIO)
raise "You need to provide Eco::API::UseCases::BaseIO object. Given: #{io.class}"
end
io = io.new(type: :import, input: io.input || [])
@people_load.call(*io.params)
end
end
|
#people_filters ⇒ Object
51
52
53
54
55
56
|
# File 'lib/eco/cli/config.rb', line 51
def people_filters
@people_filters ||= Eco::CLI::Config::Filters::PeopleFilters.new(core_config: self)
@people_filters.tap do |filters|
yield(filters) if block_given?
end
end
|
#usecases ⇒ Object
65
66
67
68
69
70
|
# File 'lib/eco/cli/config.rb', line 65
def usecases
@usecases ||= Eco::CLI::Config::UseCases.new(core_config: self)
@usecases.tap do |cases|
yield(cases) if block_given?
end
end
|