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
KibawithKiba::Extend::Jobs::JobSegmentableso we can callKiba.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 anilValue
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
-
.config_namespaces ⇒ Array<Module>
Ruby modules that serve as namespaces under which config modules for a project are nested.
-
.csvopts ⇒ Hash
Default options used for CSV sources/destinations.
-
.debug? ⇒ Boolean
Whether Extend.job_verbosity is set to :debug.
-
.default_job_method_name ⇒ Symbol
Job definition module method expected to be present if you define a registry entry hash creator as a Module.
-
.delim ⇒ String
Default delimiter for splitting/joining values in multi-valued fields.
-
.destination ⇒ Class
implementation criteria in Kiba wiki.
-
.job_show_me ⇒ Boolean
Whether to output results to STDOUT for debugging.
-
.job_tell_me ⇒ Boolean
Whether to have computer audibly say something when job is complete.
-
.job_verbosity ⇒ :debug, ...
How much output about jobs to output to STDOUT.
-
.ke_dir ⇒ String
Path to this application’s data directory (used internally by transforms and utils), and not specific to a project.
-
.lambdaopts ⇒ Hash
Default settings for Lambda destination.
-
.loader ⇒ Zeitwerk::Loader
-
.nullvalue ⇒ String
Default string to be treated as though it were a null/empty value.
-
.pre_job_task_action ⇒ :backup, ...
Controls what happens when pre-job task is run.
-
.pre_job_task_backup_dir ⇒ String
Full path to directory to which files will be moved if Extend.pre_job_task_action is
:backup. -
.pre_job_task_directories ⇒ Array<String>
Full paths to directories that will be affected by the specified pre-task action.
-
.pre_job_task_mode ⇒ :job, ...
Controls when Extend.pre_job_task_action is run; Has no effect unless Extend.pre_job_task_run is
true. -
.pre_job_task_run ⇒ Boolean
Whether to use Kiba::Extend’s pre-job task functionality.
-
.project_configs ⇒ Array<Module>
Config modules in project namespaces set in Extend.config_namespaces setting.
-
.registry ⇒ Kiba::Extend::Registry::FileRegistry
Customized dry-container for registering and resolving jobs.
-
.registry_namespace_separator ⇒ String
Used to join nested namespaces and registered keys in FileRegistry.
-
.reload! ⇒ Object
-
.reset_registry ⇒ Object
Rebuilds registry after changes have been made to the project that impact dynamic job registration.
-
.sgdelim ⇒ String
Default subgrouping delimiter for splitting/joining values in multi-valued fields.
-
.source ⇒ Class
Default source class for jobs; Must meet implementation criteria in Kiba wiki.
-
.verbose? ⇒ Boolean
Whether Extend.job_verbosity is set to a value that is considered verbose.
-
.warning_label ⇒ String
Prefix for warnings from the ETL.
-
.xmlopts ⇒ Integer
Default options used for XML parsing.
Methods included from Warnable
Class Method Details
.config_namespaces ⇒ Array<Module>
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.
94 |
# File 'lib/kiba/extend.rb', line 94 setting :config_namespaces, default: [], reader: true |
.csvopts ⇒ Hash
Default options used for CSV sources/destinations
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.
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.
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.
129 |
# File 'lib/kiba/extend.rb', line 129 setting :delim, reader: true, default: "|" |
.destination ⇒ Class
implementation criteria in Kiba wiki
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.
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.
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
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.
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.
119 120 121 |
# File 'lib/kiba/extend.rb', line 119 setting :lambdaopts, reader: true, default: {on_write: ->(r) { accumulator << r }} |
.loader ⇒ 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.
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
:nukeoptions holds 27x more strongly here. If you were creative with this one, you could delete most of your system. TREAD WITH CAUTION.
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.
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.
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
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.
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.
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.
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’.
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.
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.
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.
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.
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.
167 |
# File 'lib/kiba/extend.rb', line 167 setting :warning_label, reader: true, default: "KIBA WARNING:" |
.xmlopts ⇒ Integer
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
114 115 116 |
# File 'lib/kiba/extend.rb', line 114 setting :xmlopts, reader: true, default: Nokogiri::XML::ParseOptions::DEFAULT_XML |