xlogin-apiclient 0.1.0 → 0.1.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: 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