soap-object 0.3 → 0.4

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,8 @@
1
+ === Version 0.4 / 2013-3-18
2
+ * Enhancements
3
+ * Added body accessor to SoapObject to return raw body
4
+ * Added body_xml method to SoapObject to return Nokogiri::XML::Document containing body
5
+
1
6
  === Version 0.3 / 2013-3-17
2
7
  * Enhancements
3
8
  * Added SoapObject::Factory to assist in creating new service objects
@@ -21,3 +21,14 @@ Feature: This describes the core functionality of the SoapObject object
21
21
  When I create an instance of the SoapObject class
22
22
  Then I should be able to make a call and receive the correct results
23
23
 
24
+ Scenario: Getting the body from a response
25
+ Given I have the url for a remote wsdl
26
+ When I create an instance of the SoapObject class
27
+ Then I should be able to make a call and receive the correct results
28
+ And the results body should contain "<NewDataSet><Table>"
29
+
30
+ Scenario: Getting the body from a response
31
+ Given I have the url for a remote wsdl
32
+ When I create an instance of the SoapObject class
33
+ Then I should be able to make a call and receive the correct results
34
+ And the results body xml should be a Nokogiri XML object
@@ -42,3 +42,11 @@ end
42
42
  Then /^I should be able to make a call and receive the correct results$/ do
43
43
  @so.get_airport_name_for('SFO').should == 'SAN FRANCISCO INTL'
44
44
  end
45
+
46
+ Then /^the results body should contain "(.*?)"$/ do |body|
47
+ @so.body.should include body
48
+ end
49
+
50
+ Then /^the results body xml should be a Nokogiri XML object$/ do
51
+ @so.body_xml.should be_instance_of Nokogiri::XML::Document
52
+ end
@@ -1,5 +1,5 @@
1
1
  module Soap
2
2
  module Object
3
- VERSION = "0.3"
3
+ VERSION = "0.4"
4
4
  end
5
5
  end
data/lib/soap-object.rb CHANGED
@@ -26,7 +26,7 @@ require 'soap-object/factory'
26
26
  # view all of the options.
27
27
  #
28
28
  module SoapObject
29
- attr_reader :wsdl, :response
29
+ attr_reader :wsdl, :response, :body
30
30
 
31
31
  def initialize
32
32
  @client = Savon.client(client_properties)
@@ -52,12 +52,20 @@ module SoapObject
52
52
  @client.operations
53
53
  end
54
54
 
55
+ #
56
+ # Return a Nokogiri::XML::Document containing the raw body.
57
+ #
58
+ def body_xml
59
+ Nokogiri::XML(body)
60
+ end
61
+
55
62
  private
56
63
 
57
64
  def method_missing(*args)
58
65
  method = args.shift
59
66
  @response = @client.call(method, {message: args.shift})
60
- body_for(method)
67
+ @body = body_for(method)
68
+ @body
61
69
  end
62
70
 
63
71
  def client_properties
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soap-object
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '0.4'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-18 00:00:00.000000000 Z
12
+ date: 2013-03-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: savon
@@ -101,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  segments:
103
103
  - 0
104
- hash: 2116803590669444452
104
+ hash: 1660955488053861236
105
105
  required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  segments:
112
112
  - 0
113
- hash: 2116803590669444452
113
+ hash: 1660955488053861236
114
114
  requirements: []
115
115
  rubyforge_project:
116
116
  rubygems_version: 1.8.25