xlogin-apiclient 0.1.0 → 0.1.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: 1f830ca039a85ad17651cfa9d7672222fca132f5
4
- data.tar.gz: 06d6a6940577cdfe31d0a792d3bcf86bbf75f1f1
3
+ metadata.gz: a5d1de84a151795ecb712cdf1d9a411afab32709
4
+ data.tar.gz: 1894a25a7ce10d72ae0b4829ac376f87f6b7c239
5
5
  SHA512:
6
- metadata.gz: 6f1f3bd9fa7ec9844c96c858c42a6121bc758f7aa22598789ecc32544b0463965f828f66a2992cf679f7b19531cd7f99c93b4f801a20c6dd6801842ffdedbd34
7
- data.tar.gz: f65d7f5a350439460660ee76ff1680dfce37fffffc9aee41399a5b22b75191053c2842e40600c07a11c942968dba1331a6464b2adf787f01ce7115024dec3441
6
+ metadata.gz: 199dd4dd3248199ad21ca3b3f5727cfdeb847ea8184767bb1a84cb19356608a0633dc2546ffc0528362eb174055bb350d0964eae6988a8b0a02358620574e4eb
7
+ data.tar.gz: 0216ca99501315becc906df9cba5dc34ba4a56a7cb287f09d1f15059185e1e70d555c09029b0b1d6e561d2c660cefe831e43d8d7cb6d61267e86872607515b1e
@@ -13,14 +13,28 @@ module Xlogin
13
13
  @base_uri = URI(uri)
14
14
  end
15
15
 
16
- def run(vendor, req = Request.new, &block)
17
- uri = URI(@base_uri)
18
- uri.path = "/vendors/#{vendor}/actions"
19
-
20
- block.call(req) if block
21
- http(:post, uri, req.to_h)
22
- rescue => e
23
- raise APIError.new(e.message)
16
+ def exec(req = Request.new, &block)
17
+ vendor = self.class.name.slice(/\w+$/).downcase
18
+ method("exec_#{vendor}").call(req, &block)
19
+ end
20
+
21
+ def method_missing(name, *args, &block)
22
+ super unless name =~ /^exec_(\w+)$/
23
+
24
+ begin
25
+ req = args.shift || Request.new
26
+ uri = URI(@base_uri)
27
+ uri.path = "/vendors/#{$1}/actions"
28
+
29
+ block.call(req) if block
30
+ http(:post, uri, req.to_h)
31
+ rescue => e
32
+ raise APIError.new(e.message)
33
+ end
34
+ end
35
+
36
+ def respond_to_missing?(name, include_private = false)
37
+ name =~ /^exec_(\w+)$/
24
38
  end
25
39
 
26
40
  private
@@ -1,5 +1,5 @@
1
1
  module Xlogin
2
2
  module Apiclient
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xlogin-apiclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht