Module: Textus::Step

Defined in:
lib/textus/step.rb,
lib/textus/step/base.rb,
lib/textus/step/fetch.rb,
lib/textus/step/loader.rb,
lib/textus/step/builtin.rb,
lib/textus/step/catalog.rb,
lib/textus/step/context.rb,
lib/textus/step/observe.rb,
lib/textus/step/validate.rb,
lib/textus/step/discovery.rb,
lib/textus/step/error_log.rb,
lib/textus/step/event_bus.rb,
lib/textus/step/signature.rb,
lib/textus/step/transform.rb,
lib/textus/step/fire_report.rb,
lib/textus/step/registry_store.rb,
lib/textus/step/builtin/csv_fetch.rb,
lib/textus/step/builtin/rss_fetch.rb,
lib/textus/step/builtin/json_fetch.rb,
lib/textus/init/templates/machine_intake.rb,
lib/textus/step/builtin/ical_events_fetch.rb,
lib/textus/step/builtin/markdown_links_fetch.rb,
lib/textus/init/templates/orientation_reducer.rb

Overview

A Step is a unit of user-extensible behaviour discovered by convention at .textus/steps/<kind>/<name>.rb. Five kinds: fetch (external acquisition), transform (combine/reshape into an artifact), validate (check an artifact), observe (react to a lifecycle event). Replaces the Textus.hook block queue.

Defined Under Namespace

Modules: Builtin, Catalog Classes: Base, Context, Discovery, ErrorLog, EventBus, Fetch, FireReport, Loader, MachineIntakeFetch, Observe, OrientationTransform, RegistryStore, Signature, Transform, Validate

Constant Summary collapse

KINDS =

Maps a discovered file path under .textus/steps to its (kind, name). kind = the directory segment directly under steps/; name = the basename without .rb (hyphens preserved). The single source of truth for valid kinds is the set of Base subclasses.

%i[fetch transform validate observe].freeze