soap-object 0.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.
- data/.gitignore +19 -0
- data/.rspec +2 -0
- data/.rvmrc +1 -0
- data/ChangeLog +2 -0
- data/Gemfile +11 -0
- data/Guardfile +17 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +21 -0
- data/cucumber.yml +6 -0
- data/features/basic_functionality.feature +23 -0
- data/features/step_definitions/basic_functionality_steps.rb +39 -0
- data/features/support/env.rb +5 -0
- data/features/wsdl/airport.asmx.wsdl.xml +372 -0
- data/lib/soap-object.rb +55 -0
- data/lib/soap-object/class_methods.rb +33 -0
- data/lib/soap-object/version.rb +5 -0
- data/soap-object.gemspec +24 -0
- data/spec/lib/soap_object_spec.rb +56 -0
- data/spec/spec_helper.rb +6 -0
- metadata +125 -0
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm --create use 1.9.3-p392@soap-object
|
data/ChangeLog
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
@@ -0,0 +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
|
data/LICENSE.txt
ADDED
@@ -0,0 +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
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Soap::Object
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'soap-object'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install soap-object
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
require 'cucumber'
|
5
|
+
require 'cucumber/rake/task'
|
6
|
+
|
7
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
8
|
+
spec.ruby_opts = "-I lib:spec"
|
9
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
10
|
+
end
|
11
|
+
task :spec
|
12
|
+
|
13
|
+
Cucumber::Rake::Task.new(:features, "Run all features") do |t|
|
14
|
+
t.profile = 'focus'
|
15
|
+
end
|
16
|
+
|
17
|
+
desc 'Run all specs and features'
|
18
|
+
task :test => %w[spec features]
|
19
|
+
|
20
|
+
task :default => :test
|
21
|
+
|
data/cucumber.yml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
@focus
|
2
|
+
Feature: This describes the core functionality of the SoapObject object
|
3
|
+
|
4
|
+
Scenario: Establishing communications with remote wsdl
|
5
|
+
Given I have the url for a remote wsdl
|
6
|
+
When I create an instance of the SoapObject class
|
7
|
+
Then I should have a connection
|
8
|
+
|
9
|
+
Scenario: Establishing communications with a local wsdl
|
10
|
+
Given I have a wsdl file residing locally
|
11
|
+
When I create an instance of the SoapObject class
|
12
|
+
Then I should have a connection
|
13
|
+
|
14
|
+
Scenario: Providing operations when using wsdl
|
15
|
+
Given I have the url for a remote wsdl
|
16
|
+
When I create an instance of the SoapObject class
|
17
|
+
Then I should be able to determine the operations
|
18
|
+
|
19
|
+
Scenario: Calling a service when using wsdl
|
20
|
+
Given I have the url for a remote wsdl
|
21
|
+
When I create an instance of the SoapObject class
|
22
|
+
Then I should be able to make a call and receive the correct results
|
23
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class TestServiceWithWsdl
|
2
|
+
include SoapObject
|
3
|
+
|
4
|
+
wsdl 'http://www.webservicex.net/airport.asmx?WSDL'
|
5
|
+
end
|
6
|
+
|
7
|
+
class TestServiceWithLocalWsdl
|
8
|
+
include SoapObject
|
9
|
+
|
10
|
+
wsdl "#{File.dirname(__FILE__)}/../wsdl/airport.asmx.wsdl"
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
Given /^I have the url for a remote wsdl$/ do
|
16
|
+
@cls = TestServiceWithWsdl
|
17
|
+
end
|
18
|
+
|
19
|
+
Given /^I have a wsdl file residing locally$/ do
|
20
|
+
@cls = TestServiceWithLocalWsdl
|
21
|
+
end
|
22
|
+
|
23
|
+
When /^I create an instance of the SoapObject class$/ do
|
24
|
+
@so = @cls.new
|
25
|
+
end
|
26
|
+
|
27
|
+
Then /^I should have a connection$/ do
|
28
|
+
@so.should be_connected
|
29
|
+
end
|
30
|
+
|
31
|
+
Then /^I should be able to determine the operations$/ do
|
32
|
+
@so.operations.should include :get_airport_information_by_airport_code
|
33
|
+
end
|
34
|
+
|
35
|
+
Then /^I should be able to make a call and receive the correct results$/ do
|
36
|
+
response = @so.get_airport_information_by_airport_code airport_code: 'SFO'
|
37
|
+
doc = Nokogiri::XML(response)
|
38
|
+
doc.xpath('//Table/AirportCode').first.content.should == 'SFO'
|
39
|
+
end
|
@@ -0,0 +1,372 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webserviceX.NET" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webserviceX.NET" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
3
|
+
<wsdl:types>
|
4
|
+
<s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET">
|
5
|
+
<s:element name="getAirportInformationByISOCountryCode">
|
6
|
+
<s:complexType>
|
7
|
+
<s:sequence>
|
8
|
+
<s:element minOccurs="0" maxOccurs="1" name="CountryAbbrviation" type="s:string" />
|
9
|
+
</s:sequence>
|
10
|
+
</s:complexType>
|
11
|
+
</s:element>
|
12
|
+
<s:element name="getAirportInformationByISOCountryCodeResponse">
|
13
|
+
<s:complexType>
|
14
|
+
<s:sequence>
|
15
|
+
<s:element minOccurs="0" maxOccurs="1" name="getAirportInformationByISOCountryCodeResult" type="s:string" />
|
16
|
+
</s:sequence>
|
17
|
+
</s:complexType>
|
18
|
+
</s:element>
|
19
|
+
<s:element name="getAirportInformationByCityOrAirportName">
|
20
|
+
<s:complexType>
|
21
|
+
<s:sequence>
|
22
|
+
<s:element minOccurs="0" maxOccurs="1" name="cityOrAirportName" type="s:string" />
|
23
|
+
</s:sequence>
|
24
|
+
</s:complexType>
|
25
|
+
</s:element>
|
26
|
+
<s:element name="getAirportInformationByCityOrAirportNameResponse">
|
27
|
+
<s:complexType>
|
28
|
+
<s:sequence>
|
29
|
+
<s:element minOccurs="0" maxOccurs="1" name="getAirportInformationByCityOrAirportNameResult" type="s:string" />
|
30
|
+
</s:sequence>
|
31
|
+
</s:complexType>
|
32
|
+
</s:element>
|
33
|
+
<s:element name="GetAirportInformationByCountry">
|
34
|
+
<s:complexType>
|
35
|
+
<s:sequence>
|
36
|
+
<s:element minOccurs="0" maxOccurs="1" name="country" type="s:string" />
|
37
|
+
</s:sequence>
|
38
|
+
</s:complexType>
|
39
|
+
</s:element>
|
40
|
+
<s:element name="GetAirportInformationByCountryResponse">
|
41
|
+
<s:complexType>
|
42
|
+
<s:sequence>
|
43
|
+
<s:element minOccurs="0" maxOccurs="1" name="GetAirportInformationByCountryResult" type="s:string" />
|
44
|
+
</s:sequence>
|
45
|
+
</s:complexType>
|
46
|
+
</s:element>
|
47
|
+
<s:element name="getAirportInformationByAirportCode">
|
48
|
+
<s:complexType>
|
49
|
+
<s:sequence>
|
50
|
+
<s:element minOccurs="0" maxOccurs="1" name="airportCode" type="s:string" />
|
51
|
+
</s:sequence>
|
52
|
+
</s:complexType>
|
53
|
+
</s:element>
|
54
|
+
<s:element name="getAirportInformationByAirportCodeResponse">
|
55
|
+
<s:complexType>
|
56
|
+
<s:sequence>
|
57
|
+
<s:element minOccurs="0" maxOccurs="1" name="getAirportInformationByAirportCodeResult" type="s:string" />
|
58
|
+
</s:sequence>
|
59
|
+
</s:complexType>
|
60
|
+
</s:element>
|
61
|
+
<s:element name="string" nillable="true" type="s:string" />
|
62
|
+
</s:schema>
|
63
|
+
</wsdl:types>
|
64
|
+
<wsdl:message name="getAirportInformationByISOCountryCodeSoapIn">
|
65
|
+
<wsdl:part name="parameters" element="tns:getAirportInformationByISOCountryCode" />
|
66
|
+
</wsdl:message>
|
67
|
+
<wsdl:message name="getAirportInformationByISOCountryCodeSoapOut">
|
68
|
+
<wsdl:part name="parameters" element="tns:getAirportInformationByISOCountryCodeResponse" />
|
69
|
+
</wsdl:message>
|
70
|
+
<wsdl:message name="getAirportInformationByCityOrAirportNameSoapIn">
|
71
|
+
<wsdl:part name="parameters" element="tns:getAirportInformationByCityOrAirportName" />
|
72
|
+
</wsdl:message>
|
73
|
+
<wsdl:message name="getAirportInformationByCityOrAirportNameSoapOut">
|
74
|
+
<wsdl:part name="parameters" element="tns:getAirportInformationByCityOrAirportNameResponse" />
|
75
|
+
</wsdl:message>
|
76
|
+
<wsdl:message name="GetAirportInformationByCountrySoapIn">
|
77
|
+
<wsdl:part name="parameters" element="tns:GetAirportInformationByCountry" />
|
78
|
+
</wsdl:message>
|
79
|
+
<wsdl:message name="GetAirportInformationByCountrySoapOut">
|
80
|
+
<wsdl:part name="parameters" element="tns:GetAirportInformationByCountryResponse" />
|
81
|
+
</wsdl:message>
|
82
|
+
<wsdl:message name="getAirportInformationByAirportCodeSoapIn">
|
83
|
+
<wsdl:part name="parameters" element="tns:getAirportInformationByAirportCode" />
|
84
|
+
</wsdl:message>
|
85
|
+
<wsdl:message name="getAirportInformationByAirportCodeSoapOut">
|
86
|
+
<wsdl:part name="parameters" element="tns:getAirportInformationByAirportCodeResponse" />
|
87
|
+
</wsdl:message>
|
88
|
+
<wsdl:message name="getAirportInformationByISOCountryCodeHttpGetIn">
|
89
|
+
<wsdl:part name="CountryAbbrviation" type="s:string" />
|
90
|
+
</wsdl:message>
|
91
|
+
<wsdl:message name="getAirportInformationByISOCountryCodeHttpGetOut">
|
92
|
+
<wsdl:part name="Body" element="tns:string" />
|
93
|
+
</wsdl:message>
|
94
|
+
<wsdl:message name="getAirportInformationByCityOrAirportNameHttpGetIn">
|
95
|
+
<wsdl:part name="cityOrAirportName" type="s:string" />
|
96
|
+
</wsdl:message>
|
97
|
+
<wsdl:message name="getAirportInformationByCityOrAirportNameHttpGetOut">
|
98
|
+
<wsdl:part name="Body" element="tns:string" />
|
99
|
+
</wsdl:message>
|
100
|
+
<wsdl:message name="GetAirportInformationByCountryHttpGetIn">
|
101
|
+
<wsdl:part name="country" type="s:string" />
|
102
|
+
</wsdl:message>
|
103
|
+
<wsdl:message name="GetAirportInformationByCountryHttpGetOut">
|
104
|
+
<wsdl:part name="Body" element="tns:string" />
|
105
|
+
</wsdl:message>
|
106
|
+
<wsdl:message name="getAirportInformationByAirportCodeHttpGetIn">
|
107
|
+
<wsdl:part name="airportCode" type="s:string" />
|
108
|
+
</wsdl:message>
|
109
|
+
<wsdl:message name="getAirportInformationByAirportCodeHttpGetOut">
|
110
|
+
<wsdl:part name="Body" element="tns:string" />
|
111
|
+
</wsdl:message>
|
112
|
+
<wsdl:message name="getAirportInformationByISOCountryCodeHttpPostIn">
|
113
|
+
<wsdl:part name="CountryAbbrviation" type="s:string" />
|
114
|
+
</wsdl:message>
|
115
|
+
<wsdl:message name="getAirportInformationByISOCountryCodeHttpPostOut">
|
116
|
+
<wsdl:part name="Body" element="tns:string" />
|
117
|
+
</wsdl:message>
|
118
|
+
<wsdl:message name="getAirportInformationByCityOrAirportNameHttpPostIn">
|
119
|
+
<wsdl:part name="cityOrAirportName" type="s:string" />
|
120
|
+
</wsdl:message>
|
121
|
+
<wsdl:message name="getAirportInformationByCityOrAirportNameHttpPostOut">
|
122
|
+
<wsdl:part name="Body" element="tns:string" />
|
123
|
+
</wsdl:message>
|
124
|
+
<wsdl:message name="GetAirportInformationByCountryHttpPostIn">
|
125
|
+
<wsdl:part name="country" type="s:string" />
|
126
|
+
</wsdl:message>
|
127
|
+
<wsdl:message name="GetAirportInformationByCountryHttpPostOut">
|
128
|
+
<wsdl:part name="Body" element="tns:string" />
|
129
|
+
</wsdl:message>
|
130
|
+
<wsdl:message name="getAirportInformationByAirportCodeHttpPostIn">
|
131
|
+
<wsdl:part name="airportCode" type="s:string" />
|
132
|
+
</wsdl:message>
|
133
|
+
<wsdl:message name="getAirportInformationByAirportCodeHttpPostOut">
|
134
|
+
<wsdl:part name="Body" element="tns:string" />
|
135
|
+
</wsdl:message>
|
136
|
+
<wsdl:portType name="airportSoap">
|
137
|
+
<wsdl:operation name="getAirportInformationByISOCountryCode">
|
138
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by ISO country code </wsdl:documentation>
|
139
|
+
<wsdl:input message="tns:getAirportInformationByISOCountryCodeSoapIn" />
|
140
|
+
<wsdl:output message="tns:getAirportInformationByISOCountryCodeSoapOut" />
|
141
|
+
</wsdl:operation>
|
142
|
+
<wsdl:operation name="getAirportInformationByCityOrAirportName">
|
143
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by city or airport name </wsdl:documentation>
|
144
|
+
<wsdl:input message="tns:getAirportInformationByCityOrAirportNameSoapIn" />
|
145
|
+
<wsdl:output message="tns:getAirportInformationByCityOrAirportNameSoapOut" />
|
146
|
+
</wsdl:operation>
|
147
|
+
<wsdl:operation name="GetAirportInformationByCountry">
|
148
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by country name </wsdl:documentation>
|
149
|
+
<wsdl:input message="tns:GetAirportInformationByCountrySoapIn" />
|
150
|
+
<wsdl:output message="tns:GetAirportInformationByCountrySoapOut" />
|
151
|
+
</wsdl:operation>
|
152
|
+
<wsdl:operation name="getAirportInformationByAirportCode">
|
153
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by airport code </wsdl:documentation>
|
154
|
+
<wsdl:input message="tns:getAirportInformationByAirportCodeSoapIn" />
|
155
|
+
<wsdl:output message="tns:getAirportInformationByAirportCodeSoapOut" />
|
156
|
+
</wsdl:operation>
|
157
|
+
</wsdl:portType>
|
158
|
+
<wsdl:portType name="airportHttpGet">
|
159
|
+
<wsdl:operation name="getAirportInformationByISOCountryCode">
|
160
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by ISO country code </wsdl:documentation>
|
161
|
+
<wsdl:input message="tns:getAirportInformationByISOCountryCodeHttpGetIn" />
|
162
|
+
<wsdl:output message="tns:getAirportInformationByISOCountryCodeHttpGetOut" />
|
163
|
+
</wsdl:operation>
|
164
|
+
<wsdl:operation name="getAirportInformationByCityOrAirportName">
|
165
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by city or airport name </wsdl:documentation>
|
166
|
+
<wsdl:input message="tns:getAirportInformationByCityOrAirportNameHttpGetIn" />
|
167
|
+
<wsdl:output message="tns:getAirportInformationByCityOrAirportNameHttpGetOut" />
|
168
|
+
</wsdl:operation>
|
169
|
+
<wsdl:operation name="GetAirportInformationByCountry">
|
170
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by country name </wsdl:documentation>
|
171
|
+
<wsdl:input message="tns:GetAirportInformationByCountryHttpGetIn" />
|
172
|
+
<wsdl:output message="tns:GetAirportInformationByCountryHttpGetOut" />
|
173
|
+
</wsdl:operation>
|
174
|
+
<wsdl:operation name="getAirportInformationByAirportCode">
|
175
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by airport code </wsdl:documentation>
|
176
|
+
<wsdl:input message="tns:getAirportInformationByAirportCodeHttpGetIn" />
|
177
|
+
<wsdl:output message="tns:getAirportInformationByAirportCodeHttpGetOut" />
|
178
|
+
</wsdl:operation>
|
179
|
+
</wsdl:portType>
|
180
|
+
<wsdl:portType name="airportHttpPost">
|
181
|
+
<wsdl:operation name="getAirportInformationByISOCountryCode">
|
182
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by ISO country code </wsdl:documentation>
|
183
|
+
<wsdl:input message="tns:getAirportInformationByISOCountryCodeHttpPostIn" />
|
184
|
+
<wsdl:output message="tns:getAirportInformationByISOCountryCodeHttpPostOut" />
|
185
|
+
</wsdl:operation>
|
186
|
+
<wsdl:operation name="getAirportInformationByCityOrAirportName">
|
187
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by city or airport name </wsdl:documentation>
|
188
|
+
<wsdl:input message="tns:getAirportInformationByCityOrAirportNameHttpPostIn" />
|
189
|
+
<wsdl:output message="tns:getAirportInformationByCityOrAirportNameHttpPostOut" />
|
190
|
+
</wsdl:operation>
|
191
|
+
<wsdl:operation name="GetAirportInformationByCountry">
|
192
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by country name </wsdl:documentation>
|
193
|
+
<wsdl:input message="tns:GetAirportInformationByCountryHttpPostIn" />
|
194
|
+
<wsdl:output message="tns:GetAirportInformationByCountryHttpPostOut" />
|
195
|
+
</wsdl:operation>
|
196
|
+
<wsdl:operation name="getAirportInformationByAirportCode">
|
197
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Airport Code, CityOrAirport Name, Country, Country Abbrv, CountryCode,GMT Offset Runway Length in Feet, Runway Elevation in Feet,Latitude in Degree,Latitude in Minute Latitude in Second,Latitude in N/S, Longitude in Degree, Longitude in Minute, Longitude in Seconds and longitude E/W by airport code </wsdl:documentation>
|
198
|
+
<wsdl:input message="tns:getAirportInformationByAirportCodeHttpPostIn" />
|
199
|
+
<wsdl:output message="tns:getAirportInformationByAirportCodeHttpPostOut" />
|
200
|
+
</wsdl:operation>
|
201
|
+
</wsdl:portType>
|
202
|
+
<wsdl:binding name="airportSoap" type="tns:airportSoap">
|
203
|
+
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
204
|
+
<wsdl:operation name="getAirportInformationByISOCountryCode">
|
205
|
+
<soap:operation soapAction="http://www.webserviceX.NET/getAirportInformationByISOCountryCode" style="document" />
|
206
|
+
<wsdl:input>
|
207
|
+
<soap:body use="literal" />
|
208
|
+
</wsdl:input>
|
209
|
+
<wsdl:output>
|
210
|
+
<soap:body use="literal" />
|
211
|
+
</wsdl:output>
|
212
|
+
</wsdl:operation>
|
213
|
+
<wsdl:operation name="getAirportInformationByCityOrAirportName">
|
214
|
+
<soap:operation soapAction="http://www.webserviceX.NET/getAirportInformationByCityOrAirportName" style="document" />
|
215
|
+
<wsdl:input>
|
216
|
+
<soap:body use="literal" />
|
217
|
+
</wsdl:input>
|
218
|
+
<wsdl:output>
|
219
|
+
<soap:body use="literal" />
|
220
|
+
</wsdl:output>
|
221
|
+
</wsdl:operation>
|
222
|
+
<wsdl:operation name="GetAirportInformationByCountry">
|
223
|
+
<soap:operation soapAction="http://www.webserviceX.NET/GetAirportInformationByCountry" style="document" />
|
224
|
+
<wsdl:input>
|
225
|
+
<soap:body use="literal" />
|
226
|
+
</wsdl:input>
|
227
|
+
<wsdl:output>
|
228
|
+
<soap:body use="literal" />
|
229
|
+
</wsdl:output>
|
230
|
+
</wsdl:operation>
|
231
|
+
<wsdl:operation name="getAirportInformationByAirportCode">
|
232
|
+
<soap:operation soapAction="http://www.webserviceX.NET/getAirportInformationByAirportCode" style="document" />
|
233
|
+
<wsdl:input>
|
234
|
+
<soap:body use="literal" />
|
235
|
+
</wsdl:input>
|
236
|
+
<wsdl:output>
|
237
|
+
<soap:body use="literal" />
|
238
|
+
</wsdl:output>
|
239
|
+
</wsdl:operation>
|
240
|
+
</wsdl:binding>
|
241
|
+
<wsdl:binding name="airportSoap12" type="tns:airportSoap">
|
242
|
+
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
243
|
+
<wsdl:operation name="getAirportInformationByISOCountryCode">
|
244
|
+
<soap12:operation soapAction="http://www.webserviceX.NET/getAirportInformationByISOCountryCode" style="document" />
|
245
|
+
<wsdl:input>
|
246
|
+
<soap12:body use="literal" />
|
247
|
+
</wsdl:input>
|
248
|
+
<wsdl:output>
|
249
|
+
<soap12:body use="literal" />
|
250
|
+
</wsdl:output>
|
251
|
+
</wsdl:operation>
|
252
|
+
<wsdl:operation name="getAirportInformationByCityOrAirportName">
|
253
|
+
<soap12:operation soapAction="http://www.webserviceX.NET/getAirportInformationByCityOrAirportName" style="document" />
|
254
|
+
<wsdl:input>
|
255
|
+
<soap12:body use="literal" />
|
256
|
+
</wsdl:input>
|
257
|
+
<wsdl:output>
|
258
|
+
<soap12:body use="literal" />
|
259
|
+
</wsdl:output>
|
260
|
+
</wsdl:operation>
|
261
|
+
<wsdl:operation name="GetAirportInformationByCountry">
|
262
|
+
<soap12:operation soapAction="http://www.webserviceX.NET/GetAirportInformationByCountry" style="document" />
|
263
|
+
<wsdl:input>
|
264
|
+
<soap12:body use="literal" />
|
265
|
+
</wsdl:input>
|
266
|
+
<wsdl:output>
|
267
|
+
<soap12:body use="literal" />
|
268
|
+
</wsdl:output>
|
269
|
+
</wsdl:operation>
|
270
|
+
<wsdl:operation name="getAirportInformationByAirportCode">
|
271
|
+
<soap12:operation soapAction="http://www.webserviceX.NET/getAirportInformationByAirportCode" style="document" />
|
272
|
+
<wsdl:input>
|
273
|
+
<soap12:body use="literal" />
|
274
|
+
</wsdl:input>
|
275
|
+
<wsdl:output>
|
276
|
+
<soap12:body use="literal" />
|
277
|
+
</wsdl:output>
|
278
|
+
</wsdl:operation>
|
279
|
+
</wsdl:binding>
|
280
|
+
<wsdl:binding name="airportHttpGet" type="tns:airportHttpGet">
|
281
|
+
<http:binding verb="GET" />
|
282
|
+
<wsdl:operation name="getAirportInformationByISOCountryCode">
|
283
|
+
<http:operation location="/getAirportInformationByISOCountryCode" />
|
284
|
+
<wsdl:input>
|
285
|
+
<http:urlEncoded />
|
286
|
+
</wsdl:input>
|
287
|
+
<wsdl:output>
|
288
|
+
<mime:mimeXml part="Body" />
|
289
|
+
</wsdl:output>
|
290
|
+
</wsdl:operation>
|
291
|
+
<wsdl:operation name="getAirportInformationByCityOrAirportName">
|
292
|
+
<http:operation location="/getAirportInformationByCityOrAirportName" />
|
293
|
+
<wsdl:input>
|
294
|
+
<http:urlEncoded />
|
295
|
+
</wsdl:input>
|
296
|
+
<wsdl:output>
|
297
|
+
<mime:mimeXml part="Body" />
|
298
|
+
</wsdl:output>
|
299
|
+
</wsdl:operation>
|
300
|
+
<wsdl:operation name="GetAirportInformationByCountry">
|
301
|
+
<http:operation location="/GetAirportInformationByCountry" />
|
302
|
+
<wsdl:input>
|
303
|
+
<http:urlEncoded />
|
304
|
+
</wsdl:input>
|
305
|
+
<wsdl:output>
|
306
|
+
<mime:mimeXml part="Body" />
|
307
|
+
</wsdl:output>
|
308
|
+
</wsdl:operation>
|
309
|
+
<wsdl:operation name="getAirportInformationByAirportCode">
|
310
|
+
<http:operation location="/getAirportInformationByAirportCode" />
|
311
|
+
<wsdl:input>
|
312
|
+
<http:urlEncoded />
|
313
|
+
</wsdl:input>
|
314
|
+
<wsdl:output>
|
315
|
+
<mime:mimeXml part="Body" />
|
316
|
+
</wsdl:output>
|
317
|
+
</wsdl:operation>
|
318
|
+
</wsdl:binding>
|
319
|
+
<wsdl:binding name="airportHttpPost" type="tns:airportHttpPost">
|
320
|
+
<http:binding verb="POST" />
|
321
|
+
<wsdl:operation name="getAirportInformationByISOCountryCode">
|
322
|
+
<http:operation location="/getAirportInformationByISOCountryCode" />
|
323
|
+
<wsdl:input>
|
324
|
+
<mime:content type="application/x-www-form-urlencoded" />
|
325
|
+
</wsdl:input>
|
326
|
+
<wsdl:output>
|
327
|
+
<mime:mimeXml part="Body" />
|
328
|
+
</wsdl:output>
|
329
|
+
</wsdl:operation>
|
330
|
+
<wsdl:operation name="getAirportInformationByCityOrAirportName">
|
331
|
+
<http:operation location="/getAirportInformationByCityOrAirportName" />
|
332
|
+
<wsdl:input>
|
333
|
+
<mime:content type="application/x-www-form-urlencoded" />
|
334
|
+
</wsdl:input>
|
335
|
+
<wsdl:output>
|
336
|
+
<mime:mimeXml part="Body" />
|
337
|
+
</wsdl:output>
|
338
|
+
</wsdl:operation>
|
339
|
+
<wsdl:operation name="GetAirportInformationByCountry">
|
340
|
+
<http:operation location="/GetAirportInformationByCountry" />
|
341
|
+
<wsdl:input>
|
342
|
+
<mime:content type="application/x-www-form-urlencoded" />
|
343
|
+
</wsdl:input>
|
344
|
+
<wsdl:output>
|
345
|
+
<mime:mimeXml part="Body" />
|
346
|
+
</wsdl:output>
|
347
|
+
</wsdl:operation>
|
348
|
+
<wsdl:operation name="getAirportInformationByAirportCode">
|
349
|
+
<http:operation location="/getAirportInformationByAirportCode" />
|
350
|
+
<wsdl:input>
|
351
|
+
<mime:content type="application/x-www-form-urlencoded" />
|
352
|
+
</wsdl:input>
|
353
|
+
<wsdl:output>
|
354
|
+
<mime:mimeXml part="Body" />
|
355
|
+
</wsdl:output>
|
356
|
+
</wsdl:operation>
|
357
|
+
</wsdl:binding>
|
358
|
+
<wsdl:service name="airport">
|
359
|
+
<wsdl:port name="airportSoap" binding="tns:airportSoap">
|
360
|
+
<soap:address location="http://www.webservicex.net/airport.asmx" />
|
361
|
+
</wsdl:port>
|
362
|
+
<wsdl:port name="airportSoap12" binding="tns:airportSoap12">
|
363
|
+
<soap12:address location="http://www.webservicex.net/airport.asmx" />
|
364
|
+
</wsdl:port>
|
365
|
+
<wsdl:port name="airportHttpGet" binding="tns:airportHttpGet">
|
366
|
+
<http:address location="http://www.webservicex.net/airport.asmx" />
|
367
|
+
</wsdl:port>
|
368
|
+
<wsdl:port name="airportHttpPost" binding="tns:airportHttpPost">
|
369
|
+
<http:address location="http://www.webservicex.net/airport.asmx" />
|
370
|
+
</wsdl:port>
|
371
|
+
</wsdl:service>
|
372
|
+
</wsdl:definitions>
|
data/lib/soap-object.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require 'soap-object/version'
|
3
|
+
require 'soap-object/class_methods'
|
4
|
+
|
5
|
+
#
|
6
|
+
# module to make it simpler to tests SOAP web services. You define
|
7
|
+
# the behavior by calling class methods to set the configuration.
|
8
|
+
#
|
9
|
+
module SoapObject
|
10
|
+
attr_reader :wsdl
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@client = Savon.client(client_properties)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.included(cls)
|
17
|
+
cls.extend SoapObject::ClassMethods
|
18
|
+
end
|
19
|
+
|
20
|
+
def connected?
|
21
|
+
not @client.nil?
|
22
|
+
end
|
23
|
+
|
24
|
+
def operations
|
25
|
+
@client.operations
|
26
|
+
end
|
27
|
+
|
28
|
+
def method_missing(*args)
|
29
|
+
method = args.shift
|
30
|
+
@response = @client.call(method, {message: args.first})
|
31
|
+
body_for(method)
|
32
|
+
end
|
33
|
+
|
34
|
+
def client_properties
|
35
|
+
properties = {}
|
36
|
+
[:with_wsdl,
|
37
|
+
:with_proxy,
|
38
|
+
:with_open_timeout,
|
39
|
+
:with_read_timeout,
|
40
|
+
:no_log].each do |sym|
|
41
|
+
properties = properties.merge(self.send sym) if self.respond_to? sym
|
42
|
+
end
|
43
|
+
properties
|
44
|
+
end
|
45
|
+
|
46
|
+
def no_log
|
47
|
+
{log: false}
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def body_for(method)
|
53
|
+
@response.body["#{method.to_s}_response".to_sym]["#{method.to_s}_result".to_sym]
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
module SoapObject
|
3
|
+
module ClassMethods
|
4
|
+
|
5
|
+
def wsdl(url)
|
6
|
+
define_method(:with_wsdl) do
|
7
|
+
@wsdl ||= url
|
8
|
+
{wsdl: @wsdl}
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def proxy(url)
|
13
|
+
define_method(:with_proxy) do
|
14
|
+
@proxy ||= url
|
15
|
+
{proxy: @proxy}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def open_timeout(timeout)
|
20
|
+
define_method(:with_open_timeout) do
|
21
|
+
@open_timeout ||= timeout
|
22
|
+
{open_timeout: @open_timeout}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def read_timeout(timeout)
|
27
|
+
define_method(:with_read_timeout) do
|
28
|
+
@read_timeout ||= timeout
|
29
|
+
{read_timeout: @read_timeout}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/soap-object.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'soap-object/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "soap-object"
|
8
|
+
gem.version = Soap::Object::VERSION
|
9
|
+
gem.authors = ["Jeffrey S. Morgan"]
|
10
|
+
gem.email = ["jeff.morgan@leandog.com"]
|
11
|
+
gem.description = %q{Wrapper around SOAP service calls to make it easy to test}
|
12
|
+
gem.summary = %q{Wrapper around SOAP service calls to make it easy to test}
|
13
|
+
gem.homepage = "http://github.com/cheezy/soap-object"
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ["lib"]
|
19
|
+
|
20
|
+
gem.add_dependency 'savon', '>= 2.1.0'
|
21
|
+
|
22
|
+
gem.add_development_dependency 'rspec', '>= 2.12.0'
|
23
|
+
gem.add_development_dependency 'cucumber', '>= 1.2.0'
|
24
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class TestServiceWithWsdl
|
4
|
+
include SoapObject
|
5
|
+
|
6
|
+
wsdl 'http://blah.com'
|
7
|
+
proxy 'http://proxy.com:8080'
|
8
|
+
open_timeout 10
|
9
|
+
read_timeout 20
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
describe SoapObject do
|
14
|
+
let(:client) { double('client') }
|
15
|
+
let(:subject) { TestServiceWithWsdl.new }
|
16
|
+
|
17
|
+
|
18
|
+
context "when creating new instances" do
|
19
|
+
before do
|
20
|
+
Savon.should_receive(:client).and_return(client)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should initialize the client using the wsdl" do
|
24
|
+
subject.client_properties[:wsdl].should == 'http://blah.com'
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should know when it is connected to service" do
|
28
|
+
subject.should be_connected
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should allow one to setup a proxy" do
|
32
|
+
subject.client_properties[:proxy].should == 'http://proxy.com:8080'
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should allow one to set an open timeout" do
|
36
|
+
subject.client_properties[:open_timeout].should == 10
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should allow one to set a read timeout" do
|
40
|
+
subject.client_properties[:read_timeout].should == 20
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context "when calling methods on the service" do
|
45
|
+
before do
|
46
|
+
Savon.should_receive(:client).and_return(client)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should make a valid request" do
|
50
|
+
client.should_receive(:call).with(:fake_call, message: {data_key: 'some_value'})
|
51
|
+
@so = TestServiceWithWsdl.new
|
52
|
+
@so.stub(:body_for)
|
53
|
+
@so.fake_call data_key: 'some_value'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: soap-object
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Jeffrey S. Morgan
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-03-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: savon
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.1.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.1.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 2.12.0
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.12.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: cucumber
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.2.0
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.2.0
|
62
|
+
description: Wrapper around SOAP service calls to make it easy to test
|
63
|
+
email:
|
64
|
+
- jeff.morgan@leandog.com
|
65
|
+
executables: []
|
66
|
+
extensions: []
|
67
|
+
extra_rdoc_files: []
|
68
|
+
files:
|
69
|
+
- .gitignore
|
70
|
+
- .rspec
|
71
|
+
- .rvmrc
|
72
|
+
- ChangeLog
|
73
|
+
- Gemfile
|
74
|
+
- Guardfile
|
75
|
+
- LICENSE.txt
|
76
|
+
- README.md
|
77
|
+
- Rakefile
|
78
|
+
- cucumber.yml
|
79
|
+
- features/basic_functionality.feature
|
80
|
+
- features/step_definitions/basic_functionality_steps.rb
|
81
|
+
- features/support/env.rb
|
82
|
+
- features/wsdl/airport.asmx.wsdl.xml
|
83
|
+
- lib/soap-object.rb
|
84
|
+
- lib/soap-object/class_methods.rb
|
85
|
+
- lib/soap-object/version.rb
|
86
|
+
- soap-object.gemspec
|
87
|
+
- spec/lib/soap_object_spec.rb
|
88
|
+
- spec/spec_helper.rb
|
89
|
+
homepage: http://github.com/cheezy/soap-object
|
90
|
+
licenses: []
|
91
|
+
post_install_message:
|
92
|
+
rdoc_options: []
|
93
|
+
require_paths:
|
94
|
+
- lib
|
95
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
97
|
+
requirements:
|
98
|
+
- - ! '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
segments:
|
102
|
+
- 0
|
103
|
+
hash: -280735046766684970
|
104
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
segments:
|
111
|
+
- 0
|
112
|
+
hash: -280735046766684970
|
113
|
+
requirements: []
|
114
|
+
rubyforge_project:
|
115
|
+
rubygems_version: 1.8.25
|
116
|
+
signing_key:
|
117
|
+
specification_version: 3
|
118
|
+
summary: Wrapper around SOAP service calls to make it easy to test
|
119
|
+
test_files:
|
120
|
+
- features/basic_functionality.feature
|
121
|
+
- features/step_definitions/basic_functionality_steps.rb
|
122
|
+
- features/support/env.rb
|
123
|
+
- features/wsdl/airport.asmx.wsdl.xml
|
124
|
+
- spec/lib/soap_object_spec.rb
|
125
|
+
- spec/spec_helper.rb
|