{"record":{"id":"6faa6c0e46c839ab","repo":"ytti/oxidized","slug":"unknown-event-event-available-events-join","errorCode":null,"errorMessage":"unknown event #{event}, available: #{EVENTS.join ','}","messagePattern":"unknown event #(.+?), available: #(.+?)","errorType":"validation","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/oxidized/hook.rb","lineNumber":46,"sourceCode":"    # RegisteredHook is a container for a Hook instance\n    RegisteredHook = Struct.new(:name, :hook)\n\n    EVENTS = %i[\n      node_success\n      node_fail\n      post_store\n      nodes_done\n      source_node_transform\n    ].freeze\n    attr_reader :registered_hooks\n\n    def initialize\n      @registered_hooks = Hash.new { |h, k| h[k] = [] }\n    end\n\n    def register(event, name, hook_type, cfg)\n      unless EVENTS.include? event\n        raise ArgumentError,\n              \"unknown event #{event}, available: #{EVENTS.join ','}\"\n      end\n\n      Oxidized.mgr.add_hook(hook_type) || raise(\"cannot load hook '#{hook_type}', not found\")\n      begin\n        hook = Oxidized.mgr.hook.fetch(hook_type).new\n      rescue KeyError\n        raise KeyError, \"cannot find hook #{hook_type.inspect}\"\n      end\n\n      hook.cfg = cfg\n\n      @registered_hooks[event] << RegisteredHook.new(name, hook)\n      logger.debug \"Hook #{name.inspect} registered #{hook.class} for event #{event.inspect}\"\n    end\n\n    # --- Transform events ---\n","sourceCodeStart":28,"sourceCodeEnd":64,"githubUrl":"https://github.com/ytti/oxidized/blob/687ed4262d9d21e54662e872e2383386d8498f7b/lib/oxidized/hook.rb#L28-L64","documentation":"Error \"unknown event #{event}, available: #{EVENTS.join ','}\" thrown in ytti/oxidized.","triggerScenarios":"Thrown at lib/oxidized/hook.rb:46 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"687ed4262d9d21e54662e872e2383386d8498f7b","analyzedAt":"2026-08-23T11:19:42.084Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}