Module: Kiba::Extend::Registry
- Defined in:
- lib/kiba/extend/registry.rb,
lib/kiba/extend/registry/creator.rb,
lib/kiba/extend/registry/fileable.rb,
lib/kiba/extend/registry/file_registry.rb,
lib/kiba/extend/registry/registry_list.rb,
lib/kiba/extend/registry/registered_file.rb,
lib/kiba/extend/registry/requirable_file.rb,
lib/kiba/extend/registry/registered_lookup.rb,
lib/kiba/extend/registry/registered_source.rb,
lib/kiba/extend/registry/creator/type_error.rb,
lib/kiba/extend/registry/registry_validator.rb,
lib/kiba/extend/registry/file_registry_entry.rb,
lib/kiba/extend/registry/registered_destination.rb,
lib/kiba/extend/registry/registry_entry_selector.rb,
lib/kiba/extend/registry/creator/hash_creator_key_error.rb,
lib/kiba/extend/registry/creator/hash_creator_callee_error.rb,
lib/kiba/extend/registry/creator/hash_creator_args_type_error.rb,
lib/kiba/extend/registry/creator/jobless_module_creator_error.rb
Overview
Support for defining project-specific file registry
This DRYs up the process of setting up job configs (i.e. the source, lookup, and destination files for that job.
This also allows for automated calling of dependencies instead of having to redundantly hard code them for every job. If the file(s) needed as sources or lookups do not exist, their creator jobs will be run to create them.
Defined Under Namespace
Modules: Fileable, RequirableFile Classes: CannotBeUsedAsSourceError, Creator, FileRegistry, FileRegistryEntry, RegisteredDestination, RegisteredFile, RegisteredLookup, RegisteredSource, RegistryEntrySelector, RegistryList, RegistryValidator
Class Method Summary collapse
Class Method Details
.entry_for(jobkey) ⇒ Kiba::Extend::Registry::FileRegistryEntry
21 22 23 24 25 26 27 28 |
# File 'lib/kiba/extend/registry.rb', line 21 def entry_for(jobkey) entry = Kiba::Extend.registry.resolve(jobkey) return entry if entry.respond_to?(:creator) Kiba::Extend::Registry::FileRegistryEntry.new(jobkey, entry) rescue(Dry::Container::KeyError) => err raise Kiba::Extend::JobNotRegisteredError.new(err, "Registry.entry_for") end |