Skip to content
Kward Search API index

Module: Kward::PromptInterface::PluginUIRequests

Included in:
Kward::PromptInterface
Defined in:
lib/kward/prompt_interface/plugin_ui_requests.rb

Overview

Terminal implementations of the frontend-neutral plugin UI requests.

Instance Method Summary collapse

Instance Method Details

#request_plugin_ui(kind, payload, cancellation: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/kward/prompt_interface/plugin_ui_requests.rb', line 6

def request_plugin_ui(kind, payload, cancellation: nil)
  cancellation&.raise_if_cancelled!
  result = case kind.to_sym
           when :question then ask_user_question(payload.fetch(:questions))
           when :select then request_plugin_select(payload)
           when :confirm then request_plugin_confirmation(payload)
           when :input then request_plugin_input(payload)
           else raise ArgumentError, "unsupported plugin UI request: #{kind}"
           end
  cancellation&.raise_if_cancelled!
  result
end