babl 0.4.2 → 0.4.3

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: 6be6d3ac4e47a65ab1db7481685f366365451a0c
4
- data.tar.gz: 43cb0a16bd9388e92159e95d6f299b1a05bd97ce
3
+ metadata.gz: d14c27ddc236458258e0d64b27c2f7980ebc3536
4
+ data.tar.gz: ee6d8b94246e42439abd7eaaea89305cab9408cc
5
5
  SHA512:
6
- metadata.gz: 42d82e481fca8bf11843752613c2e70806684ecb742a658c465467e36ae052cfb80c23920ee964eff706bbdd2d96ace9f6ed64a2e94b16e42fb073602540a741
7
- data.tar.gz: a04db8399be60f498e8df2ce7766bea368f19e125eefdef0f77798512e88b3037e3992c0a77161e6bd38103ec17ac70d80c47fc9c68a37597d50deaa6e644c8c
6
+ metadata.gz: a8f2bd5d3fa98994535fea376a0dfd67af41f247c17a0772461936dcdd129535dd88cf0a8c08867a3c4228da6973af07ef572e7cc11f341c91569fbee9837a24
7
+ data.tar.gz: a6df3de8427e7acecb27cb3bb10cc372c4b8db34f07d199bd16a32de2d6b7570befe836bcb338196d5b40465e757a8c4b61975a0efbc0778766e6bd2bb431e65
data/babl.gemspec CHANGED
@@ -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.2"
8
+ spec.version = "0.4.3"
9
9
  spec.authors = ["Lars Kluge"]
10
10
  spec.email = ["l@larskluge.com"]
11
11
 
Binary file
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
- stdout = Base64.decode64(res["Stdout"])
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.2
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-08 00:00:00.000000000 Z
11
+ date: 2016-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: quartz