savon 0.7.9 → 0.8.0.beta.1

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.
Files changed (74) hide show
  1. data/.gitignore +9 -0
  2. data/.rspec +1 -0
  3. data/.yardopts +2 -0
  4. data/CHANGELOG.md +332 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +20 -0
  7. data/README.md +37 -0
  8. data/Rakefile +28 -39
  9. data/autotest/discover.rb +1 -0
  10. data/lib/savon.rb +10 -31
  11. data/lib/savon/client.rb +116 -98
  12. data/lib/savon/core_ext/array.rb +36 -22
  13. data/lib/savon/core_ext/datetime.rb +15 -6
  14. data/lib/savon/core_ext/hash.rb +122 -94
  15. data/lib/savon/core_ext/object.rb +19 -11
  16. data/lib/savon/core_ext/string.rb +62 -57
  17. data/lib/savon/core_ext/symbol.rb +13 -5
  18. data/lib/savon/error.rb +6 -0
  19. data/lib/savon/global.rb +75 -0
  20. data/lib/savon/http/error.rb +42 -0
  21. data/lib/savon/soap.rb +8 -283
  22. data/lib/savon/soap/fault.rb +48 -0
  23. data/lib/savon/soap/request.rb +61 -0
  24. data/lib/savon/soap/response.rb +65 -0
  25. data/lib/savon/soap/xml.rb +132 -0
  26. data/lib/savon/version.rb +2 -2
  27. data/lib/savon/wsdl/document.rb +107 -0
  28. data/lib/savon/wsdl/parser.rb +90 -0
  29. data/lib/savon/wsdl/request.rb +35 -0
  30. data/lib/savon/wsse.rb +42 -104
  31. data/savon.gemspec +26 -0
  32. data/spec/fixtures/response/response_fixture.rb +26 -26
  33. data/spec/fixtures/response/xml/list.xml +18 -0
  34. data/spec/fixtures/wsdl/wsdl_fixture.rb +6 -0
  35. data/spec/fixtures/wsdl/wsdl_fixture.yml +4 -4
  36. data/spec/savon/client_spec.rb +274 -51
  37. data/spec/savon/core_ext/datetime_spec.rb +1 -1
  38. data/spec/savon/core_ext/hash_spec.rb +40 -4
  39. data/spec/savon/core_ext/object_spec.rb +1 -1
  40. data/spec/savon/core_ext/string_spec.rb +0 -12
  41. data/spec/savon/http/error_spec.rb +52 -0
  42. data/spec/savon/savon_spec.rb +90 -0
  43. data/spec/savon/soap/fault_spec.rb +80 -0
  44. data/spec/savon/soap/request_spec.rb +45 -0
  45. data/spec/savon/soap/response_spec.rb +153 -0
  46. data/spec/savon/soap/xml_spec.rb +249 -0
  47. data/spec/savon/soap_spec.rb +4 -177
  48. data/spec/savon/{wsdl_spec.rb → wsdl/document_spec.rb} +54 -17
  49. data/spec/savon/wsdl/request_spec.rb +15 -0
  50. data/spec/savon/wsse_spec.rb +123 -92
  51. data/spec/spec_helper.rb +19 -4
  52. data/spec/support/endpoint.rb +25 -0
  53. metadata +97 -97
  54. data/.autotest +0 -5
  55. data/CHANGELOG +0 -176
  56. data/README.rdoc +0 -64
  57. data/lib/savon/core_ext.rb +0 -8
  58. data/lib/savon/core_ext/net_http.rb +0 -19
  59. data/lib/savon/core_ext/uri.rb +0 -10
  60. data/lib/savon/logger.rb +0 -56
  61. data/lib/savon/request.rb +0 -138
  62. data/lib/savon/response.rb +0 -174
  63. data/lib/savon/wsdl.rb +0 -137
  64. data/lib/savon/wsdl_stream.rb +0 -85
  65. data/spec/basic_spec_helper.rb +0 -11
  66. data/spec/endpoint_helper.rb +0 -23
  67. data/spec/http_stubs.rb +0 -26
  68. data/spec/integration/http_basic_auth_spec.rb +0 -16
  69. data/spec/integration/server.rb +0 -51
  70. data/spec/savon/core_ext/net_http_spec.rb +0 -38
  71. data/spec/savon/core_ext/uri_spec.rb +0 -19
  72. data/spec/savon/request_spec.rb +0 -117
  73. data/spec/savon/response_spec.rb +0 -179
  74. data/spec/spec.opts +0 -4
@@ -1,24 +1,65 @@
1
1
  require "spec_helper"
2
2
 
3
- describe Savon::WSDL do
4
- describe "a common WSDL document" do
5
- before { @wsdl = new_wsdl }
3
+ describe Savon::WSDL::Document do
6
4
 
7
- it "is initialized with a Savon::Request object" do
8
- Savon::WSDL.new Savon::Request.new(EndpointHelper.wsdl_endpoint)
5
+ context "with a remote document" do
6
+ let(:wsdl) { Savon::WSDL::Document.new HTTPI::Request.new, Endpoint.wsdl }
7
+ before { HTTPI.stubs(:get).returns(new_response) }
8
+
9
+ it "should be present" do
10
+ wsdl.should be_present
11
+ end
12
+
13
+ describe "#namespace" do
14
+ it "should return the namespace URI" do
15
+ wsdl.namespace.should == WSDLFixture.authentication(:namespace)
16
+ end
17
+ end
18
+
19
+ describe "#soap_actions" do
20
+ it "should return an Array of available SOAP actions" do
21
+ wsdl.soap_actions.should include(*WSDLFixture.authentication(:operations).keys)
22
+ end
23
+ end
24
+ end
25
+
26
+ context "with a local document" do
27
+ let(:wsdl) do
28
+ wsdl = "spec/fixtures/wsdl/xml/authentication.xml"
29
+ Savon::WSDL::Document.new HTTPI::Request.new, wsdl
30
+ end
31
+
32
+ before { HTTPI.expects(:get).never }
33
+
34
+ it "should be present" do
35
+ wsdl.should be_present
9
36
  end
10
37
 
11
- it "it accepts a custom SOAP endpoint" do
12
- wsdl = Savon::WSDL.new Savon::Request.new(EndpointHelper.wsdl_endpoint), "http://localhost"
13
- wsdl.soap_endpoint.should == "http://localhost"
38
+ describe "#namespace" do
39
+ it "should return the namespace URI" do
40
+ wsdl.namespace.should == WSDLFixture.authentication(:namespace)
41
+ end
14
42
  end
15
43
 
16
- it "is enabled by default" do
17
- @wsdl.enabled?.should be_true
44
+ describe "#soap_actions" do
45
+ it "should return an Array of available SOAP actions" do
46
+ wsdl.soap_actions.should include(*WSDLFixture.authentication(:operations).keys)
47
+ end
18
48
  end
49
+ end
50
+
51
+ def new_response(options = {})
52
+ defaults = { :code => 200, :headers => {}, :body => WSDLFixture.load }
53
+ response = defaults.merge options
54
+
55
+ HTTPI::Response.new(response[:code], response[:headers], response[:body])
56
+ end
57
+
58
+ end
59
+ __END__
19
60
 
20
61
  it "has a getter for the namespace URI" do
21
- @wsdl.namespace_uri.should == WSDLFixture.authentication(:namespace_uri)
62
+ @wsdl.namespace.should == WSDLFixture.authentication(:namespace_uri)
22
63
  end
23
64
 
24
65
  it "has a getter for returning an Array of available SOAP actions" do
@@ -40,8 +81,8 @@ describe Savon::WSDL do
40
81
  @wsdl.respond_to?(:some_undefined_method).should be_false
41
82
  end
42
83
 
43
- it "returns the raw WSDL document for to_s" do
44
- @wsdl.to_s.should == WSDLFixture.authentication
84
+ it "returns the raw WSDL document for to_xml" do
85
+ @wsdl.to_xml.should == WSDLFixture.authentication
45
86
  end
46
87
  end
47
88
 
@@ -99,9 +140,5 @@ describe Savon::WSDL do
99
140
  end
100
141
  end
101
142
 
102
- def new_wsdl(fixture = nil)
103
- endpoint = fixture ? EndpointHelper.wsdl_endpoint(fixture) : EndpointHelper.wsdl_endpoint
104
- Savon::WSDL.new Savon::Request.new(endpoint)
105
- end
106
143
 
107
144
  end
@@ -0,0 +1,15 @@
1
+ require "spec_helper"
2
+
3
+ describe Savon::WSDL::Request do
4
+ let(:http_request) { HTTPI::Request.new :url => Endpoint.wsdl }
5
+ let(:request) { Savon::WSDL::Request.new http_request }
6
+
7
+ describe "#response" do
8
+ it "execute an HTTP GET request and return the HTTPI::Response" do
9
+ response = HTTPI::Response.new 200, {}, ResponseFixture.authentication
10
+ HTTPI.expects(:get).with(http_request).returns(response)
11
+ request.response.should == response
12
+ end
13
+ end
14
+
15
+ end
@@ -1,130 +1,161 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Savon::WSSE do
4
- before do
5
- Savon::WSSE.username, Savon::WSSE.password, Savon::WSSE.digest = nil, nil, false
6
- @wsse, @username, @password = Savon::WSSE.new, "gorilla", "secret"
7
- end
8
-
9
- it "contains the namespace for WS Security Secext" do
10
- Savon::WSSE::WSENamespace.should be_a(String)
11
- Savon::WSSE::WSENamespace.should_not be_empty
12
- end
4
+ let(:wsse) { Savon::WSSE.new }
13
5
 
14
- it "contains the namespace for WS Security Utility" do
15
- Savon::WSSE::WSUNamespace.should be_a(String)
16
- Savon::WSSE::WSUNamespace.should_not be_empty
6
+ it "should contain the namespace for WS Security Secext" do
7
+ Savon::WSSE::WSENamespace.should ==
8
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
17
9
  end
18
10
 
19
- it "defaults to nil for the WSSE username (global setting)" do
20
- Savon::WSSE.username.should be_nil
11
+ it "should contain the namespace for WS Security Utility" do
12
+ Savon::WSSE::WSUNamespace.should ==
13
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
21
14
  end
22
15
 
23
- it "has both getter and setter for the WSSE username (global setting)" do
24
- Savon::WSSE.username = "gorilla"
25
- Savon::WSSE.username.should == "gorilla"
16
+ it "should contain the namespace for the PasswordText type" do
17
+ Savon::WSSE::PasswordTextURI.should ==
18
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"
26
19
  end
27
20
 
28
- it "defaults to nil for the WSSE password (global setting)" do
29
- Savon::WSSE.password.should be_nil
21
+ it "should contain the namespace for the PasswordDigest type" do
22
+ Savon::WSSE::PasswordDigestURI.should ==
23
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"
30
24
  end
31
25
 
32
- it "has both getter and setter for the WSSE password (global setting)" do
33
- Savon::WSSE.password = "secret"
34
- Savon::WSSE.password.should == "secret"
35
- end
26
+ describe "#credentials" do
27
+ it "should set the username" do
28
+ wsse.credentials "username", "password"
29
+ wsse.username.should == "username"
30
+ end
36
31
 
37
- it "defaults to nil for whether to use WSSE digest (global setting)" do
38
- Savon::WSSE.digest?.should be_false
39
- end
32
+ it "should set the password" do
33
+ wsse.credentials "username", "password"
34
+ wsse.password.should == "password"
35
+ end
40
36
 
41
- it "has both getter and setter for whether to use WSSE digest (global setting)" do
42
- Savon::WSSE.digest = true
43
- Savon::WSSE.digest?.should == true
44
- end
37
+ it "should default to set digest to false" do
38
+ wsse.credentials "username", "password"
39
+ wsse.should_not be_digest
40
+ end
45
41
 
46
- it "defaults to nil for the WSSE username" do
47
- @wsse.username.should be_nil
42
+ it "should set digest to true if specified" do
43
+ wsse.credentials "username", "password", :digest
44
+ wsse.should be_digest
45
+ end
48
46
  end
49
47
 
50
- it "has both getter and setter for the WSSE username" do
51
- @wsse.username = "gorilla"
52
- @wsse.username.should == "gorilla"
48
+ describe "#username" do
49
+ it "should set the username" do
50
+ wsse.username = "username"
51
+ wsse.username.should == "username"
52
+ end
53
53
  end
54
54
 
55
- it "defaults to nil for the WSSE password" do
56
- @wsse.password.should be_nil
55
+ describe "#password" do
56
+ it "should set the password" do
57
+ wsse.password = "password"
58
+ wsse.password.should == "password"
59
+ end
57
60
  end
58
61
 
59
- it "has both getter and setter for the WSSE password" do
60
- @wsse.password = "secret"
61
- @wsse.password.should == "secret"
62
- end
62
+ describe "#digest" do
63
+ it "should default to false" do
64
+ wsse.should_not be_digest
65
+ end
63
66
 
64
- it "defaults to nil for whether to use WSSE digest" do
65
- @wsse.digest?.should be_false
67
+ it "should specify whether to use digest auth" do
68
+ wsse.digest = true
69
+ wsse.should be_digest
70
+ end
66
71
  end
67
72
 
68
- it "has both getter and setter for whether to use WSSE digest" do
69
- @wsse.digest = true
70
- @wsse.digest?.should == true
71
- end
73
+ describe "#to_xml" do
74
+ context "with no credentials" do
75
+ it "should return an empty String" do
76
+ wsse.to_xml.should == ""
77
+ end
78
+ end
72
79
 
73
- describe "header" do
74
- describe "returns the XML for a WSSE authentication header" do
75
- it "with WSSE credentials specified" do
76
- @wsse.username = @username
77
- @wsse.password = @password
78
- header = @wsse.header
80
+ context "with only a username" do
81
+ before { wsse.username = "username" }
79
82
 
80
- header.should include_security_namespaces
81
- header.should include(@username)
82
- header.should include(@password)
83
- header.should include(Savon::WSSE::PasswordTextURI)
83
+ it "should return an empty String" do
84
+ wsse.to_xml.should == ""
84
85
  end
86
+ end
85
87
 
86
- it "with WSSE credentials specified via defaults" do
87
- Savon::WSSE.username = @username
88
- Savon::WSSE.password = @password
89
- header = @wsse.header
88
+ context "with only a password" do
89
+ before { wsse.password = "password" }
90
90
 
91
- header.should include_security_namespaces
92
- header.should include(@username)
93
- header.should include(@password)
94
- header.should include(Savon::WSSE::PasswordTextURI)
91
+ it "should return an empty String" do
92
+ wsse.to_xml.should == ""
95
93
  end
96
94
  end
97
95
 
98
- describe "returns the XML for a WSSE digest header if specified" do
99
- it "via accessors" do
100
- @wsse.username = @username
101
- @wsse.password = @password
102
- @wsse.digest = true
103
- header = @wsse.header
104
-
105
- header.should include_security_namespaces
106
- header.should include(@username)
107
- header.should_not include(@password)
108
- header.should include(Savon::WSSE::PasswordDigestURI)
109
- end
110
-
111
- it "via defaults" do
112
- @wsse.username = @username
113
- @wsse.password = @password
114
- Savon::WSSE.digest = true
115
- header = @wsse.header
116
-
117
- header.should include_security_namespaces
118
- header.should include(@username)
119
- header.should_not include(@password)
120
- header.should include(Savon::WSSE::PasswordDigestURI)
96
+ context "with credentials" do
97
+ before { wsse.credentials "username", "password" }
98
+
99
+ it "should contain a wsse:Security tag" do
100
+ namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
101
+ wsse.to_xml.should include("<wsse:Security xmlns:wsse=\"#{namespace}\">")
102
+ end
103
+
104
+ it "should contain a wsu:Id attribute" do
105
+ wsse.to_xml.should include('<wsse:UsernameToken wsu:Id="UsernameToken-1"')
106
+ end
107
+
108
+ it "should increment the wsu:Id attribute count" do
109
+ wsse.to_xml.should include('<wsse:UsernameToken wsu:Id="UsernameToken-1"')
110
+ wsse.to_xml.should include('<wsse:UsernameToken wsu:Id="UsernameToken-2"')
111
+ end
112
+
113
+ it "should contain the WSE and WSU namespaces" do
114
+ wsse.to_xml.should include(Savon::WSSE::WSENamespace, Savon::WSSE::WSUNamespace)
115
+ end
116
+
117
+ it "should contain the username and password" do
118
+ wsse.to_xml.should include("username", "password")
119
+ end
120
+
121
+ it "should contain a wsse:Nonce tag" do
122
+ wsse.to_xml.should match(/<wsse:Nonce>\w+<\/wsse:Nonce>/)
123
+ end
124
+
125
+ it "should contain a wsu:Created tag" do
126
+ wsse.to_xml.should match(/<wsu:Created>#{Savon::SOAP::DateTimeRegexp}.+<\/wsu:Created>/)
127
+ end
128
+
129
+ it "should contain the PasswordText type attribute" do
130
+ wsse.to_xml.should include(Savon::WSSE::PasswordTextURI)
121
131
  end
122
132
  end
123
133
 
124
- def include_security_namespaces
125
- simple_matcher("include security namespaces") do |given|
126
- given.should include(Savon::WSSE::WSENamespace)
127
- given.should include(Savon::WSSE::WSUNamespace)
134
+ context "with credentials and digest auth" do
135
+ before { wsse.credentials "username", "password", :digest }
136
+
137
+ it "should contain the WSE and WSU namespaces" do
138
+ wsse.to_xml.should include(Savon::WSSE::WSENamespace, Savon::WSSE::WSUNamespace)
139
+ end
140
+
141
+ it "should contain the username" do
142
+ wsse.to_xml.should include("username")
143
+ end
144
+
145
+ it "should not contain the (original) password" do
146
+ wsse.to_xml.should_not include("password")
147
+ end
148
+
149
+ it "should contain a wsse:Nonce tag" do
150
+ wsse.to_xml.should match(/<wsse:Nonce>\w+<\/wsse:Nonce>/)
151
+ end
152
+
153
+ it "should contain a wsu:Created tag" do
154
+ wsse.to_xml.should match(/<wsu:Created>#{Savon::SOAP::DateTimeRegexp}.+<\/wsu:Created>/)
155
+ end
156
+
157
+ it "should contain the PasswordDigest type attribute" do
158
+ wsse.to_xml.should include(Savon::WSSE::PasswordDigestURI)
128
159
  end
129
160
  end
130
161
  end
@@ -1,5 +1,20 @@
1
- require "basic_spec_helper"
1
+ require "rspec"
2
+ require "mocha"
2
3
 
3
- FileList["spec/fixtures/**/*.rb"].each { |fixture| require fixture }
4
- require "endpoint_helper"
5
- require "http_stubs"
4
+ spec = File.expand_path("..", __FILE__)
5
+ $:.unshift spec unless $:.include? spec
6
+
7
+ RSpec.configure do |config|
8
+ config.mock_with :mocha
9
+ end
10
+
11
+ require "savon"
12
+
13
+ # Disable logging for specs.
14
+ Savon.log = false
15
+
16
+ # Requires fixtures.
17
+ Dir[File.expand_path("../fixtures/**/*.rb", __FILE__)].each { |file| require file }
18
+
19
+ # Requires supporting files.
20
+ require "support/endpoint"
@@ -0,0 +1,25 @@
1
+ class Endpoint
2
+ class << self
3
+
4
+ # Returns the WSDL endpoint for a given +type+ of request.
5
+ def wsdl(type = nil)
6
+ case type
7
+ when :no_namespace then "http://nons.example.com/Service?wsdl"
8
+ when :namespaced_actions then "http://nsactions.example.com/Service?wsdl"
9
+ when :geotrust then "https://test-api.geotrust.com/webtrust/query.jws?WSDL"
10
+ else soap(type)
11
+ end
12
+ end
13
+
14
+ # Returns the SOAP endpoint for a given +type+ of request.
15
+ def soap(type = nil)
16
+ case type
17
+ when :soap_fault then "http://soapfault.example.com/Service?wsdl"
18
+ when :http_error then "http://httperror.example.com/Service?wsdl"
19
+ when :invalid then "http://invalid.example.com/Service?wsdl"
20
+ else "http://example.com/validation/1.0/AuthenticationService"
21
+ end
22
+ end
23
+
24
+ end
25
+ end
metadata CHANGED
@@ -1,12 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: savon
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 62196257
5
+ prerelease: true
5
6
  segments:
6
7
  - 0
7
- - 7
8
- - 9
9
- version: 0.7.9
8
+ - 8
9
+ - 0
10
+ - beta
11
+ - 1
12
+ version: 0.8.0.beta.1
10
13
  platform: ruby
11
14
  authors:
12
15
  - Daniel Harrington
@@ -14,16 +17,18 @@ autorequire:
14
17
  bindir: bin
15
18
  cert_chain: []
16
19
 
17
- date: 2010-06-14 00:00:00 +02:00
20
+ date: 2010-10-29 00:00:00 +02:00
18
21
  default_executable:
19
22
  dependencies:
20
23
  - !ruby/object:Gem::Dependency
21
24
  name: builder
22
25
  prerelease: false
23
26
  requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
24
28
  requirements:
25
- - - ">="
29
+ - - ~>
26
30
  - !ruby/object:Gem::Version
31
+ hash: 15
27
32
  segments:
28
33
  - 2
29
34
  - 1
@@ -35,179 +40,174 @@ dependencies:
35
40
  name: crack
36
41
  prerelease: false
37
42
  requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
38
44
  requirements:
39
- - - ">="
45
+ - - ~>
40
46
  - !ruby/object:Gem::Version
47
+ hash: 11
41
48
  segments:
42
49
  - 0
43
50
  - 1
44
- - 4
45
- version: 0.1.4
51
+ - 8
52
+ version: 0.1.8
46
53
  type: :runtime
47
54
  version_requirements: *id002
48
55
  - !ruby/object:Gem::Dependency
49
- name: rspec
56
+ name: httpi
50
57
  prerelease: false
51
58
  requirement: &id003 !ruby/object:Gem::Requirement
59
+ none: false
52
60
  requirements:
53
61
  - - ">="
54
62
  - !ruby/object:Gem::Version
63
+ hash: 7
55
64
  segments:
56
- - 1
57
- - 2
58
- - 8
59
- version: 1.2.8
60
- type: :development
65
+ - 0
66
+ - 6
67
+ - 0
68
+ version: 0.6.0
69
+ type: :runtime
61
70
  version_requirements: *id003
62
71
  - !ruby/object:Gem::Dependency
63
- name: mocha
72
+ name: rspec
64
73
  prerelease: false
65
74
  requirement: &id004 !ruby/object:Gem::Requirement
75
+ none: false
66
76
  requirements:
67
- - - ">="
77
+ - - ~>
68
78
  - !ruby/object:Gem::Version
79
+ hash: 15
69
80
  segments:
81
+ - 2
70
82
  - 0
71
- - 9
72
- - 7
73
- version: 0.9.7
83
+ - 0
84
+ version: 2.0.0
74
85
  type: :development
75
86
  version_requirements: *id004
76
87
  - !ruby/object:Gem::Dependency
77
- name: fakeweb
88
+ name: mocha
78
89
  prerelease: false
79
90
  requirement: &id005 !ruby/object:Gem::Requirement
91
+ none: false
80
92
  requirements:
81
- - - ">="
93
+ - - ~>
82
94
  - !ruby/object:Gem::Version
95
+ hash: 53
83
96
  segments:
84
- - 1
85
- - 2
97
+ - 0
98
+ - 9
86
99
  - 7
87
- version: 1.2.7
100
+ version: 0.9.7
88
101
  type: :development
89
102
  version_requirements: *id005
90
- description:
103
+ description: Savon is the heavy metal Ruby SOAP client.
91
104
  email: me@rubiii.com
92
105
  executables: []
93
106
 
94
107
  extensions: []
95
108
 
96
- extra_rdoc_files:
97
- - README.rdoc
109
+ extra_rdoc_files: []
110
+
98
111
  files:
99
- - CHANGELOG
112
+ - .gitignore
113
+ - .rspec
114
+ - .yardopts
115
+ - CHANGELOG.md
116
+ - Gemfile
117
+ - LICENSE
118
+ - README.md
100
119
  - Rakefile
101
- - README.rdoc
120
+ - autotest/discover.rb
121
+ - lib/savon.rb
102
122
  - lib/savon/client.rb
103
123
  - lib/savon/core_ext/array.rb
104
124
  - lib/savon/core_ext/datetime.rb
105
125
  - lib/savon/core_ext/hash.rb
106
- - lib/savon/core_ext/net_http.rb
107
126
  - lib/savon/core_ext/object.rb
108
127
  - lib/savon/core_ext/string.rb
109
128
  - lib/savon/core_ext/symbol.rb
110
- - lib/savon/core_ext/uri.rb
111
- - lib/savon/core_ext.rb
112
- - lib/savon/logger.rb
113
- - lib/savon/request.rb
114
- - lib/savon/response.rb
129
+ - lib/savon/error.rb
130
+ - lib/savon/global.rb
131
+ - lib/savon/http/error.rb
115
132
  - lib/savon/soap.rb
133
+ - lib/savon/soap/fault.rb
134
+ - lib/savon/soap/request.rb
135
+ - lib/savon/soap/response.rb
136
+ - lib/savon/soap/xml.rb
116
137
  - lib/savon/version.rb
117
- - lib/savon/wsdl.rb
118
- - lib/savon/wsdl_stream.rb
138
+ - lib/savon/wsdl/document.rb
139
+ - lib/savon/wsdl/parser.rb
140
+ - lib/savon/wsdl/request.rb
119
141
  - lib/savon/wsse.rb
120
- - lib/savon.rb
121
- - spec/basic_spec_helper.rb
122
- - spec/endpoint_helper.rb
142
+ - savon.gemspec
123
143
  - spec/fixtures/gzip/gzip_response_fixture.rb
144
+ - spec/fixtures/gzip/message.gz
124
145
  - spec/fixtures/response/response_fixture.rb
146
+ - spec/fixtures/response/xml/authentication.xml
147
+ - spec/fixtures/response/xml/list.xml
148
+ - spec/fixtures/response/xml/multi_ref.xml
149
+ - spec/fixtures/response/xml/soap_fault.xml
150
+ - spec/fixtures/response/xml/soap_fault12.xml
125
151
  - spec/fixtures/wsdl/wsdl_fixture.rb
126
- - spec/http_stubs.rb
127
- - spec/integration/http_basic_auth_spec.rb
128
- - spec/integration/server.rb
152
+ - spec/fixtures/wsdl/wsdl_fixture.yml
153
+ - spec/fixtures/wsdl/xml/authentication.xml
154
+ - spec/fixtures/wsdl/xml/geotrust.xml
155
+ - spec/fixtures/wsdl/xml/namespaced_actions.xml
156
+ - spec/fixtures/wsdl/xml/no_namespace.xml
129
157
  - spec/savon/client_spec.rb
130
158
  - spec/savon/core_ext/array_spec.rb
131
159
  - spec/savon/core_ext/datetime_spec.rb
132
160
  - spec/savon/core_ext/hash_spec.rb
133
- - spec/savon/core_ext/net_http_spec.rb
134
161
  - spec/savon/core_ext/object_spec.rb
135
162
  - spec/savon/core_ext/string_spec.rb
136
163
  - spec/savon/core_ext/symbol_spec.rb
137
- - spec/savon/core_ext/uri_spec.rb
138
- - spec/savon/request_spec.rb
139
- - spec/savon/response_spec.rb
164
+ - spec/savon/http/error_spec.rb
165
+ - spec/savon/savon_spec.rb
166
+ - spec/savon/soap/fault_spec.rb
167
+ - spec/savon/soap/request_spec.rb
168
+ - spec/savon/soap/response_spec.rb
169
+ - spec/savon/soap/xml_spec.rb
140
170
  - spec/savon/soap_spec.rb
141
- - spec/savon/wsdl_spec.rb
171
+ - spec/savon/wsdl/document_spec.rb
172
+ - spec/savon/wsdl/request_spec.rb
142
173
  - spec/savon/wsse_spec.rb
143
174
  - spec/spec_helper.rb
144
- - spec/fixtures/response/xml/authentication.xml
145
- - spec/fixtures/response/xml/multi_ref.xml
146
- - spec/fixtures/response/xml/soap_fault.xml
147
- - spec/fixtures/response/xml/soap_fault12.xml
148
- - spec/fixtures/wsdl/xml/authentication.xml
149
- - spec/fixtures/wsdl/xml/geotrust.xml
150
- - spec/fixtures/wsdl/xml/namespaced_actions.xml
151
- - spec/fixtures/wsdl/xml/no_namespace.xml
152
- - spec/fixtures/wsdl/wsdl_fixture.yml
153
- - spec/fixtures/gzip/message.gz
154
- - .autotest
155
- - spec/spec.opts
175
+ - spec/support/endpoint.rb
156
176
  has_rdoc: true
157
177
  homepage: http://github.com/rubiii/savon
158
178
  licenses: []
159
179
 
160
180
  post_install_message:
161
- rdoc_options:
162
- - --charset=UTF-8
163
- - --line-numbers
164
- - --inline-source
165
- - --title
166
- - Savon - Heavy metal Ruby SOAP client library
181
+ rdoc_options: []
182
+
167
183
  require_paths:
168
184
  - lib
169
185
  required_ruby_version: !ruby/object:Gem::Requirement
186
+ none: false
170
187
  requirements:
171
188
  - - ">="
172
189
  - !ruby/object:Gem::Version
190
+ hash: 3
173
191
  segments:
174
192
  - 0
175
193
  version: "0"
176
194
  required_rubygems_version: !ruby/object:Gem::Requirement
195
+ none: false
177
196
  requirements:
178
- - - ">="
197
+ - - ">"
179
198
  - !ruby/object:Gem::Version
199
+ hash: 25
180
200
  segments:
181
- - 0
182
- version: "0"
201
+ - 1
202
+ - 3
203
+ - 1
204
+ version: 1.3.1
183
205
  requirements: []
184
206
 
185
- rubyforge_project:
186
- rubygems_version: 1.3.6
207
+ rubyforge_project: savon
208
+ rubygems_version: 1.3.7
187
209
  signing_key:
188
210
  specification_version: 3
189
- summary: Heavy metal Ruby SOAP client library
190
- test_files:
191
- - spec/basic_spec_helper.rb
192
- - spec/endpoint_helper.rb
193
- - spec/fixtures/gzip/gzip_response_fixture.rb
194
- - spec/fixtures/response/response_fixture.rb
195
- - spec/fixtures/wsdl/wsdl_fixture.rb
196
- - spec/http_stubs.rb
197
- - spec/integration/http_basic_auth_spec.rb
198
- - spec/integration/server.rb
199
- - spec/savon/client_spec.rb
200
- - spec/savon/core_ext/array_spec.rb
201
- - spec/savon/core_ext/datetime_spec.rb
202
- - spec/savon/core_ext/hash_spec.rb
203
- - spec/savon/core_ext/net_http_spec.rb
204
- - spec/savon/core_ext/object_spec.rb
205
- - spec/savon/core_ext/string_spec.rb
206
- - spec/savon/core_ext/symbol_spec.rb
207
- - spec/savon/core_ext/uri_spec.rb
208
- - spec/savon/request_spec.rb
209
- - spec/savon/response_spec.rb
210
- - spec/savon/soap_spec.rb
211
- - spec/savon/wsdl_spec.rb
212
- - spec/savon/wsse_spec.rb
213
- - spec/spec_helper.rb
211
+ summary: Heavy metal Ruby SOAP client
212
+ test_files: []
213
+