Class: Eco::API::UseCases::Default::Utils::SplitCsv
- Inherits:
-
Common::Loaders::UseCase
- Object
- Common::Loaders::Base
- Common::Loaders::CaseBase
- Common::Loaders::UseCase
- Eco::API::UseCases::Default::Utils::SplitCsv
- Defined in:
- lib/eco/api/usecases/default/utils/split_csv_case.rb,
lib/eco/api/usecases/default/utils/cli/split_csv_cli.rb
Defined Under Namespace
Classes: Cli
Constant Summary collapse
- MAX_ROWS =
15_000
Instance Attribute Summary
Attributes included from Language::AuxiliarLogger
Instance Method Summary collapse
Methods inherited from Common::Loaders::UseCase
cli, cli!, #cli_apply!, #initialize, type, #type
Methods inherited from Common::Loaders::CaseBase
Methods inherited from Common::Loaders::Base
<=>, created_at, #initialize, set_created_at!
Methods included from Common::ClassHelpers
#class_resolver, #descendants, #descendants?, #inheritable_attrs, #inheritable_class_vars, #inherited, #instance_variable_name, #new_class, #resolve_class, #to_constant
Methods included from Language::AuxiliarLogger
Constructor Details
This class inherits a constructor from Eco::API::Common::Loaders::UseCase
Instance Method Details
#main(*_args) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/eco/api/usecases/default/utils/split_csv_case.rb', line 9 def main(*_args) if simulate? count = Eco::CSV.count(input_file, start_at: start_at) log(:info) { "CSV '#{input_file}' has #{count} rows." } else Eco::CSV.split( input_file, max_rows: max_rows, start_at: start_at, &filter ).tap do |split| msg = [] msg << "Total rows copied: #{split.copy_count} (out of #{split.total_count})" msg << "Generated files:" split.out_files.each do |file| msg << " * #{file}'" end log(:info) { msg.join("\n") } end end end |