babl 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b6a7ba94522673fe7d587aa2b56da24a7acf3ad2
4
- data.tar.gz: cc99b7dad80c9fdf741e80662c04375000c96b58
3
+ metadata.gz: bced3f7160dd07f83e46444d547bc08587f16a8f
4
+ data.tar.gz: 898d57f4ecdbbe67818fa1898e6895aa50b7362f
5
5
  SHA512:
6
- metadata.gz: 633e807c570cbf94c4852854bd59e9643b95bac6961ae27a5ee7c328a3cbbaa124ae6c641399ee0c1bd0fdac798803e81d791c0adb71d84ec90f4c2781e808d9
7
- data.tar.gz: f66e774431dc5b081d7523a20fb07e1522a58f160536452c0d05c441165baf34b1a1d597f6fdfbb92cf6708a8e32adde27e1a8e7ded4c5d2c9afb399244b8fee
6
+ metadata.gz: 5a5768024b9ee6f8038c2ae27fbe587567d11db7039348e32523a698ce3fb7fac56b3324856b6d091e7c5eac15810ccae8ce4da49c9e3f4aa3c571d71ba475ba
7
+ data.tar.gz: 5f776042d848defe5068465cc17b1c66c404f3dae33ae13111a407169b44c19aa8ccf8fd68209a703d63343d54067d54618e316bcb8c3b9f41d92c86b4dc6c2f
@@ -5,7 +5,7 @@ require 'babl'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "babl"
8
- spec.version = "0.4.5"
8
+ spec.version = "0.4.6"
9
9
  spec.authors = ["Lars Kluge"]
10
10
  spec.email = ["l@larskluge.com"]
11
11
 
@@ -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
- if res.exitcode != 0
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.to_s != ""
70
+ if input.payload_url
72
71
  params['PayloadUrl'] = input.payload_url
73
72
  else
74
73
  params['Stdin'] = Base64.encode64(input.stdout)
@@ -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
- @payload_url = response["PayloadUrl"]
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.to_s != ""
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.to_s != ""
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.5
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-14 00:00:00.000000000 Z
11
+ date: 2016-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: quartz