soaspec 0.0.50 → 0.0.51
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +5 -0
- data/Gemfile.lock +1 -1
- data/config/data/default.yml +4 -21
- data/lib/soaspec/exchange.rb +2 -3
- data/lib/soaspec/exchange_handlers/exchange_handler.rb +8 -1
- data/lib/soaspec/exchange_handlers/handler_accessors.rb +1 -5
- data/lib/soaspec/exchange_handlers/rest_handler.rb +13 -10
- data/lib/soaspec/exchange_handlers/soap_handler.rb +0 -7
- data/lib/soaspec/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5b5fa8cf8849c0d7ad63f02428f7a7c7050e7b0
|
4
|
+
data.tar.gz: 55a05b486e03cb4d7ccb32f3cbfd14be87cd0f09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 497e23505b69ba428131d7f327a69d60d25c0db3127a12c09711cca6d26e48212c10129768c63efca13f29a8222a09e0ed1f9ed7a6980963ab8cf7dc81e55754
|
7
|
+
data.tar.gz: 9873e4e70251804d46114bc60e84877bb778528cd854cb1062044006681f926903c5de323e15a3ab1bf45ebcd63bda1ae6fd37b4b0f5769cc385104c82c17c3e
|
data/ChangeLog
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
Version 0.0.51
|
2
|
+
* Enhancements
|
3
|
+
* Allow for 'default_hash=' method to be used in RestHandler. See 'many_calls_one_method_spec' for example
|
4
|
+
* Got element accessor working correctly (See soap/hash_spec.rb + 'blz_service' for example)
|
5
|
+
|
1
6
|
Version 0.0.50
|
2
7
|
* Enhancements
|
3
8
|
* Able to use ERB in oauth parameters and extract oauth hash with 'oauth_response' method defined by 'oauth_file'
|
data/Gemfile.lock
CHANGED
data/config/data/default.yml
CHANGED
@@ -14,7 +14,7 @@ pet:
|
|
14
14
|
name: 'string'
|
15
15
|
status: sold
|
16
16
|
|
17
|
-
|
17
|
+
default_pet:
|
18
18
|
id: '123987'
|
19
19
|
category:
|
20
20
|
id: '1'
|
@@ -27,28 +27,11 @@ pet1:
|
|
27
27
|
name: 'string'
|
28
28
|
status: available
|
29
29
|
|
30
|
+
pet1:
|
31
|
+
id: '123987'
|
32
|
+
|
30
33
|
pet2:
|
31
34
|
id: '9998772'
|
32
|
-
category:
|
33
|
-
id: '1'
|
34
|
-
name: 'string'
|
35
|
-
name: 'new_puppy'
|
36
|
-
photoUrls:
|
37
|
-
- 'string'
|
38
|
-
tags:
|
39
|
-
- id: '1'
|
40
|
-
name: 'string'
|
41
|
-
status: available
|
42
35
|
|
43
36
|
pet3:
|
44
37
|
id: '554678'
|
45
|
-
category:
|
46
|
-
id: '1'
|
47
|
-
name: 'string'
|
48
|
-
name: 'new_puppy'
|
49
|
-
photoUrls:
|
50
|
-
- 'string'
|
51
|
-
tags:
|
52
|
-
- id: '1'
|
53
|
-
name: 'string'
|
54
|
-
status: available
|
data/lib/soaspec/exchange.rb
CHANGED
@@ -28,10 +28,9 @@ class Exchange
|
|
28
28
|
@override_parameters = override_parameters
|
29
29
|
@retry_for_success = false
|
30
30
|
self.retry_count = 3
|
31
|
-
# puts 'ELE ' + @api_class.elements.to_s
|
32
31
|
@api_class.elements.each do |element|
|
33
|
-
define_singleton_method(element) do
|
34
|
-
@api_class.__send__(element, response)
|
32
|
+
define_singleton_method(element.to_s.split('__custom_path_').last) do
|
33
|
+
@api_class.__send__(element, response) # Forward the call onto handler to retrieve the element for the response
|
35
34
|
end
|
36
35
|
end
|
37
36
|
end
|
@@ -13,7 +13,14 @@ module Soaspec
|
|
13
13
|
|
14
14
|
# Explicitly defined elements for which a path has been predefined
|
15
15
|
def elements
|
16
|
-
|
16
|
+
public_methods.select { |i| i[/__custom_path_.+/] }
|
17
|
+
end
|
18
|
+
|
19
|
+
# Set the default hash representing data to be used in making a request
|
20
|
+
# This will set the @request_option instance variable too
|
21
|
+
def default_hash=(hash)
|
22
|
+
@request_option = :hash
|
23
|
+
@default_hash = Soaspec.always_use_keys? ? hash.transform_keys_to_symbols : hash
|
17
24
|
end
|
18
25
|
|
19
26
|
# Set instance variable name
|
@@ -65,11 +65,7 @@ module Soaspec
|
|
65
65
|
# @param [String, Symbol] name Method name used to access element
|
66
66
|
# @param [String, Symbol] path Path to find object (e.g, XPath, JSONPath)
|
67
67
|
def element(name, path)
|
68
|
-
#
|
69
|
-
@elements ||= []
|
70
|
-
@elements << name.to_s # Add record to list of elements used by exchange
|
71
|
-
# puts 'NOW ELE' + @elements.to_s
|
72
|
-
define_method(name.to_s) do |response|
|
68
|
+
define_method("__custom_path_#{name}") do |response|
|
73
69
|
value_from_path(response, path.to_s)
|
74
70
|
end
|
75
71
|
end
|
@@ -7,6 +7,7 @@ require_relative '../interpreter'
|
|
7
7
|
require 'json'
|
8
8
|
require 'jsonpath'
|
9
9
|
require 'nori'
|
10
|
+
require 'erb'
|
10
11
|
|
11
12
|
module Soaspec
|
12
13
|
|
@@ -110,17 +111,19 @@ module Soaspec
|
|
110
111
|
end
|
111
112
|
|
112
113
|
# Setup object to handle communicating with a particular SOAP WSDL
|
113
|
-
# @param [Hash]
|
114
|
+
# @param [Hash] options Options defining SOAP request. WSDL, authentication
|
114
115
|
def initialize(name = self.class.to_s, options = {})
|
115
116
|
raise "Base URL not set! Please set in class with 'base_url' method" unless base_url_value
|
117
|
+
@default_hash = {}
|
116
118
|
if name.is_a?(Hash) && options == {} # If name is not set
|
117
119
|
options = name
|
118
120
|
name = self.class.to_s
|
119
121
|
end
|
122
|
+
super
|
123
|
+
set_remove_key(options, :default_hash)
|
120
124
|
merged_options = rest_resource_options
|
121
125
|
merged_options.merge!(options)
|
122
126
|
@resource = RestClient::Resource.new(base_url_value, merged_options) # @resource[url_extension].get
|
123
|
-
super
|
124
127
|
end
|
125
128
|
|
126
129
|
# Used in together with Exchange request that passes such override parameters
|
@@ -137,14 +140,14 @@ module Soaspec
|
|
137
140
|
|
138
141
|
begin
|
139
142
|
response = case test_values[:method]
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
143
|
+
when :post, :patch, :put
|
144
|
+
unless test_values[:payload]
|
145
|
+
test_values[:payload] = JSON.generate(@default_hash.merge(test_values[:body])).to_s if test_values[:body]
|
146
|
+
end
|
147
|
+
@resource_used.send(test_values[:method].to_s, test_values[:payload], test_values[:params])
|
148
|
+
else
|
149
|
+
@resource_used.send(test_values[:method].to_s, test_values[:params])
|
150
|
+
end
|
148
151
|
rescue RestClient::ExceptionWithResponse => e
|
149
152
|
response = e.response
|
150
153
|
end
|
@@ -103,13 +103,6 @@ module Soaspec
|
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
|
-
# Set the default hash representing data to be used in making a request
|
107
|
-
# This will set the @request_option instance variable too
|
108
|
-
def default_hash=(hash)
|
109
|
-
@request_option = :hash
|
110
|
-
@default_hash = Soaspec.always_use_keys? ? hash.transform_keys_to_symbols : hash
|
111
|
-
end
|
112
|
-
|
113
106
|
# @param [Hash] format Format of expected result
|
114
107
|
# @return [Object] Generic body to be displayed in error messages
|
115
108
|
def response_body(response, format: :hash)
|
data/lib/soaspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soaspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.51
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SamuelGarrattIQA
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|