tty-process-ctl 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -11,7 +11,6 @@ GEM
11
11
  rdoc
12
12
  json (1.7.5)
13
13
  multi_json (1.3.6)
14
- rake (0.9.2.2)
15
14
  rdoc (3.12)
16
15
  json (~> 1.4)
17
16
  rspec (2.11.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -21,7 +21,7 @@ class TTYProcessCtl
21
21
  begin
22
22
  abort_on_exception = true
23
23
  @r.each_line do |line|
24
- enqueue_message line
24
+ enqueue_message line.chop
25
25
  end
26
26
  rescue Errno::EIO
27
27
  ensure
@@ -106,8 +106,8 @@ class TTYProcessCtl
106
106
  end
107
107
  end
108
108
 
109
- def dequeue(block = false)
110
- message = @out_queue.pop(block)
109
+ def dequeue(no_block = false)
110
+ message = @out_queue.pop(no_block)
111
111
  return nil unless message
112
112
  @messages << message
113
113
  @messages.pop while @messages.length > @max_messages
@@ -24,7 +24,7 @@ describe TTYProcessCtl do
24
24
 
25
25
  it 'should be Enumerable' do
26
26
  subject.should respond_to :take
27
- subject.take(2).should == ["151 recipes\r\n", "16 achievements\r\n"]
27
+ subject.take(2).should == ["151 recipes", "16 achievements"]
28
28
  end
29
29
 
30
30
  it 'should return nothing if iterating on dead process' do
@@ -33,37 +33,37 @@ describe TTYProcessCtl do
33
33
  end
34
34
 
35
35
  it 'should allow iteration until pattern is found in message' do
36
- subject.each_until(/NOT ENOUGH RAM/).to_a.last.should == "2011-09-10 12:58:55 [WARNING] **** NOT ENOUGH RAM!\r\n"
36
+ subject.each_until(/NOT ENOUGH RAM/).to_a.last.should == "2011-09-10 12:58:55 [WARNING] **** NOT ENOUGH RAM!"
37
37
  end
38
38
 
39
39
  it 'should allow iteration until pattern is found in message excluding that message' do
40
- subject.each_until_exclude(/NOT ENOUGH RAM/).to_a.last.should == "2011-09-10 12:58:55 [INFO] Starting minecraft server version Beta 1.7.3\r\n"
40
+ subject.each_until_exclude(/NOT ENOUGH RAM/).to_a.last.should == "2011-09-10 12:58:55 [INFO] Starting minecraft server version Beta 1.7.3"
41
41
  end
42
42
 
43
43
  it 'should allow waiting for message matching pattern' do
44
44
  subject.wait_until(/NOT ENOUGH RAM/)
45
- subject.each.to_a.first.should == "2011-09-10 12:58:55 [WARNING] To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\"\r\n"
45
+ subject.each.to_a.first.should == "2011-09-10 12:58:55 [WARNING] To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""
46
46
  end
47
47
  end
48
48
 
49
49
  describe 'sending commands' do
50
50
  it 'should allow sending commands to controled process' do
51
51
  subject.send_command 'stop'
52
- subject.each.to_a.last.should == "2011-09-19 22:12:00 [INFO] Saving chunks\r\n"
52
+ subject.each.to_a.last.should == "2011-09-19 22:12:00 [INFO] Saving chunks"
53
53
  end
54
54
 
55
55
  it 'should allow sending commands and iterating output' do
56
56
  subject.send_command 'list'
57
- subject.each_until(/Connected players/).to_a.last.should == "2011-09-20 14:42:04 [INFO] Connected players: kazuya\r\n"
57
+ subject.each_until(/Connected players/).to_a.last.should == "2011-09-20 14:42:04 [INFO] Connected players: kazuya"
58
58
 
59
59
  subject.send_command 'stop'
60
- subject.each.to_a.last.should == "2011-09-19 22:12:00 [INFO] Saving chunks\r\n"
60
+ subject.each.to_a.last.should == "2011-09-19 22:12:00 [INFO] Saving chunks"
61
61
  end
62
62
 
63
63
  it 'should echo sent command' do
64
64
  subject.each_until(/Done/).to_a
65
65
  subject.send_command 'stop'
66
- subject.each.to_a.first.should == "stop\r\n"
66
+ subject.each.to_a.first.should == "stop"
67
67
  end
68
68
 
69
69
  it 'should raise error when sending command to dead process' do
@@ -98,7 +98,7 @@ describe TTYProcessCtl do
98
98
  subject.flush
99
99
 
100
100
  subject.send_command 'list'
101
- subject.each_until(/Connected players/).to_a.should == ["list\r\n", "2011-09-20 14:42:04 [INFO] Connected players: kazuya\r\n"]
101
+ subject.each_until(/Connected players/).to_a.should == ["list", "2011-09-20 14:42:04 [INFO] Connected players: kazuya"]
102
102
 
103
103
  subject.send_command 'stop'
104
104
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "tty-process-ctl"
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jakub Pastuszek"]
12
- s.date = "2012-09-03"
12
+ s.date = "2012-11-18"
13
13
  s.description = "This gem was created to enable control of interactive terminal applications. It is using pseudo tty to communicate with the process via simple API."
14
14
  s.email = "jpastuszek@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -37,7 +37,7 @@ Gem::Specification.new do |s|
37
37
  s.homepage = "http://github.com/jpastuszek/tty-process-ctl"
38
38
  s.licenses = ["MIT"]
39
39
  s.require_paths = ["lib"]
40
- s.rubygems_version = "1.8.23"
40
+ s.rubygems_version = "1.8.15"
41
41
  s.summary = "Control of interactive terminal applications via simple API."
42
42
 
43
43
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tty-process-ctl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-03 00:00:00.000000000 Z
12
+ date: 2012-11-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70198123123360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '2.8'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '2.8'
24
+ version_requirements: *70198123123360
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: rdoc
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &70198123122620 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ~>
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: '3.12'
38
33
  type: :development
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: '3.12'
35
+ version_requirements: *70198123122620
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: bundler
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &70198123122100 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ~>
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '1.1'
54
44
  type: :development
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '1.1'
46
+ version_requirements: *70198123122100
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: jeweler
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &70198123121460 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ~>
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '1.8'
70
55
  type: :development
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '1.8'
57
+ version_requirements: *70198123121460
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: simplecov
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &70198123120840 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: '0'
86
66
  type: :development
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
68
+ version_requirements: *70198123120840
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: cli
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &70198123120200 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ~>
@@ -101,12 +76,7 @@ dependencies:
101
76
  version: '1.0'
102
77
  type: :development
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: '1.0'
79
+ version_requirements: *70198123120200
110
80
  description: This gem was created to enable control of interactive terminal applications.
111
81
  It is using pseudo tty to communicate with the process via simple API.
112
82
  email: jpastuszek@gmail.com
@@ -147,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
147
117
  version: '0'
148
118
  segments:
149
119
  - 0
150
- hash: 1001191325266459894
120
+ hash: 3600694926302972229
151
121
  required_rubygems_version: !ruby/object:Gem::Requirement
152
122
  none: false
153
123
  requirements:
@@ -156,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
126
  version: '0'
157
127
  requirements: []
158
128
  rubyforge_project:
159
- rubygems_version: 1.8.23
129
+ rubygems_version: 1.8.15
160
130
  signing_key:
161
131
  specification_version: 3
162
132
  summary: Control of interactive terminal applications via simple API.