Module: RubynCode::Hooks::EventMap
- Defined in:
- lib/rubyn_code/hooks/event_map.rb
Overview
Maps between internal hook event names (snake_case symbols used by the in-process Hooks::Runner) and the Claude Code hook event names (CamelCase strings used by external hooks configured in settings.json).
Internal hooks fire at these 7 sites:
:pre_tool_use
External hooks (Claude Code parity) consume these 9 event names:
PreToolUse, PostToolUse, UserPromptSubmit, SessionStart,
SessionEnd, Stop, SubagentStop, PreCompact, Notification
Constant Summary collapse
- TO_EXTERNAL =
Internal symbol => external string
{ pre_tool_use: 'PreToolUse', post_tool_use: 'PostToolUse', pre_llm_call: 'PreCompact', post_llm_call: 'Notification', on_session_end: 'SessionEnd', session_start: 'SessionStart', user_prompt_submit: 'UserPromptSubmit', stop: 'Stop', on_subagent_stop: 'SubagentStop' }.freeze
- TO_INTERNAL =
External string => internal symbol
TO_EXTERNAL.invert.freeze
- EXTERNAL_EVENTS =
Every external event name the dispatcher knows about.
TO_EXTERNAL.values.freeze
Class Method Summary collapse
Class Method Details
.external(internal) ⇒ String?
45 46 47 |
# File 'lib/rubyn_code/hooks/event_map.rb', line 45 def external(internal) TO_EXTERNAL[internal.to_sym] end |
.internal(external) ⇒ Symbol?
51 52 53 |
# File 'lib/rubyn_code/hooks/event_map.rb', line 51 def internal(external) TO_INTERNAL[external.to_s] end |