babl 0.4.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/babl.gemspec +1 -1
- data/bin/babl-rpc_darwin_amd64 +0 -0
- data/bin/babl-rpc_linux_amd64 +0 -0
- data/lib/babl.rb +22 -7
- 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: d14c27ddc236458258e0d64b27c2f7980ebc3536
|
4
|
+
data.tar.gz: ee6d8b94246e42439abd7eaaea89305cab9408cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8f2bd5d3fa98994535fea376a0dfd67af41f247c17a0772461936dcdd129535dd88cf0a8c08867a3c4228da6973af07ef572e7cc11f341c91569fbee9837a24
|
7
|
+
data.tar.gz: a6df3de8427e7acecb27cb3bb10cc372c4b8db34f07d199bd16a32de2d6b7570befe836bcb338196d5b40465e757a8c4b61975a0efbc0778766e6bd2bb431e65
|
data/babl.gemspec
CHANGED
data/bin/babl-rpc_darwin_amd64
CHANGED
Binary file
|
data/bin/babl-rpc_linux_amd64
CHANGED
Binary file
|
data/lib/babl.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'quartz'
|
2
2
|
require 'base64'
|
3
|
+
require 'net/http'
|
3
4
|
|
4
5
|
|
5
6
|
module Babl
|
@@ -20,6 +21,12 @@ module Babl
|
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
24
|
+
def self.fetch_payload raw_response
|
25
|
+
url = raw_response['PayloadUrl']
|
26
|
+
raw_response['Stdout'] = Base64.strict_encode64(Net::HTTP.get URI(url)) if url != ''
|
27
|
+
raw_response
|
28
|
+
end
|
29
|
+
|
23
30
|
def self.bin_path
|
24
31
|
system = `which babl-rpc`.strip
|
25
32
|
if system.empty?
|
@@ -42,6 +49,17 @@ module Babl
|
|
42
49
|
end
|
43
50
|
|
44
51
|
def self.module! name, opts = {}
|
52
|
+
res = fetch_payload(call! name, opts)
|
53
|
+
stdout = Base64.decode64(res["Stdout"])
|
54
|
+
exitcode = res['Exitcode']
|
55
|
+
if exitcode != 0
|
56
|
+
stderr = Base64.decode64(res["Stderr"])
|
57
|
+
raise ModuleError.new(stdout: stdout, stderr: stderr, exitcode: exitcode)
|
58
|
+
end
|
59
|
+
stdout
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.call! name, opts = {}
|
45
63
|
params = {'Name' => name}
|
46
64
|
if opts[:in]
|
47
65
|
params['Stdin'] = Base64.encode64(opts[:in])
|
@@ -49,6 +67,9 @@ module Babl
|
|
49
67
|
if opts[:env]
|
50
68
|
params['Env'] = opts[:env].inject({}) { |h, (k,v)| h[k.to_s] = v.to_s; h }
|
51
69
|
end
|
70
|
+
if opts[:endpoint]
|
71
|
+
params['BablEndpoint'] = opts[:endpoint]
|
72
|
+
end
|
52
73
|
begin
|
53
74
|
res = client[:babl].call('Module', params)
|
54
75
|
rescue Quartz::ResponseError => e
|
@@ -58,12 +79,6 @@ module Babl
|
|
58
79
|
raise
|
59
80
|
end
|
60
81
|
end
|
61
|
-
|
62
|
-
exitcode = res['Exitcode']
|
63
|
-
if exitcode != 0
|
64
|
-
stderr = Base64.decode64(res["Stderr"])
|
65
|
-
raise ModuleError.new(stdout: stdout, stderr: stderr, exitcode: exitcode)
|
66
|
-
end
|
67
|
-
stdout
|
82
|
+
res
|
68
83
|
end
|
69
84
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: babl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lars Kluge
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: quartz
|