Class: Solargraph::LanguageServer::Message::Base
- Inherits:
-
Object
- Object
- Solargraph::LanguageServer::Message::Base
show all
- Defined in:
- lib/solargraph/language_server/message/base.rb
Direct Known Subclasses
CancelRequest, Client::RegisterCapability, CompletionItem::Resolve, ExitNotification, Extended::CheckGemVersion, Extended::Document, Extended::DocumentGems, Extended::DownloadCore, Extended::Search, Initialize, Initialized, MethodNotFound, MethodNotImplemented, Shutdown, TextDocument::Base, TextDocument::DocumentSymbol, Workspace::DidChangeConfiguration, Workspace::DidChangeWatchedFiles, Workspace::WorkspaceSymbol
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(host, request) ⇒ Base
Returns a new instance of Base.
28
29
30
31
32
33
34
35
|
# File 'lib/solargraph/language_server/message/base.rb', line 28
def initialize host, request
@host = host
@id = request['id'].freeze
@request = request.freeze
@method = request['method'].freeze
@params = (request['params'] || {}).freeze
post_initialize
end
|
Instance Attribute Details
#error ⇒ Hash?
24
25
26
|
# File 'lib/solargraph/language_server/message/base.rb', line 24
def error
@error
end
|
6
7
8
|
# File 'lib/solargraph/language_server/message/base.rb', line 6
def host
@host
end
|
#id ⇒ Integer
9
10
11
|
# File 'lib/solargraph/language_server/message/base.rb', line 9
def id
@id
end
|
#method ⇒ String
15
16
17
|
# File 'lib/solargraph/language_server/message/base.rb', line 15
def method
@method
end
|
#params ⇒ Hash
18
19
20
|
# File 'lib/solargraph/language_server/message/base.rb', line 18
def params
@params
end
|
#request ⇒ Hash
12
13
14
|
# File 'lib/solargraph/language_server/message/base.rb', line 12
def request
@request
end
|
#result ⇒ Hash, ...
21
22
23
|
# File 'lib/solargraph/language_server/message/base.rb', line 21
def result
@result
end
|
Instance Method Details
#post_initialize ⇒ void
This method returns an undefined value.
38
|
# File 'lib/solargraph/language_server/message/base.rb', line 38
def post_initialize; end
|
#process ⇒ void
This method returns an undefined value.
41
|
# File 'lib/solargraph/language_server/message/base.rb', line 41
def process; end
|
#send_response ⇒ void
This method returns an undefined value.
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/solargraph/language_server/message/base.rb', line 60
def send_response
unless id.nil? or host.cancel?(id)
response = {
jsonrpc: "2.0",
id: id,
}
response[:result] = result unless result.nil?
response[:error] = error unless error.nil?
response[:result] = nil if result.nil? and error.nil?
json = response.to_json
envelope = "Content-Length: #{json.bytesize}\r\n\r\n#{json}"
host.queue envelope
end
host.clear id
end
|
#set_error(code, message) ⇒ void
This method returns an undefined value.
52
53
54
55
56
57
|
# File 'lib/solargraph/language_server/message/base.rb', line 52
def set_error code, message
@error = {
code: code,
message: message
}
end
|
#set_result(data) ⇒ void
This method returns an undefined value.
45
46
47
|
# File 'lib/solargraph/language_server/message/base.rb', line 45
def set_result data
@result = data
end
|