Class: Ask::MCP::Native::Messages::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/ask/mcp/native/messages.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, result: nil, error: nil) ⇒ Response

Returns a new instance of Response.



59
60
61
62
63
# File 'lib/ask/mcp/native/messages.rb', line 59

def initialize(id:, result: nil, error: nil)
  @id = id
  @result = result
  @error = error
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



57
58
59
# File 'lib/ask/mcp/native/messages.rb', line 57

def error
  @error
end

#idObject (readonly)

Returns the value of attribute id.



57
58
59
# File 'lib/ask/mcp/native/messages.rb', line 57

def id
  @id
end

#resultObject (readonly)

Returns the value of attribute result.



57
58
59
# File 'lib/ask/mcp/native/messages.rb', line 57

def result
  @result
end

Instance Method Details

#success?Boolean

Returns:

  • (Boolean)


65
66
67
# File 'lib/ask/mcp/native/messages.rb', line 65

def success?
  @error.nil?
end

#to_hObject



69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/ask/mcp/native/messages.rb', line 69

def to_h
  h = { jsonrpc: JSON_RPC_VERSION, id: @id }
  if @error
    h[:error] = {
      code: @error[:code],
      message: @error[:message]
    }
    h[:error][:data] = @error[:data] if @error[:data]
  else
    h[:result] = @result || {}
  end
  h
end

#to_json(*args) ⇒ Object



83
84
85
# File 'lib/ask/mcp/native/messages.rb', line 83

def to_json(*args)
  to_h.to_json(*args)
end