peas-cli 0.3.2 → 0.4.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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/peas/api.rb +27 -0
- data/lib/peas/commands/admin.rb +15 -0
- data/lib/peas/commands/app.rb +1 -23
- data/peas-cli.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: faee8809a414a35708ca312da7d0058383c2f16f
|
4
|
+
data.tar.gz: 96f7c1fcdbf0efcc9551c6404ec4031f9d4cba03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8c95f478440542ac91133997d017a908b6b585a674981e5fe423ab839b506b087e583fbf51b710a2497e0af4c470da6e28e0e6042a87cc42fb0d2a10fffff14
|
7
|
+
data.tar.gz: 7ec91fd22ad6b72f52baf27daeca94949f3996297aeb9c94c617b89e651439a6e681774ed1383f5d3170e0189b1af6a3e073dd140ddb37a99c8640a15dc63b52
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/lib/peas/api.rb
CHANGED
@@ -83,4 +83,31 @@ class API
|
|
83
83
|
rescue Interrupt, Errno::ECONNRESET
|
84
84
|
end
|
85
85
|
end
|
86
|
+
|
87
|
+
# Create 2 threads to allow raw TTY to be sent at the same time as outputting
|
88
|
+
# data from the socket.
|
89
|
+
def self.duplex_socket socket
|
90
|
+
threads = []
|
91
|
+
|
92
|
+
# Copy STDIN to socket
|
93
|
+
threads << Thread.start do
|
94
|
+
STDIN.raw do |stdin|
|
95
|
+
IO.copy_stream stdin, socket
|
96
|
+
end
|
97
|
+
socket.close_write
|
98
|
+
end
|
99
|
+
|
100
|
+
# Write response to STDOUT
|
101
|
+
threads << Thread.start do
|
102
|
+
begin
|
103
|
+
while (chunk = socket.readpartial(512))
|
104
|
+
print chunk
|
105
|
+
end
|
106
|
+
rescue EOFError
|
107
|
+
end
|
108
|
+
threads.first.kill
|
109
|
+
end
|
110
|
+
|
111
|
+
threads.each(&:join)
|
112
|
+
end
|
86
113
|
end
|
data/lib/peas/commands/admin.rb
CHANGED
@@ -33,4 +33,19 @@ command :admin do |admin|
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
36
|
+
|
37
|
+
admin.desc 'Run commands on the Peas Controller'
|
38
|
+
admin.long_desc <<-EOF
|
39
|
+
For example: peas admin run rake console
|
40
|
+
EOF
|
41
|
+
admin.command :run do |c|
|
42
|
+
c.action do |_global_options, _options, args|
|
43
|
+
exit_now!("Please provide a command to run", 1) if args.length == 0
|
44
|
+
socket = API.switchboard_connection
|
45
|
+
socket.puts "admin_tty"
|
46
|
+
tty_command = args.join ' '
|
47
|
+
socket.puts tty_command
|
48
|
+
API.duplex_socket socket
|
49
|
+
end
|
50
|
+
end
|
36
51
|
end
|
data/lib/peas/commands/app.rb
CHANGED
@@ -71,28 +71,6 @@ command :run do |c|
|
|
71
71
|
socket.puts "tty.#{Git.name_from_remote}"
|
72
72
|
tty_command = args.join ' '
|
73
73
|
socket.puts tty_command
|
74
|
-
|
75
|
-
threads = []
|
76
|
-
|
77
|
-
# Copy STDIN to socket
|
78
|
-
threads << Thread.start do
|
79
|
-
STDIN.raw do |stdin|
|
80
|
-
IO.copy_stream stdin, socket
|
81
|
-
end
|
82
|
-
socket.close_write
|
83
|
-
end
|
84
|
-
|
85
|
-
# Write response to STDOUT
|
86
|
-
threads << Thread.start do
|
87
|
-
begin
|
88
|
-
while (chunk = socket.readpartial(512))
|
89
|
-
print chunk
|
90
|
-
end
|
91
|
-
rescue EOFError
|
92
|
-
end
|
93
|
-
threads.first.kill
|
94
|
-
end
|
95
|
-
|
96
|
-
threads.each(&:join)
|
74
|
+
API.duplex_socket socket
|
97
75
|
end
|
98
76
|
end
|
data/peas-cli.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: peas-cli 0.
|
5
|
+
# stub: peas-cli 0.4.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "peas-cli"
|
9
|
-
s.version = "0.
|
9
|
+
s.version = "0.4.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Tom Buckley-Houston"]
|
14
|
-
s.date = "2014-11-
|
14
|
+
s.date = "2014-11-19"
|
15
15
|
s.description = "Peas is an open source Heroku-style PaaS written in Ruby and using Docker"
|
16
16
|
s.email = "tom@tombh.co.uk"
|
17
17
|
s.executables = ["peas"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: peas-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Buckley-Houston
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gli
|