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