tty-process-ctl 0.2.0 → 0.3.0

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/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.