babl 0.4.5 → 0.4.6
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/babl.gemspec +1 -1
- data/lib/babl.rb +5 -6
- data/lib/babl/module_response.rb +12 -4
- 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: bced3f7160dd07f83e46444d547bc08587f16a8f
|
4
|
+
data.tar.gz: 898d57f4ecdbbe67818fa1898e6895aa50b7362f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a5768024b9ee6f8038c2ae27fbe587567d11db7039348e32523a698ce3fb7fac56b3324856b6d091e7c5eac15810ccae8ce4da49c9e3f4aa3c571d71ba475ba
|
7
|
+
data.tar.gz: 5f776042d848defe5068465cc17b1c66c404f3dae33ae13111a407169b44c19aa8ccf8fd68209a703d63343d54067d54618e316bcb8c3b9f41d92c86b4dc6c2f
|
data/babl.gemspec
CHANGED
data/lib/babl.rb
CHANGED
@@ -10,16 +10,17 @@ module Babl
|
|
10
10
|
class ModuleNameFormatIncorrectError < StandardError; end
|
11
11
|
|
12
12
|
class ModuleError < StandardError
|
13
|
-
attr_reader :stdout, :stderr, :exitcode
|
13
|
+
attr_reader :stdout, :stderr, :exitcode, :payload_url
|
14
14
|
|
15
15
|
def initialize opts = {}
|
16
16
|
@stdout = opts[:stdout]
|
17
17
|
@stderr = opts[:stderr]
|
18
18
|
@exitcode = opts[:exitcode]
|
19
|
+
@payload_url = opts[:payload_url]
|
19
20
|
end
|
20
21
|
|
21
22
|
def to_s
|
22
|
-
"Module execution failed with exitcode #{exitcode}. Stderr:\n#{stderr}"
|
23
|
+
"Module execution failed with exitcode #{exitcode}. Payload url: #{payload_url}. Stderr:\n#{stderr}"
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
@@ -46,9 +47,7 @@ module Babl
|
|
46
47
|
|
47
48
|
def self.module! name, opts = {}
|
48
49
|
res = call! name, opts
|
49
|
-
|
50
|
-
raise ModuleError.new(stdout: res.stdout, stderr: res.stderr, exitcode: res.exitcode)
|
51
|
-
end
|
50
|
+
res.raise_exception_when_unsuccessful!
|
52
51
|
res.stdout
|
53
52
|
end
|
54
53
|
|
@@ -68,7 +67,7 @@ module Babl
|
|
68
67
|
params = {'Name' => name}
|
69
68
|
if input = opts[:in]
|
70
69
|
if input.is_a?(ModuleResponse)
|
71
|
-
if input.payload_url
|
70
|
+
if input.payload_url
|
72
71
|
params['PayloadUrl'] = input.payload_url
|
73
72
|
else
|
74
73
|
params['Stdin'] = Base64.encode64(input.stdout)
|
data/lib/babl/module_response.rb
CHANGED
@@ -5,14 +5,16 @@ module Babl
|
|
5
5
|
def initialize response
|
6
6
|
@stdout_raw = response["Stdout"]
|
7
7
|
@stderr_raw = response["Stderr"]
|
8
|
-
@exitcode = response["Exitcode"]
|
8
|
+
@exitcode = response["Exitcode"].to_i
|
9
9
|
|
10
|
-
|
10
|
+
if !response["PayloadUrl"].nil? and response["PayloadUrl"] != ""
|
11
|
+
@payload_url = response["PayloadUrl"]
|
12
|
+
end
|
11
13
|
end
|
12
14
|
|
13
15
|
def stdout allow_fetch = true
|
14
16
|
@stdout ||= begin
|
15
|
-
if payload_url
|
17
|
+
if payload_url
|
16
18
|
fetch_payload if allow_fetch
|
17
19
|
else
|
18
20
|
o = Base64.decode64(@stdout_raw)
|
@@ -31,9 +33,15 @@ module Babl
|
|
31
33
|
end
|
32
34
|
|
33
35
|
def fetch_payload
|
34
|
-
if payload_url
|
36
|
+
if payload_url
|
35
37
|
Net::HTTP.get URI(payload_url)
|
36
38
|
end
|
37
39
|
end
|
40
|
+
|
41
|
+
def raise_exception_when_unsuccessful!
|
42
|
+
if exitcode != 0
|
43
|
+
raise ModuleError.new(stdout: stdout(false), stderr: stderr, exitcode: exitcode, payload_url: payload_url)
|
44
|
+
end
|
45
|
+
end
|
38
46
|
end
|
39
47
|
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.6
|
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-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: quartz
|