Module: Kiba::Extend

Extended by:
Dry::Configurable, Warnable
Defined in:
lib/kiba/extend.rb,
lib/kiba/extend/job.rb,
lib/kiba/extend/fcar.rb,
lib/kiba/extend/jobs.rb,
lib/kiba/extend/marc.rb,
lib/kiba/extend/error.rb,
lib/kiba/extend/command.rb,
lib/kiba/extend/sources.rb,
lib/kiba/extend/version.rb,
lib/kiba/extend/jobs/job.rb,
lib/kiba/extend/registry.rb,
lib/kiba/extend/warnable.rb,
lib/kiba/extend/transforms.rb,
lib/kiba/extend/command/reg.rb,
lib/kiba/extend/command/run.rb,
lib/kiba/extend/jobs/parser.rb,
lib/kiba/extend/sources/csv.rb,
lib/kiba/extend/destinations.rb,
lib/kiba/extend/jobs/xml_job.rb,
lib/kiba/extend/sources/marc.rb,
lib/kiba/extend/utils/lookup.rb,
lib/kiba/extend/jobs/base_job.rb,
lib/kiba/extend/jobs/marc_job.rb,
lib/kiba/extend/jobs/null_job.rb,
lib/kiba/extend/jobs/runnable.rb,
lib/kiba/extend/project_config.rb,
lib/kiba/extend/utils/fieldset.rb,
lib/kiba/extend/jobs/reportable.rb,
lib/kiba/extend/sources/xml_dir.rb,
lib/kiba/extend/transforms/copy.rb,
lib/kiba/extend/transforms/marc.rb,
lib/kiba/extend/transforms/name.rb,
lib/kiba/extend/transforms/sort.rb,
lib/kiba/extend/transforms/take.rb,
lib/kiba/extend/transforms/warn.rb,
lib/kiba/extend/command/runnable.rb,
lib/kiba/extend/destinations/csv.rb,
lib/kiba/extend/jobs/show_me_job.rb,
lib/kiba/extend/jobs/tell_me_job.rb,
lib/kiba/extend/registry/creator.rb,
lib/kiba/extend/sources/json_dir.rb,
lib/kiba/extend/transforms/clean.rb,
lib/kiba/extend/transforms/count.rb,
lib/kiba/extend/transforms/merge.rb,
lib/kiba/extend/transforms/split.rb,
lib/kiba/extend/destinations/marc.rb,
lib/kiba/extend/registry/fileable.rb,
lib/kiba/extend/registry/treeable.rb,
lib/kiba/extend/transforms/append.rb,
lib/kiba/extend/transforms/cspace.rb,
lib/kiba/extend/transforms/delete.rb,
lib/kiba/extend/transforms/rename.rb,
lib/kiba/extend/transforms/report.rb,
lib/kiba/extend/utils/lookup_hash.rb,
lib/kiba/extend/command/fcar/chute.rb,
lib/kiba/extend/sources/enumerable.rb,
lib/kiba/extend/sources/lookupable.rb,
lib/kiba/extend/sources/sourceable.rb,
lib/kiba/extend/transforms/allable.rb,
lib/kiba/extend/transforms/compare.rb,
lib/kiba/extend/transforms/explode.rb,
lib/kiba/extend/transforms/extract.rb,
lib/kiba/extend/transforms/helpers.rb,
lib/kiba/extend/transforms/prepend.rb,
lib/kiba/extend/transforms/replace.rb,
lib/kiba/extend/transforms/reshape.rb,
lib/kiba/extend/utils/pre_job_task.rb,
lib/kiba/extend/utils/test_helpers.rb,
lib/kiba/extend/destinations/lambda.rb,
lib/kiba/extend/jobs/dependency_job.rb,
lib/kiba/extend/transforms/collapse.rb,
lib/kiba/extend/transforms/fraction.rb,
lib/kiba/extend/destinations/xml_dir.rb,
lib/kiba/extend/jobs/dynamic_jobable.rb,
lib/kiba/extend/jobs/job_segmentable.rb,
lib/kiba/extend/jobs/json_to_csv_job.rb,
lib/kiba/extend/transforms/ms_access.rb,
lib/kiba/extend/transforms/normalize.rb,
lib/kiba/extend/registry/ancestorable.rb,
lib/kiba/extend/transforms/copy/field.rb,
lib/kiba/extend/transforms/date_value.rb,
lib/kiba/extend/command/jobs/tagged_or.rb,
lib/kiba/extend/registry/file_registry.rb,
lib/kiba/extend/registry/registry_list.rb,
lib/kiba/extend/transforms/deduplicate.rb,
lib/kiba/extend/transforms/filter_rows.rb,
lib/kiba/extend/transforms/fingerprint.rb,
lib/kiba/extend/command/jobs/tagged_and.rb,
lib/kiba/extend/destinations/json_array.rb,
lib/kiba/extend/registry/dynamic_source.rb,
lib/kiba/extend/registry/node_labelable.rb,
lib/kiba/extend/transforms/id_generator.rb,
lib/kiba/extend/transforms/normalizable.rb,
lib/kiba/extend/transforms/rename/field.rb,
lib/kiba/extend/transforms/string_value.rb,
lib/kiba/extend/utils/extract_fractions.rb,
lib/kiba/extend/utils/lookup/row_sorter.rb,
lib/kiba/extend/utils/marc_id_extractor.rb,
lib/kiba/extend/utils/marc_name_cleaner.rb,
lib/kiba/extend/utils/pre_job_nuke_task.rb,
lib/kiba/extend/utils/string_normalizer.rb,
lib/kiba/extend/mixins/iterative_cleanup.rb,
lib/kiba/extend/registry/registered_file.rb,
lib/kiba/extend/registry/requirable_file.rb,
lib/kiba/extend/transforms/delete/fields.rb,
lib/kiba/extend/transforms/rename/fields.rb,
lib/kiba/extend/transforms/report/fields.rb,
lib/kiba/extend/transforms/standard_fcar.rb,
lib/kiba/extend/utils/lookup/set_checker.rb,
lib/kiba/extend/data/convertible_fraction.rb,
lib/kiba/extend/transforms/combine_values.rb,
lib/kiba/extend/utils/field_value_matcher.rb,
lib/kiba/extend/utils/fingerprint_creator.rb,
lib/kiba/extend/utils/lookup/row_selector.rb,
lib/kiba/extend/utils/pre_job_backup_task.rb,
lib/kiba/extend/jobs/dependency_handleable.rb,
lib/kiba/extend/jobs/multi_source_prep_job.rb,
lib/kiba/extend/registry/entry_validatable.rb,
lib/kiba/extend/registry/registered_lookup.rb,
lib/kiba/extend/registry/registered_source.rb,
lib/kiba/extend/transforms/fingerprint/add.rb,
lib/kiba/extend/transforms/single_warnable.rb,
lib/kiba/extend/utils/lookup/pair_equality.rb,
lib/kiba/extend/registry/creator/type_error.rb,
lib/kiba/extend/registry/entry_summarizable.rb,
lib/kiba/extend/registry/registry_validator.rb,
lib/kiba/extend/transforms/deduplicate/flag.rb,
lib/kiba/extend/transforms/marc/extract_ids.rb,
lib/kiba/extend/transforms/sep_deprecatable.rb,
lib/kiba/extend/utils/lookup/multival_pairs.rb,
lib/kiba/extend/utils/lookup/pair_inclusion.rb,
lib/kiba/extend/destinations/destinationable.rb,
lib/kiba/extend/registry/file_registry_entry.rb,
lib/kiba/extend/transforms/append/nil_fields.rb,
lib/kiba/extend/transforms/count/unique_vals.rb,
lib/kiba/extend/transforms/deduplicate/table.rb,
lib/kiba/extend/utils/lookup/field_emptiness.rb,
lib/kiba/extend/utils/marc_role_term_cleaner.rb,
lib/kiba/extend/mixins/iterative_cleanup/jobs.rb,
lib/kiba/extend/transforms/clean/strip_fields.rb,
lib/kiba/extend/transforms/count/field_values.rb,
lib/kiba/extend/transforms/deduplicate/fields.rb,
lib/kiba/extend/transforms/fingerprint/decode.rb,
lib/kiba/extend/transforms/warn/uneven_fields.rb,
lib/kiba/extend/utils/lookup/criteria_checker.rb,
lib/kiba/extend/utils/multi_source_normalizer.rb,
lib/kiba/extend/transforms/action_argumentable.rb,
lib/kiba/extend/transforms/delete/empty_fields.rb,
lib/kiba/extend/transforms/fraction/to_decimal.rb,
lib/kiba/extend/transforms/marc/field_linkable.rb,
lib/kiba/extend/transforms/marc/filter_records.rb,
lib/kiba/extend/transforms/name/split_inverted.rb,
lib/kiba/extend/transforms/sort/by_field_value.rb,
lib/kiba/extend/registry/registered_destination.rb,
lib/kiba/extend/transforms/compare/field_values.rb,
lib/kiba/extend/transforms/cspace/convert_to_id.rb,
lib/kiba/extend/transforms/deduplicate/flag_all.rb,
lib/kiba/extend/transforms/delete/fields_except.rb,
lib/kiba/extend/transforms/merge/constant_value.rb,
lib/kiba/extend/transforms/reshape/simple_pivot.rb,
lib/kiba/extend/registry/registry_entry_selector.rb,
lib/kiba/extend/transforms/append/to_field_value.rb,
lib/kiba/extend/transforms/merge/constant_values.rb,
lib/kiba/extend/transforms/string_value/to_array.rb,
lib/kiba/extend/transforms/cspace/address_country.rb,
lib/kiba/extend/transforms/marc/extract_245_title.rb,
lib/kiba/extend/transforms/marc/extract_name_data.rb,
lib/kiba/extend/transforms/merge/multi_row_lookup.rb,
lib/kiba/extend/transforms/normalize/field_values.rb,
lib/kiba/extend/transforms/prepend/to_field_value.rb,
lib/kiba/extend/transforms/replace/global_reverse.rb,
lib/kiba/extend/utils/lookup/row_selector_by_hash.rb,
lib/kiba/extend/command/project/empty_field_report.rb,
lib/kiba/extend/transforms/clean/even_field_values.rb,
lib/kiba/extend/transforms/cspace/normalize_for_id.rb,
lib/kiba/extend/transforms/deduplicate/field_group.rb,
lib/kiba/extend/transforms/filter_rows/with_lambda.rb,
lib/kiba/extend/mixins/iterative_cleanup/jobs/final.rb,
lib/kiba/extend/transforms/boolean_lambda_paramable.rb,
lib/kiba/extend/transforms/deduplicate/field_values.rb,
lib/kiba/extend/transforms/fingerprint/flag_changed.rb,
lib/kiba/extend/transforms/helpers/org_name_checker.rb,
lib/kiba/extend/transforms/merge/incrementing_field.rb,
lib/kiba/extend/transforms/standard_fcar/split_prep.rb,
lib/kiba/extend/utils/lookup/row_selector_by_lambda.rb,
lib/kiba/extend/transforms/delete/empty_field_groups.rb,
lib/kiba/extend/transforms/delete/empty_field_values.rb,
lib/kiba/extend/transforms/marc/filter_records/by_id.rb,
lib/kiba/extend/transforms/marc/language_code_lookup.rb,
lib/kiba/extend/transforms/merge/compare_fields_flag.rb,
lib/kiba/extend/transforms/merge/multivalue_constant.rb,
lib/kiba/extend/transforms/replace/global_reversible.rb,
lib/kiba/extend/transforms/combine_values/full_record.rb,
lib/kiba/extend/transforms/filter_rows/field_equal_to.rb,
lib/kiba/extend/transforms/helpers/delim_only_checker.rb,
lib/kiba/extend/transforms/helpers/field_value_getter.rb,
lib/kiba/extend/transforms/marc/extract_org_name_data.rb,
lib/kiba/extend/transforms/replace/empty_field_values.rb,
lib/kiba/extend/utils/iterative_cleanup_job_registrar.rb,
lib/kiba/extend/transforms/filter_rows/field_populated.rb,
lib/kiba/extend/transforms/fingerprint/merge_corrected.rb,
lib/kiba/extend/transforms/helpers/person_name_checker.rb,
lib/kiba/extend/transforms/marc/extract_base_name_data.rb,
lib/kiba/extend/transforms/split/into_multiple_columns.rb,
lib/kiba/extend/transforms/split/publication_statement.rb,
lib/kiba/extend/transforms/warn/if_field_value_matches.rb,
lib/kiba/extend/utils/delim_in_value_fingerprint_error.rb,
lib/kiba/extend/mixins/iterative_cleanup/jobs/worksheet.rb,
lib/kiba/extend/registry/creator/hash_creator_key_error.rb,
lib/kiba/extend/transforms/prepend/field_to_field_value.rb,
lib/kiba/extend/transforms/count/matching_rows_in_lookup.rb,
lib/kiba/extend/transforms/marc/extract_person_name_data.rb,
lib/kiba/extend/mixins/iterative_cleanup/jobs/corrections.rb,
lib/kiba/extend/transforms/clean/ensure_consistent_fields.rb,
lib/kiba/extend/transforms/cspace/flag_invalid_characters.rb,
lib/kiba/extend/transforms/cspace/movementreferencenumber.rb,
lib/kiba/extend/transforms/date_value/force_day_precision.rb,
lib/kiba/extend/transforms/delete/field_value_conditional.rb,
lib/kiba/extend/transforms/filter_rows/field_match_regexp.rb,
lib/kiba/extend/transforms/helpers/field_evenness_checker.rb,
lib/kiba/extend/transforms/marc/extract_meeting_name_data.rb,
lib/kiba/extend/mixins/iterative_cleanup/jobs/cleaned_uniq.rb,
lib/kiba/extend/registry/creator/hash_creator_callee_error.rb,
lib/kiba/extend/transforms/append/converted_value_and_unit.rb,
lib/kiba/extend/transforms/delete/fieldnames_starting_with.rb,
lib/kiba/extend/transforms/marc/filter_records/with_lambda.rb,
lib/kiba/extend/transforms/warn/unless_field_value_matches.rb,
lib/kiba/extend/transforms/cspace/valuationcontrolrefnumber.rb,
lib/kiba/extend/transforms/deduplicate/grouped_field_values.rb,
lib/kiba/extend/transforms/explode/field_values_to_new_rows.rb,
lib/kiba/extend/transforms/explode/rows_from_multival_field.rb,
lib/kiba/extend/transforms/filter_rows/all_fields_populated.rb,
lib/kiba/extend/transforms/filter_rows/any_fields_populated.rb,
lib/kiba/extend/transforms/merge/constant_value_conditional.rb,
lib/kiba/extend/transforms/multival_plus_delim_deprecatable.rb,
lib/kiba/extend/jobs/abstract_no_initial_data_conversion_job.rb,
lib/kiba/extend/transforms/marc/extract_subfields_from_field.rb,
lib/kiba/extend/registry/creator/hash_creator_args_type_error.rb,
lib/kiba/extend/registry/creator/jobless_module_creator_error.rb,
lib/kiba/extend/transforms/delete/delimiter_only_field_values.rb,
lib/kiba/extend/transforms/delete/field_value_matching_regexp.rb,
lib/kiba/extend/mixins/iterative_cleanup/jobs/base_job_cleaned.rb,
lib/kiba/extend/transforms/collapse/fields_to_typed_field_pair.rb,
lib/kiba/extend/mixins/iterative_cleanup/jobs/returned_compiled.rb,
lib/kiba/extend/mixins/iterative_cleanup/known_worksheet_values.rb,
lib/kiba/extend/transforms/clean/regexp_find_replace_field_vals.rb,
lib/kiba/extend/transforms/collapse/fields_with_custom_fieldmap.rb,
lib/kiba/extend/transforms/delete/field_value_containing_string.rb,
lib/kiba/extend/transforms/explode/columns_remapped_in_new_rows.rb,
lib/kiba/extend/transforms/fingerprint/delimiter_in_value_error.rb,
lib/kiba/extend/transforms/id_generator/year_based_incrementing.rb,
lib/kiba/extend/transforms/name/convert_inverted_to_direct_form.rb,
lib/kiba/extend/transforms/fingerprint/delimiter_collision_error.rb,
lib/kiba/extend/transforms/replace/field_value_with_static_mapping.rb,
lib/kiba/extend/transforms/delete/field_value_if_equals_other_field.rb,
lib/kiba/extend/transforms/collapse/fields_to_repeatable_field_group.rb,
lib/kiba/extend/transforms/combine_values/from_fields_with_delimiter.rb,
lib/kiba/extend/transforms/explode/rows_from_grouped_multival_fields.rb,
lib/kiba/extend/transforms/replace/norm_with_most_frequently_used_form.rb,
lib/kiba/extend/transforms/reshape/fields_to_field_group_with_constant.rb,
lib/kiba/extend/transforms/standard_fcar/helpers/sum_collated_occurrences.rb

Overview

Handles:

  • auto-loading of the code
  • extending Kiba with Kiba::Extend::Jobs::JobSegmentable so we can call Kiba.job_segment
  • defining config settings, all of which can be overridden by project applications using kiba-extend

Also defines some CSV converters:

  • :stripextra – strips leading/trailing spaces, collapses multiple spaces, removes terminal commas, strips again
  • :nulltonil – replaces any values that are a literal string NULL with a nil value
  • :stripplus – strips leading/trailing spaces, collapses multiple spaces, removes terminal commas, strips again, removes “NULL” (i.e. literal string “NULL” becomes a nilValue

Note that :stripplus combines the functionality of :stripextra and :nulltonil

About pre-job task settings

If configured properly, the pre-job task is run when a job is run via Thor invocation. This includes run:job, run:jobs, and jobs:tagged -r tagvalue. The task is run once when the Thor task is invoked.

Defined Under Namespace

Modules: Command, Data, Destinations, ErrMod, Fcar, Job, Jobs, Marc, Mixins, ProjectConfig, Registry, Sources, Transforms, Utils, Warnable Classes: BlankFcarOrigFieldError, BooleanReturningLambdaError, DynamicSourceUseError, Error, FcarChuteConfigMissingMethodError, InvalidActionError, IterativeCleanupSettingUndefinedError, JobCannotBeUsedAsLookupError, JobNotRegisteredError, MissingDependencyError, NoLookupOnError, NonSymbolLookupOnError, PathRequiredError, ProjectSettingUndefinedError, UnbalancedFieldsTargetsError, UnknownFcarConfigError, UnsafeParameterComboError

Constant Summary collapse

VERSION =
"7.0.0"

Class Method Summary collapse

Methods included from Warnable

warn

Class Method Details

.config_namespaces ⇒ Array<Module>

Note:

You must set this from an individual project if you wish to use the Kiba::Extend::Mixins::IterativeCleanup mixin.

Ruby modules that serve as namespaces under which config modules for a project are nested.

Returns:

  • (Array<Module>)

Since:

  • 4.0.0



94
# File 'lib/kiba/extend.rb', line 94

setting :config_namespaces, default: [], reader: true

.csvopts ⇒ Hash

Default options used for CSV sources/destinations

Returns:

  • (Hash)


98
99
100
# File 'lib/kiba/extend.rb', line 98

setting :csvopts,
reader: true,
default: {headers: true, header_converters: %i[symbol downcase]}

.debug? ⇒ Boolean

Returns whether job_verbosity is set to :debug.

Returns:



259
# File 'lib/kiba/extend.rb', line 259

def debug? = job_verbosity == :debug

.default_job_method_name ⇒ Symbol

Returns job definition module method expected to be present if you define a registry entry hash creator as a Module.

Returns:



192
# File 'lib/kiba/extend.rb', line 192

setting :default_job_method_name, reader: true, default: :job

.delim ⇒ String

Default delimiter for splitting/joining values in multi-valued fields.

Examples:

Kiba::Extend.config.delim = "|"
"a|b".split(Kiba::Extend.delim) => ["a", "b"]

Returns:

  • (String)


129
# File 'lib/kiba/extend.rb', line 129

setting :delim, reader: true, default: "|"

.destination ⇒ Class

implementation criteria in Kiba wiki

Returns:

  • (Class) —

    Default destination class for jobs. Must meet



161
162
163
164
# File 'lib/kiba/extend.rb', line 161

setting :destination,
reader: true,
default: nil,
constructor: ->(_default) { Kiba::Extend::Destinations::CSV }

.job_show_me ⇒ Boolean

Returns Whether to output results to STDOUT for debugging.

Returns:

  • (Boolean) —

    Whether to output results to STDOUT for debugging



237
# File 'lib/kiba/extend.rb', line 237

setting :job_show_me, reader: true, default: false

.job_tell_me ⇒ Boolean

Returns Whether to have computer audibly say something when job is complete.

Returns:

  • (Boolean) —

    Whether to have computer audibly say something when job is complete



241
# File 'lib/kiba/extend.rb', line 241

setting :job_tell_me, reader: true, default: false

.job_verbosity ⇒ :debug, ...

How much output about jobs to output to STDOUT

  • :debug - everything from verbose, plus what is being registered, transformed, etc
  • :verbose - reports what is running, from where, dependencies, and results
  • :normal - reports what is running, from where, and the results
  • :minimal - bare minimum

Returns:

  • (:debug, :verbose, :normal, :minimal)


252
# File 'lib/kiba/extend.rb', line 252

setting :job_verbosity, reader: true, default: :normal

.ke_dir ⇒ String

Returns path to this application’s data directory (used internally by transforms and utils), and not specific to a project.

Returns:

  • (String) —

    path to this application’s data directory (used internally by transforms and utils), and not specific to a project



57
58
59
60
61
# File 'lib/kiba/extend.rb', line 57

setting :ke_dir,
reader: true,
constructor: ->(value) do
  Gem.loaded_specs["kiba-extend"].full_gem_path
end

.lambdaopts ⇒ Hash

Returns Default settings for Lambda destination.

Returns:

  • (Hash) —

    Default settings for Lambda destination



119
120
121
# File 'lib/kiba/extend.rb', line 119

setting :lambdaopts,
reader: true,
default: {on_write: ->(r) { accumulator << r }}

.loader ⇒ Zeitwerk::Loader

Returns:

  • (Zeitwerk::Loader)


64
# File 'lib/kiba/extend.rb', line 64

def loader = @loader ||= setup_loader

.nullvalue ⇒ String

Returns Default string to be treated as though it were a null/empty value.

Returns:

  • (String) —

    Default string to be treated as though it were a null/empty value.



144
# File 'lib/kiba/extend.rb', line 144

setting :nullvalue, reader: true, default: "%NULLVALUE%"

.pre_job_task_action ⇒ :backup, ...

Controls what happens when pre-job task is run

  • :backup - Moves all existing files in specified directories to backup directory specified in pre_job_task_backup_dir
  • :nuke - Deletes all existing files in specified directories when a job is run. Make sure you only specify pre_job_task_directories that contain derived/generated files!
  • :recursive_nuke - Deletes all existing files and subdirectories (and their files), RECURSIVELY when a job is run. The warning for the :nuke options holds 27x more strongly here. If you were creative with this one, you could delete most of your system. TREAD WITH CAUTION.

Returns:

  • (:backup, :nuke, :recursive_nuke)


223
# File 'lib/kiba/extend.rb', line 223

setting :pre_job_task_action, reader: true, default: :nuke

.pre_job_task_backup_dir ⇒ String

Returns Full path to directory to which files will be moved if pre_job_task_action is :backup. The directory will be created if it does not exist. Does not need to be set unless pre_job_task_action is :backup.

Returns:

  • (String) —

    Full path to directory to which files will be moved if pre_job_task_action is :backup. The directory will be created if it does not exist. Does not need to be set unless pre_job_task_action is :backup



204
# File 'lib/kiba/extend.rb', line 204

setting :pre_job_task_backup_dir, reader: true, default: nil

.pre_job_task_directories ⇒ Array<String>

Returns Full paths to directories that will be affected by the specified pre-task action.

Returns:

  • (Array<String>) —

    Full paths to directories that will be affected by the specified pre-task action



208
# File 'lib/kiba/extend.rb', line 208

setting :pre_job_task_directories, reader: true, default: []

.pre_job_task_mode ⇒ :job, ...

Controls when pre_job_task_action is run; Has no effect unless pre_job_task_run is true

  • :job - runs specified pre_job_task_action when you invoke thor run:job ... or any other command that runs jobs.
  • any other value - pre_job_task_action will not run. This setting is set up in this fairly odd way to accommodate future situations in which pre_job_task_action should be run

Returns:

  • (:job, nil, Symbol)


234
# File 'lib/kiba/extend.rb', line 234

setting :pre_job_task_mode, reader: true, default: :job

.pre_job_task_run ⇒ Boolean

Returns Whether to use Kiba::Extend’s pre-job task functionality. The default is false for backward compatibility, as existing projects may not have the required settings configured.

Returns:

  • (Boolean) —

    Whether to use Kiba::Extend’s pre-job task functionality. The default is false for backward compatibility, as existing projects may not have the required settings configured.



198
# File 'lib/kiba/extend.rb', line 198

setting :pre_job_task_run, reader: true, default: false

.project_configs ⇒ Array<Module>

Returns config modules in project namespaces set in config_namespaces setting.

Returns:

  • (Array<Module>) —

    config modules in project namespaces set in config_namespaces setting

Since:

  • 4.0.0



264
265
266
267
268
# File 'lib/kiba/extend.rb', line 264

def project_configs
  config_namespaces.map { |ns| get_config_mods(ns, ns.constants) }
    .flatten
    .select { |obj| obj.is_a?(Module) && obj.respond_to?(:config) }
end

.registry ⇒ Kiba::Extend::Registry::FileRegistry

Returns Customized dry-container for registering and resolving jobs.

Returns:



172
173
174
175
# File 'lib/kiba/extend.rb', line 172

setting :registry,
reader: true,
default: nil,
constructor: ->(_default) { Kiba::Extend::Registry::FileRegistry.new }

.registry_namespace_separator ⇒ String

Returns Used to join nested namespaces and registered keys in FileRegistry. With namespace ‘ns’ and registered key ‘foo’: ‘ns__foo’. With parent namespace ‘ns’, child namespace ‘child’, and registered key ‘foo’: ‘ns__child__foo’.

Returns:

  • (String) —

    Used to join nested namespaces and registered keys in FileRegistry. With namespace ‘ns’ and registered key ‘foo’: ‘ns__foo’. With parent namespace ‘ns’, child namespace ‘child’, and registered key ‘foo’: ‘ns__child__foo’



150
# File 'lib/kiba/extend.rb', line 150

setting :registry_namespace_separator, reader: true, default: "__"

.reload! ⇒ Object



85
# File 'lib/kiba/extend.rb', line 85

def reload! = @loader.reload

.reset_registry ⇒ Object

Rebuilds registry after changes have been made to the project that impact dynamic job registration. This is especially useful for automated tests of iterative cleanup processes at various stages of file return status.

Since:

  • 7.0.0



181
182
183
184
185
186
187
# File 'lib/kiba/extend.rb', line 181

def reset_registry
  config.registry = Kiba::Extend::Registry::FileRegistry.new
  config_namespaces.each do |ns|
    ns.config.registry = registry
    ns::RegistryData.register
  end
end

.sgdelim ⇒ String

Returns Default subgrouping delimiter for splitting/joining values in multi-valued fields.

Examples:

Kiba::Extend.config.delim = "|"
Kiba::Extend.config.sgdelim = "^^"
orig = "a^^y|b^^z"
delim_split = orig.split(Kiba::Extend.delim)
sgdelim_split = delim_split.map{ |val| val.split(Kiba::Extend.sgdelim) }
sgdelim_split => [["a", "y"], ["b", "z"]]

Returns:

  • (String) —

    Default subgrouping delimiter for splitting/joining values in multi-valued fields



140
# File 'lib/kiba/extend.rb', line 140

setting :sgdelim, reader: true, default: "^^"

.source ⇒ Class

Returns Default source class for jobs; Must meet implementation criteria in Kiba wiki.

Returns:

  • (Class) —

    Default source class for jobs; Must meet implementation criteria in Kiba wiki



154
155
156
157
# File 'lib/kiba/extend.rb', line 154

setting :source,
reader: true,
default: nil,
constructor: ->(_default) { Kiba::Extend::Sources::CSV }

.verbose? ⇒ Boolean

Returns whether job_verbosity is set to a value that is considered verbose.

Returns:

  • (Boolean) —

    whether job_verbosity is set to a value that is considered verbose



256
# File 'lib/kiba/extend.rb', line 256

def verbose? = %i[verbose debug].include?(job_verbosity)

.warning_label ⇒ String

Returns Prefix for warnings from the ETL.

Returns:

  • (String) —

    Prefix for warnings from the ETL



167
# File 'lib/kiba/extend.rb', line 167

setting :warning_label, reader: true, default: "KIBA WARNING:"

.xmlopts ⇒ Integer

Note:

The default includes RECOVER, which is what allows Kiba::Extend::Sources::XmlDir to observe and collect errors on doc.errors without failing. You MUST include RECOVER explicitly if you override this setting!

Default options used for XML parsing. The options have to be an int bitmask to satisfy Nokogiri’s expectations. (They’re handed directly to Nokogiri::XML::Document.parse.) See: https://www.rubydoc.info/gems/nokogiri/Nokogiri/XML/ParseOptions The default option here is Nokogiri’s default: RECOVER | NONET | BIG_LINES

Returns:

  • (Integer)


114
115
116
# File 'lib/kiba/extend.rb', line 114

setting :xmlopts,
reader: true,
default: Nokogiri::XML::ParseOptions::DEFAULT_XML