lib/dtas/unix_client.rb in dtas-0.2.0 vs lib/dtas/unix_client.rb in dtas-0.3.0
- old
+ new
@@ -1,26 +1,28 @@
-# -*- encoding: binary -*-
# Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors
# License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt)
-require 'dtas'
+require_relative '../dtas'
+require_relative 'xs'
require 'socket'
require 'io/wait'
require 'shellwords'
class DTAS::UNIXClient # :nodoc:
attr_reader :to_io
+ include DTAS::XS
+
def self.default_path
(ENV["DTAS_PLAYER_SOCK"] || File.expand_path("~/.dtas/player.sock")).b
end
def initialize(path = self.class.default_path)
@to_io = Socket.new(:AF_UNIX, :SOCK_SEQPACKET, 0)
@to_io.connect(Socket.pack_sockaddr_un(path))
end
def req_start(args)
- args = Shellwords.join(args) if Array === args
+ args = xs(args) if Array === args
@to_io.send(args, Socket::MSG_EOR)
end
def req_ok(args, timeout = nil)
res = req(args, timeout)