Class: RubynCode::IDE::Handlers::AcceptEditHandler
- Inherits:
-
Object
- Object
- RubynCode::IDE::Handlers::AcceptEditHandler
- Defined in:
- lib/rubyn_code/ide/handlers/accept_edit_handler.rb
Overview
Handles the “acceptEdit” JSON-RPC request.
The extension sends this after the user accepts or rejects a proposed file edit surfaced via a file/edit or file/create notification. All pending-edit state lives in the per-session ToolOutput adapter; this handler is a thin delegate so the server has something to register at the method name.
Instance Method Summary collapse
- #call(params) ⇒ Object
-
#initialize(server) ⇒ AcceptEditHandler
constructor
A new instance of AcceptEditHandler.
Constructor Details
#initialize(server) ⇒ AcceptEditHandler
Returns a new instance of AcceptEditHandler.
14 15 16 |
# File 'lib/rubyn_code/ide/handlers/accept_edit_handler.rb', line 14 def initialize(server) @server = server end |
Instance Method Details
#call(params) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rubyn_code/ide/handlers/accept_edit_handler.rb', line 18 def call(params) edit_id = params['editId'] accepted = params['accepted'] return { 'applied' => false, 'error' => 'Missing editId' } unless edit_id adapter = @server.tool_output_adapter return { 'applied' => false, 'error' => 'No active session' } unless adapter resolved = adapter.resolve_edit(edit_id, accepted ? true : false) return { 'applied' => false, 'error' => "No pending edit: #{edit_id}" } unless resolved { 'applied' => accepted ? true : false } end |