ytti/oxidized · error · KeyError

cannot find hook #{hook_type.inspect}

Error message

cannot find hook #{hook_type.inspect}

What it means

Error "cannot find hook #{hook_type.inspect}" thrown in ytti/oxidized.

Source

Thrown at lib/oxidized/hook.rb:54

      source_node_transform
    ].freeze
    attr_reader :registered_hooks

    def initialize
      @registered_hooks = Hash.new { |h, k| h[k] = [] }
    end

    def register(event, name, hook_type, cfg)
      unless EVENTS.include? event
        raise ArgumentError,
              "unknown event #{event}, available: #{EVENTS.join ','}"
      end

      Oxidized.mgr.add_hook(hook_type) || raise("cannot load hook '#{hook_type}', not found")
      begin
        hook = Oxidized.mgr.hook.fetch(hook_type).new
      rescue KeyError
        raise KeyError, "cannot find hook #{hook_type.inspect}"
      end

      hook.cfg = cfg

      @registered_hooks[event] << RegisteredHook.new(name, hook)
      logger.debug "Hook #{name.inspect} registered #{hook.class} for event #{event.inspect}"
    end

    # --- Transform events ---

    # Runs source_node_transform hooks in sequence, passing the return value of
    # each hook as node to the next. Returns the final node, or nil
    # to signal that the node should be excluded.
    def source_node_transform(node:, node_raw:, context:)
      ctx = HookContext.new(
        event:    :source_node_transform,
        node:     node,
        node_raw: node_raw,

View on GitHub (pinned to 687ed4262d)

When it happens

Trigger: Thrown at lib/oxidized/hook.rb:54 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ytti/oxidized@687ed4262d (2026-08-23). Data as JSON: /api/errors/8b9cdddb0fb56357. Report an issue: GitHub.