class DebuggerXml::Vim::Interface
Public Class Methods
new(socket, options)
click to toggle source
Calls superclass method
DebuggerXml::Ide::Interface.new
# File lib/debugger_xml/vim/interface.rb, line 6 def initialize(socket, options) super(socket) @options = options @output = [] end
Public Instance Methods
print(*args)
click to toggle source
# File lib/debugger_xml/vim/interface.rb, line 12 def print(*args) escaped_args = escape_input(args) value = escaped_args.first % escaped_args[1..-1] DebuggerXml.logger.puts("Going to print: #{value}") @output << sprintf(value) end
send_response()
click to toggle source
# File lib/debugger_xml/vim/interface.rb, line 19 def send_response create_directory(@options.file) message = @output.join(@options.separator) @output.clear unless message.empty? File.open(@options.file, 'w') do |f| f.puts(message) end Notification.new("receive_command", @options).send end end
Private Instance Methods
create_directory(file)
click to toggle source
# File lib/debugger_xml/vim/interface.rb, line 33 def create_directory(file) dir = File.dirname(file) Dir.mkdir(dir) unless File.exist?(dir) && File.directory?(dir) end
escape_input(args)
click to toggle source
# File lib/debugger_xml/vim/interface.rb, line 38 def escape_input(args) new_args = args.dup new_args.first.gsub!("%", "%%") if args.first.is_a?(String) new_args end