savon 0.7.9 → 0.8.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
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
+