class TypeProf::LSP::Writer - typeprof: Ruby Standard Library Documentation

# class TypeProf::LSP::Writer

### Public Class Methods

new(io) click to toggle source

    # File typeprof-0.30.1/lib/typeprof/lsp/server.rb, line 190
    def initialize(io)
      @io = io
      @mutex = Mutex.new
    end

### Public Instance Methods

write(**json) click to toggle source

    # File typeprof-0.30.1/lib/typeprof/lsp/server.rb, line 195
    def write(**json)
      json = JSON.generate(json.merge(jsonrpc: "2.0"))
      @mutex.synchronize do
        @io << "Content-Length: #{ json.bytesize }\r\n\r\n" << json
        @io.flush
      end
    end