vnctools 0.0.4 → 0.0.5
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/LICENSE +1 -1
- data/README.mdown +19 -12
- data/lib/vnctools/server_pool.rb +24 -6
- data/lib/vnctools/version.rb +1 -1
- metadata +72 -84
data/LICENSE
CHANGED
@@ -187,7 +187,7 @@
|
|
187
187
|
same "printed page" as the copyright notice for easier
|
188
188
|
identification within third-party archives.
|
189
189
|
|
190
|
-
Copyright
|
190
|
+
Copyright 2011-2012 Jari Bakken
|
191
191
|
|
192
192
|
Licensed under the Apache License, Version 2.0 (the "License");
|
193
193
|
you may not use this file except in compliance with the License.
|
data/README.mdown
CHANGED
@@ -8,20 +8,27 @@ Simple CLI wrappers to control and record VNC displays from Ruby.
|
|
8
8
|
Usage
|
9
9
|
=============
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
```ruby
|
12
|
+
# `tightvncserver`
|
13
|
+
server = VncTools::Server.new
|
14
|
+
server.start
|
15
|
+
|
16
|
+
# `ffmpeg`
|
17
|
+
recorder = VncTools::Recorder.new(server.display, "movie.mp4")
|
18
|
+
recorder.start
|
18
19
|
|
19
|
-
|
20
|
-
|
20
|
+
ENV['DISPLAY'] = server.display
|
21
|
+
...
|
21
22
|
|
22
|
-
|
23
|
-
|
23
|
+
recorder.stop
|
24
|
+
server.stop
|
25
|
+
```
|
26
|
+
|
27
|
+
Requirements
|
28
|
+
============
|
24
29
|
|
30
|
+
* Linux
|
31
|
+
* tightvncserver (apt-get install tightvncserver)
|
25
32
|
|
26
33
|
Note on Patches/Pull Requests
|
27
34
|
=============================
|
@@ -37,5 +44,5 @@ Note on Patches/Pull Requests
|
|
37
44
|
Copyright
|
38
45
|
=========
|
39
46
|
|
40
|
-
Copyright (c) 2011 Jari Bakken. See LICENSE for details.
|
47
|
+
Copyright (c) 2011-2012 Jari Bakken. See LICENSE for details.
|
41
48
|
|
data/lib/vnctools/server_pool.rb
CHANGED
@@ -3,16 +3,21 @@ module VncTools
|
|
3
3
|
include Observable
|
4
4
|
|
5
5
|
def initialize(capacity, klass = Server)
|
6
|
-
@capacity
|
7
|
-
@
|
8
|
-
@
|
6
|
+
@capacity = capacity
|
7
|
+
@running = []
|
8
|
+
@server_class = klass
|
9
|
+
|
10
|
+
create_servers
|
9
11
|
end
|
10
12
|
|
11
13
|
def stop
|
12
|
-
running.each do |s|
|
14
|
+
running.dup.each do |s|
|
13
15
|
fire :on_display_stopping, s
|
14
|
-
s
|
16
|
+
stop_server s
|
17
|
+
running.delete s
|
15
18
|
end
|
19
|
+
|
20
|
+
create_servers
|
16
21
|
end
|
17
22
|
|
18
23
|
def size
|
@@ -51,13 +56,26 @@ module VncTools
|
|
51
56
|
|
52
57
|
if server.display.nil?
|
53
58
|
fire :on_display_starting, server
|
54
|
-
server
|
59
|
+
start_server server
|
55
60
|
@running << server
|
56
61
|
end
|
57
62
|
|
58
63
|
server
|
59
64
|
end
|
60
65
|
|
66
|
+
def create_servers
|
67
|
+
@servers = Array.new(@capacity) { @server_class.new }
|
68
|
+
end
|
69
|
+
|
70
|
+
# can be overridden by subclasses
|
71
|
+
def start_server(server)
|
72
|
+
server.start
|
73
|
+
end
|
74
|
+
|
75
|
+
def stop_server(server)
|
76
|
+
server.stop
|
77
|
+
end
|
78
|
+
|
61
79
|
class TooManyDisplaysError < StandardError
|
62
80
|
end
|
63
81
|
|
data/lib/vnctools/version.rb
CHANGED
metadata
CHANGED
@@ -1,91 +1,87 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: vnctools
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 4
|
10
|
-
version: 0.0.4
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Jari Bakken
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-05-12 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: childprocess
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: simplecov
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: simplecov
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
38
33
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
46
38
|
type: :development
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: rspec
|
50
39
|
prerelease: false
|
51
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
52
49
|
none: false
|
53
|
-
requirements:
|
50
|
+
requirements:
|
54
51
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
segments:
|
58
|
-
- 2
|
59
|
-
- 5
|
60
|
-
version: "2.5"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.5'
|
61
54
|
type: :development
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: rake
|
65
55
|
prerelease: false
|
66
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
57
|
none: false
|
68
|
-
requirements:
|
58
|
+
requirements:
|
69
59
|
- - ~>
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.5'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
76
69
|
version: 0.9.2
|
77
70
|
type: :development
|
78
|
-
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.9.2
|
79
78
|
description: Simple CLI wrappers to control and record VNC displays from Ruby.
|
80
|
-
email:
|
79
|
+
email:
|
81
80
|
- jari.bakken@gmail.com
|
82
81
|
executables: []
|
83
|
-
|
84
82
|
extensions: []
|
85
|
-
|
86
83
|
extra_rdoc_files: []
|
87
|
-
|
88
|
-
files:
|
84
|
+
files:
|
89
85
|
- .gitignore
|
90
86
|
- .rspec
|
91
87
|
- .travis.yml
|
@@ -103,41 +99,33 @@ files:
|
|
103
99
|
- spec/vnctools/server_pool_spec.rb
|
104
100
|
- spec/vnctools/server_spec.rb
|
105
101
|
- vnctools.gemspec
|
106
|
-
homepage:
|
102
|
+
homepage: ''
|
107
103
|
licenses: []
|
108
|
-
|
109
104
|
post_install_message:
|
110
105
|
rdoc_options: []
|
111
|
-
|
112
|
-
require_paths:
|
106
|
+
require_paths:
|
113
107
|
- lib
|
114
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
115
109
|
none: false
|
116
|
-
requirements:
|
117
|
-
- -
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
|
120
|
-
|
121
|
-
- 0
|
122
|
-
version: "0"
|
123
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ! '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
115
|
none: false
|
125
|
-
requirements:
|
126
|
-
- -
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
|
129
|
-
segments:
|
130
|
-
- 0
|
131
|
-
version: "0"
|
116
|
+
requirements:
|
117
|
+
- - ! '>='
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
132
120
|
requirements: []
|
133
|
-
|
134
121
|
rubyforge_project: vnctools
|
135
|
-
rubygems_version: 1.8.
|
122
|
+
rubygems_version: 1.8.24
|
136
123
|
signing_key:
|
137
124
|
specification_version: 3
|
138
125
|
summary: Simple CLI wrappers to control and record VNC displays from Ruby.
|
139
|
-
test_files:
|
126
|
+
test_files:
|
140
127
|
- spec/spec_helper.rb
|
141
128
|
- spec/vnctools/recorder_spec.rb
|
142
129
|
- spec/vnctools/server_pool_spec.rb
|
143
130
|
- spec/vnctools/server_spec.rb
|
131
|
+
has_rdoc:
|