Class: Eco::CLI::Config::PeopleFilters
- Inherits:
-
Object
- Object
- Eco::CLI::Config::PeopleFilters
- Defined in:
- lib/eco/cli/config/people_filters.rb
Instance Attribute Summary collapse
-
#core_config ⇒ Object
readonly
Returns the value of attribute core_config.
Instance Method Summary collapse
- #add(option) ⇒ Object
-
#initialize(core_config:) ⇒ PeopleFilters
constructor
A new instance of PeopleFilters.
- #process(io:) ⇒ Object
Constructor Details
#initialize(core_config:) ⇒ PeopleFilters
Returns a new instance of PeopleFilters.
7 8 9 10 |
# File 'lib/eco/cli/config/people_filters.rb', line 7 def initialize(core_config:) @core_config = core_config @filters = {} end |
Instance Attribute Details
#core_config ⇒ Object (readonly)
Returns the value of attribute core_config.
5 6 7 |
# File 'lib/eco/cli/config/people_filters.rb', line 5 def core_config @core_config end |
Instance Method Details
#add(option) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/eco/cli/config/people_filters.rb', line 12 def add(option) raise "Missing block to define the filters builder" unless block_given? callback = Proc.new [option].flatten.compact.each do |opt| @filters[opt] = callback end self end |
#process(io:) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/eco/cli/config/people_filters.rb', line 21 def process(io:) 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: :transform) @filters.each do |arg, callback| if SCR.get_arg(arg) io = io.new(people: callback.call(*io.params)) end end io.people end |