ng 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/nailgun/client.rb +1 -35
- data/lib/nailgun/version.rb +1 -1
- metadata +1 -1
data/lib/nailgun/client.rb
CHANGED
@@ -1,14 +1,10 @@
|
|
1
1
|
require_relative 'client/chunk'
|
2
2
|
require_relative 'client/chunk_header'
|
3
3
|
require 'socket'
|
4
|
-
require 'io/wait'
|
5
|
-
require 'logger'
|
6
4
|
require 'timeout'
|
7
5
|
|
8
6
|
module Nailgun
|
9
7
|
class Client
|
10
|
-
LOGGER = Logger.new('log')
|
11
|
-
|
12
8
|
attr_reader :opts, :socket
|
13
9
|
|
14
10
|
# Public: Convinience method to instantiate and run the command
|
@@ -28,7 +24,6 @@ module Nailgun
|
|
28
24
|
def initialize(opts = {})
|
29
25
|
@opts = Nailgun::DEFAULTS.merge(opts)
|
30
26
|
@socket = TCPSocket.new(*@opts.values_at(:hostname, :port))
|
31
|
-
debug "Opened new #{@socket.inspect}"
|
32
27
|
end
|
33
28
|
|
34
29
|
# Public: Run a command on the Client instance
|
@@ -113,7 +108,6 @@ module Nailgun
|
|
113
108
|
# content = nil - the actual content
|
114
109
|
def send_chunk(type, content = nil)
|
115
110
|
chunk = Chunk.new(type, content).to_s
|
116
|
-
debug "Sending #{type} chunk: #{content.inspect}"
|
117
111
|
socket.write chunk
|
118
112
|
end
|
119
113
|
|
@@ -121,14 +115,8 @@ module Nailgun
|
|
121
115
|
def receive_chunk
|
122
116
|
Timeout.timeout(Nailgun::TIMEOUT, Nailgun::TimeoutError) do
|
123
117
|
length, type = receive_header
|
124
|
-
if length
|
125
|
-
debug "Received #{type} chunk with no content"
|
126
|
-
else
|
127
|
-
debug "About to read #{type} chunk (#{length} B). Content follows (until <<<< END CHUNK >>>>) "
|
128
|
-
|
118
|
+
if length > 0
|
129
119
|
content = socket.read(length)
|
130
|
-
|
131
|
-
LOGGER << (content + "<<<< END CHUNK >>>>\n")
|
132
120
|
end
|
133
121
|
|
134
122
|
handle_chunk(type, content)
|
@@ -168,27 +156,5 @@ module Nailgun
|
|
168
156
|
end
|
169
157
|
end
|
170
158
|
|
171
|
-
# Private: Debug log message
|
172
|
-
def debug(message)
|
173
|
-
LOGGER.debug(message)
|
174
|
-
end
|
175
|
-
|
176
|
-
# Extend the return value with a success? method akin to Process::Status, which I can't figure
|
177
|
-
# out how to instantiate manually
|
178
|
-
class ExitStatus
|
179
|
-
def initialize(value)
|
180
|
-
@val = value
|
181
|
-
end
|
182
|
-
def success?
|
183
|
-
@val == 0
|
184
|
-
end
|
185
|
-
def method_missing(*args)
|
186
|
-
@val.send(*args)
|
187
|
-
end
|
188
|
-
def inspect
|
189
|
-
@val.inspect
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
159
|
end
|
194
160
|
end
|
data/lib/nailgun/version.rb
CHANGED