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 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