soap-object 0.6.3 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDIwMTlmZDU5ODgxODQwYjQxZjBiODJjYTRhZDQ1NTY0NGM0ZjFkMg==
5
- data.tar.gz: !binary |-
6
- NzMwMWY4Zjk4MmZlMTA5NGVmNDUyNWFkNWJlMzJlZDM3MmQ3NDI5Mw==
2
+ SHA1:
3
+ metadata.gz: c671cc72ababce59652396a4576c798e29b0a69a
4
+ data.tar.gz: 13de68c610f9ec82da27ed29c52de2a51fa51471
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZjQxMDkzODA0MjdjNWUzNDIwZWQ2Nzk2Nzc2MzYzNjU5NzFkZjY3NGMxYWU4
10
- MzJlOWQ2NzkxYzI2OTlhMThjOTgwYzJhNDU1OTI3NWE1YWQ5NjQ3NmEwMWRl
11
- N2UwYmMyY2I4NGFlMTA3NjY4YmYwNjU3MDU4NTM0NjUwNTJjMjk=
12
- data.tar.gz: !binary |-
13
- ZWU0MTQ5YWRkYjFmYjk1YmMxY2M5MjFjNDFlMDQ3MWEzMWQwMjNhMWYyOGNk
14
- NjI3NmRlMDc5MDZjMmI2MDE0ZjZjYmU2ZDQzZWRhZWE4Nzc2MGZjYjUzOTll
15
- M2ZiZmFiYzY2NjQxMjZkODkwOWUwNWFhNTgzMzA4NzM3ZDJiN2M=
6
+ metadata.gz: 8d276efccddab68a8a49f92905bc083324d398a46c655132c13e14fc60bb7d7d7aa275f95ca80922e47cef1d1e6fbe99362272c49925ecc4be3c21cdc34d30d0
7
+ data.tar.gz: c7d57dac679b88423f18f092a834c1dc9e6c17ae898f9b7cfe863f37e2a1a2aaf0bbbeef35661bb6bc07f5796f1c755b42176443ec65b6bc13f9988d0e2ff664
data/.gitignore CHANGED
@@ -1,20 +1,21 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- *.swp
19
- TAGS
20
- .idea/
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.swp
19
+ TAGS
20
+ .idea/
21
+ .DS_Store
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
- --color
1
+ --color
2
2
  --format doc
@@ -1 +1 @@
1
- soap-object
1
+ soap-object
@@ -1 +1 @@
1
- ruby-2.0.0-p195
1
+ ruby-2.0.0-p643
data/ChangeLog CHANGED
@@ -1,50 +1,66 @@
1
- === Version 0.6.3 / 2015-3-26
2
- * Enhancements
3
- * Added ability to disable ssl verification
4
-
5
- === Version 0.6.2 / 2015-3-12
6
- * Enhancements
7
- * Calling xpath on Savon response, to take advantage of namespace collecting from response.
8
-
9
- === Version 0.6.1 / 2015-3-12
10
- * Enhancements
11
- * Added xpath method to return to allow user to access path directly
12
-
13
- === Version 0.6 / 2014-12-22
14
- * Enhancements
15
- * Added ability to call operation with hand rolled xml
16
- * Disabled logging by default, setting log_level enables it
17
-
18
- === Version 0.5.1 / 2013-6-1
19
- * Enhancements
20
- * Added body method to return the body of the result as a Hash
21
-
22
- === Version 0.5 / 2013-6-1
23
- * Enhancements
24
- * Removed the body accessor
25
- * Removed the body_xml method
26
- * Added to_xml method to return the response as a String containing the XML
27
- * Added to_hash method to return the respons as a Hash
28
- * Added doc method to return response as a Nokogiri::XML::Document document
29
- * Updated method_missing so when services methods are called the raw XML is returned
30
-
31
- === Version 0.4 / 2013-3-18
32
- * Enhancements
33
- * Added body accessor to SoapObject to return raw body
34
- * Added body_xml method to SoapObject to return Nokogiri::XML::Document containing body
35
-
36
- === Version 0.3 / 2013-3-17
37
- * Enhancements
38
- * Added SoapObject::Factory to assist in creating new service objects
39
- * Added accessor for @response
40
-
41
- === Version 0.2 / 2013-3-11
42
- * Enhancements
43
- * Added ability to add XML to the soap header
44
- * Added ability to set the encoding for the messages
45
- * Added ability to use basic authentication
46
- * Added ability to use digest authentication
47
- * Added ability to set the log level
48
-
49
- === Version 0.1 / 2013-3-4
50
- Initial release
1
+ === Version 0.6.7 / 2015-10-24
2
+ * Cleanup
3
+
4
+ === Version 0.6.6 / 2015-10-24
5
+ * Enhancements
6
+ * Added ssl_options method.
7
+
8
+ === Version 0.6.5 / 2015-6-3
9
+ * Enhancements
10
+ * Added ability to set soap version
11
+
12
+ === Version 0.6.4 / 2015-4-22
13
+ * Enhancements
14
+ * SSL version is :SSLv3 by default
15
+ * Added ability to set SSL version.
16
+
17
+ === Version 0.6.3 / 2015-3-26
18
+ * Enhancements
19
+ * Added ability to disable ssl verification
20
+
21
+ === Version 0.6.2 / 2015-3-12
22
+ * Enhancements
23
+ * Calling xpath on Savon response, to take advantage of namespace collecting from response.
24
+
25
+ === Version 0.6.1 / 2015-3-12
26
+ * Enhancements
27
+ * Added xpath method to return to allow user to access path directly
28
+
29
+ === Version 0.6 / 2014-12-22
30
+ * Enhancements
31
+ * Added ability to call operation with hand rolled xml
32
+ * Disabled logging by default, setting log_level enables it
33
+
34
+ === Version 0.5.1 / 2013-6-1
35
+ * Enhancements
36
+ * Added body method to return the body of the result as a Hash
37
+
38
+ === Version 0.5 / 2013-6-1
39
+ * Enhancements
40
+ * Removed the body accessor
41
+ * Removed the body_xml method
42
+ * Added to_xml method to return the response as a String containing the XML
43
+ * Added to_hash method to return the respons as a Hash
44
+ * Added doc method to return response as a Nokogiri::XML::Document document
45
+ * Updated method_missing so when services methods are called the raw XML is returned
46
+
47
+ === Version 0.4 / 2013-3-18
48
+ * Enhancements
49
+ * Added body accessor to SoapObject to return raw body
50
+ * Added body_xml method to SoapObject to return Nokogiri::XML::Document containing body
51
+
52
+ === Version 0.3 / 2013-3-17
53
+ * Enhancements
54
+ * Added SoapObject::Factory to assist in creating new service objects
55
+ * Added accessor for @response
56
+
57
+ === Version 0.2 / 2013-3-11
58
+ * Enhancements
59
+ * Added ability to add XML to the soap header
60
+ * Added ability to set the encoding for the messages
61
+ * Added ability to use basic authentication
62
+ * Added ability to use digest authentication
63
+ * Added ability to set the log level
64
+
65
+ === Version 0.1 / 2013-3-4
66
+ Initial release
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in soap-object.gemspec
4
-
5
- gem 'rake'
6
- gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i
7
- gem 'growl'
8
- gem 'guard-rspec'
9
- gem 'guard-cucumber'
10
-
11
- gemspec
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in soap-object.gemspec
4
+
5
+ gem 'rake'
6
+ gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i
7
+ gem 'growl'
8
+ gem 'guard-rspec'
9
+ gem 'guard-cucumber'
10
+
11
+ gemspec
data/Guardfile CHANGED
@@ -1,17 +1,17 @@
1
- # A sample Guardfile
2
- # More info at https://github.com/guard/guard#readme
3
-
4
- guard 'rspec', :cli => '--color --format doc' do
5
- watch(%r{^spec/.+_spec\.rb$})
6
- watch(%r{^lib/(.+)\.rb$}) { "spec" }
7
- watch('spec/spec_helper.rb') { "spec" }
8
- end
9
-
10
-
11
- guard 'cucumber', :notification => true, :all_after_pass => false, :cli => '--profile focus' do
12
- watch(%r{^features/.+\.feature$})
13
- watch(%r{^features/support/.+$}) { 'features' }
14
- watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
15
- watch(%r{^lib/.+\.rb$}) { "features" }
16
- watch(%r{^cucumber.yml$}) { "features" }
17
- end
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'rspec', :cli => '--color --format doc' do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { "spec" }
7
+ watch('spec/spec_helper.rb') { "spec" }
8
+ end
9
+
10
+
11
+ guard 'cucumber', :notification => true, :all_after_pass => false, :cli => '--profile focus' do
12
+ watch(%r{^features/.+\.feature$})
13
+ watch(%r{^features/support/.+$}) { 'features' }
14
+ watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
15
+ watch(%r{^lib/.+\.rb$}) { "features" }
16
+ watch(%r{^cucumber.yml$}) { "features" }
17
+ end
@@ -1,22 +1,22 @@
1
- Copyright (c) 2013 Jeffrey S. Morgan
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
1
+ Copyright (c) 2013 Jeffrey S. Morgan
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
22
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,42 +1,131 @@
1
- # Soap::Object
2
-
3
- Module to make it simpler to tests SOAP web services. The goal is
4
- to abstract all information about how your call and parse results
5
- from the web service within the soap objects.
6
-
7
- ````ruby
8
- class AirportService
9
- include SoapObject
10
-
11
- wsdl 'http://www.webservicex.net/airport.asmx?WSDL'
12
-
13
- def get_airport_name_for(airport_code)
14
- response = get_airport_information_by_airport_code airport_code: airport_code
15
- doc = Nokogiri::XML(response)
16
- doc.xpath('//Table/CityOrAirportName').first.content
17
- end
18
- end
19
- ````
20
-
21
- ## Installation
22
-
23
- Add this line to your application's Gemfile:
24
-
25
- gem 'soap-object'
26
-
27
- And then execute:
28
-
29
- $ bundle
30
-
31
- Or install it yourself as:
32
-
33
- $ gem install soap-object
34
-
35
-
36
- ## Contributing
37
-
38
- 1. Fork it
39
- 2. Create your feature branch (`git checkout -b my-new-feature`)
40
- 3. Commit your changes (`git commit -am 'Add some feature'`)
41
- 4. Push to the branch (`git push origin my-new-feature`)
42
- 5. Create new Pull Request
1
+ # SoapObject
2
+
3
+ Module to make it simpler to tests SOAP web services. The goal is
4
+ to abstract all information about how your call and parse results
5
+ from the web service within the soap objects.
6
+
7
+ ## Defining a soap-object
8
+
9
+ ````ruby
10
+ class AirportService
11
+ include SoapObject
12
+
13
+ wsdl 'http://www.webservicex.net/airport.asmx?WSDL'
14
+
15
+ def airport_name
16
+ xpath('//Table/CityOrAirportName').first.content
17
+ end
18
+
19
+ end
20
+ ````
21
+
22
+ #### Client Properties
23
+
24
+ By default, the following properties are set on the Savon::Client:
25
+
26
+ ````ruby
27
+ log: false
28
+ ssl_verify_mode: :none
29
+ ssl_version: :SSLv3
30
+ ````
31
+
32
+ The following methods are available to set client properties:
33
+
34
+ ````ruby
35
+ proxy 'http://proxy.com:8080'
36
+ open_timeout 10
37
+ read_timeout 20
38
+ soap_header 'Token' => 'secret'
39
+ encoding 'UTF-16'
40
+ basic_auth 'steve', 'secret'
41
+ digest_auth 'digest', 'auth'
42
+ log_level :error
43
+ soap_version 2
44
+
45
+ ssl_options do |opts|
46
+ opts.verify_mode = :peer
47
+ opts.version = :SSLv2
48
+ end
49
+ ````
50
+
51
+ ## Usage
52
+
53
+ ````ruby
54
+ require 'soap-object'
55
+
56
+ service = AirportService.new
57
+
58
+ service.operations
59
+ #=> [:get_airport_information_by_iso_country_code,
60
+ # :get_airport_information_by_city_or_airport_name,
61
+ # :get_airport_information_by_country,
62
+ # :get_airport_information_by_airport_code]
63
+
64
+ service.get_airport_information_by_airport_code
65
+ #=> <Savon::Response>
66
+
67
+ ````
68
+
69
+ By default soap-object attempts to handle any missing method call by passing it through to the underlying Savon client. This enable the soap-object to handle calls to all operations on a given WSDL.
70
+
71
+
72
+ ## Using with Cucumber
73
+
74
+ Include the factory methods by placing the following line in the cucumber env.rb file.
75
+
76
+ ````ruby
77
+ World(SoapObject::Factory)
78
+ ````
79
+ By doing so, soap-object's methods are available in cucumbers step definitions.
80
+
81
+ ````ruby
82
+ When(/^I request the airport information for "([^"]*)"$/) do |airport_code|
83
+ using(AirportService).get_airport_information_by_airport_code({airport_code: airport_code})
84
+ end
85
+
86
+ Then(/^the airport name should be "([^"]*)"$/) do |airport_name|
87
+ expect(using(AirportService).airport_name).to be eq(airport_name)
88
+ end
89
+ ````
90
+
91
+ ## Parsing the response
92
+
93
+ Several methods exists on the soap-object to help parse the response.
94
+
95
+ Return the xml response
96
+ - to_xml
97
+
98
+ Return value at a specific path using xpath
99
+ - xpath(path)
100
+
101
+ Return the response as a Hash
102
+ - to_hash
103
+
104
+ Return the body of the message as a Hash
105
+ - body
106
+
107
+ Return the response as a Nokogiri document
108
+ - doc
109
+
110
+ ## Installation
111
+
112
+ Add this line to your application's Gemfile:
113
+
114
+ gem 'soap-object'
115
+
116
+ And then execute:
117
+
118
+ $ bundle
119
+
120
+ Or install it yourself as:
121
+
122
+ $ gem install soap-object
123
+
124
+
125
+ ## Contributing
126
+
127
+ 1. Fork it
128
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
129
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
130
+ 4. Push to the branch (`git push origin my-new-feature`)
131
+ 5. Create new Pull Request