periodic_table 0.0.2 → 0.0.3
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/.travis.yml +9 -0
- data/README.md +1 -1
- data/lib/periodic_table/periodic_table_api.rb +9 -22
- data/lib/periodic_table/version.rb +1 -1
- data/periodic_table.gemspec +2 -0
- data/spec/lib/periodic_table_spec.rb +46 -4
- data/spec/spec_helper.rb +10 -0
- data/spec/support/cassettes/periodic_table.yml +258 -0
- metadata +33 -8
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -17,31 +17,18 @@ module PeriodicTable
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
# Wow, this is ugly. I did not expect nested XML.
|
21
20
|
class ApiResponse
|
22
|
-
attr_reader :atomic_weight,
|
23
|
-
:symbol,
|
24
|
-
:atomic_number,
|
25
|
-
:element_name,
|
26
|
-
:boiling_point,
|
27
|
-
:ionisation_potential,
|
28
|
-
:electro_negativity,
|
29
|
-
:atomic_radius,
|
30
|
-
:melting_point,
|
31
|
-
:density
|
32
|
-
|
33
21
|
def initialize(result)
|
34
22
|
xml = Nokogiri::XML.parse(result)
|
35
|
-
@
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
@density = xml.at('Density').text
|
23
|
+
@data = xml.xpath("NewDataSet/Table").first.element_children
|
24
|
+
end
|
25
|
+
|
26
|
+
def method_missing(method)
|
27
|
+
method = method.to_s
|
28
|
+
# the webservicex api mispells "electronegativity"
|
29
|
+
method = 'eletronegativity' if method == 'electronegativity'
|
30
|
+
element = @data.find { |e| e.name =~ /#{method.gsub('_', '')}/i }
|
31
|
+
element.text if element
|
45
32
|
end
|
46
33
|
end
|
47
34
|
end
|
data/periodic_table.gemspec
CHANGED
@@ -21,6 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
# specify any dependencies here; for example:
|
22
22
|
s.add_development_dependency 'rake'
|
23
23
|
s.add_development_dependency 'rspec'
|
24
|
+
s.add_development_dependency 'fakeweb'
|
25
|
+
s.add_development_dependency 'vcr'
|
24
26
|
|
25
27
|
s.add_runtime_dependency 'savon'
|
26
28
|
end
|
@@ -1,10 +1,52 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe PeriodicTable do
|
4
|
+
use_vcr_cassette 'periodic_table'
|
5
|
+
before :each do
|
6
|
+
@element_data = PeriodicTable.lookup('oxygen')
|
7
|
+
end
|
8
|
+
|
4
9
|
it "should return data for a named element" do
|
5
|
-
element_data
|
6
|
-
|
7
|
-
|
8
|
-
|
10
|
+
@element_data.should_not be_nil
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return the correct atomic symbol" do
|
14
|
+
@element_data.symbol.should == 'O'
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should return the correct atomic weight" do
|
18
|
+
@element_data.atomic_weight.should == '15.9994'
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should return the correct atomic number" do
|
22
|
+
@element_data.atomic_number.should == '8'
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should return the correct element name" do
|
26
|
+
@element_data.element_name.should == 'Oxygen'
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should return the correct boiling point" do
|
30
|
+
@element_data.boiling_point.should == '90.2'
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should return the correct ionisation potential" do
|
34
|
+
@element_data.ionisation_potential.should == '13.61'
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should return the correct electronegativity" do
|
38
|
+
@element_data.electronegativity.should == '3.5'
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should return the correct atomic radius" do
|
42
|
+
@element_data.atomic_radius.should == '0.74'
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should return the correct melting point" do
|
46
|
+
@element_data.melting_point.should == '55'
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should return the correct density" do
|
50
|
+
@element_data.density.should == '1.3318'
|
9
51
|
end
|
10
52
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,258 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: http://www.webservicex.net:80/periodictable.asmx?WSDL
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
response: !ruby/struct:VCR::Response
|
9
|
+
status: !ruby/struct:VCR::ResponseStatus
|
10
|
+
code: 200
|
11
|
+
message: OK
|
12
|
+
headers:
|
13
|
+
cache-control:
|
14
|
+
- private, max-age=0
|
15
|
+
content-length:
|
16
|
+
- '15756'
|
17
|
+
content-type:
|
18
|
+
- text/xml; charset=utf-8
|
19
|
+
server:
|
20
|
+
- Microsoft-IIS/7.0
|
21
|
+
x-aspnet-version:
|
22
|
+
- 4.0.30319
|
23
|
+
x-powered-by:
|
24
|
+
- ASP.NET
|
25
|
+
date:
|
26
|
+
- Thu, 01 Mar 2012 00:29:10 GMT
|
27
|
+
body: ! "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<wsdl:definitions xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\"
|
28
|
+
xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\"
|
29
|
+
xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:tns=\"http://www.webserviceX.NET\"
|
30
|
+
xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\"
|
31
|
+
xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" targetNamespace=\"http://www.webserviceX.NET\"
|
32
|
+
xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">\r\n <wsdl:types>\r\n <s:schema
|
33
|
+
elementFormDefault=\"qualified\" targetNamespace=\"http://www.webserviceX.NET\">\r\n
|
34
|
+
\ <s:element name=\"GetAtoms\">\r\n <s:complexType />\r\n </s:element>\r\n
|
35
|
+
\ <s:element name=\"GetAtomsResponse\">\r\n <s:complexType>\r\n <s:sequence>\r\n
|
36
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"GetAtomsResult\"
|
37
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
38
|
+
\ </s:element>\r\n <s:element name=\"GetAtomicWeight\">\r\n <s:complexType>\r\n
|
39
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
40
|
+
name=\"ElementName\" type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
41
|
+
\ </s:element>\r\n <s:element name=\"GetAtomicWeightResponse\">\r\n
|
42
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
43
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetAtomicWeightResult\" type=\"s:string\"
|
44
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
45
|
+
\ <s:element name=\"GetAtomicNumber\">\r\n <s:complexType>\r\n <s:sequence>\r\n
|
46
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ElementName\"
|
47
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
48
|
+
\ </s:element>\r\n <s:element name=\"GetAtomicNumberResponse\">\r\n
|
49
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
50
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetAtomicNumberResult\" type=\"s:string\"
|
51
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
52
|
+
\ <s:element name=\"GetElementSymbol\">\r\n <s:complexType>\r\n <s:sequence>\r\n
|
53
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ElementName\"
|
54
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
55
|
+
\ </s:element>\r\n <s:element name=\"GetElementSymbolResponse\">\r\n
|
56
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
57
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetElementSymbolResult\" type=\"s:string\"
|
58
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
59
|
+
\ <s:element name=\"string\" nillable=\"true\" type=\"s:string\" />\r\n
|
60
|
+
\ </s:schema>\r\n </wsdl:types>\r\n <wsdl:message name=\"GetAtomsSoapIn\">\r\n
|
61
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetAtoms\" />\r\n </wsdl:message>\r\n
|
62
|
+
\ <wsdl:message name=\"GetAtomsSoapOut\">\r\n <wsdl:part name=\"parameters\"
|
63
|
+
element=\"tns:GetAtomsResponse\" />\r\n </wsdl:message>\r\n <wsdl:message
|
64
|
+
name=\"GetAtomicWeightSoapIn\">\r\n <wsdl:part name=\"parameters\" element=\"tns:GetAtomicWeight\"
|
65
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetAtomicWeightSoapOut\">\r\n
|
66
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetAtomicWeightResponse\" />\r\n
|
67
|
+
\ </wsdl:message>\r\n <wsdl:message name=\"GetAtomicNumberSoapIn\">\r\n <wsdl:part
|
68
|
+
name=\"parameters\" element=\"tns:GetAtomicNumber\" />\r\n </wsdl:message>\r\n
|
69
|
+
\ <wsdl:message name=\"GetAtomicNumberSoapOut\">\r\n <wsdl:part name=\"parameters\"
|
70
|
+
element=\"tns:GetAtomicNumberResponse\" />\r\n </wsdl:message>\r\n <wsdl:message
|
71
|
+
name=\"GetElementSymbolSoapIn\">\r\n <wsdl:part name=\"parameters\" element=\"tns:GetElementSymbol\"
|
72
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetElementSymbolSoapOut\">\r\n
|
73
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetElementSymbolResponse\"
|
74
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetAtomsHttpGetIn\" />\r\n
|
75
|
+
\ <wsdl:message name=\"GetAtomsHttpGetOut\">\r\n <wsdl:part name=\"Body\"
|
76
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:message name=\"GetAtomicWeightHttpGetIn\">\r\n
|
77
|
+
\ <wsdl:part name=\"ElementName\" type=\"s:string\" />\r\n </wsdl:message>\r\n
|
78
|
+
\ <wsdl:message name=\"GetAtomicWeightHttpGetOut\">\r\n <wsdl:part name=\"Body\"
|
79
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:message name=\"GetAtomicNumberHttpGetIn\">\r\n
|
80
|
+
\ <wsdl:part name=\"ElementName\" type=\"s:string\" />\r\n </wsdl:message>\r\n
|
81
|
+
\ <wsdl:message name=\"GetAtomicNumberHttpGetOut\">\r\n <wsdl:part name=\"Body\"
|
82
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:message name=\"GetElementSymbolHttpGetIn\">\r\n
|
83
|
+
\ <wsdl:part name=\"ElementName\" type=\"s:string\" />\r\n </wsdl:message>\r\n
|
84
|
+
\ <wsdl:message name=\"GetElementSymbolHttpGetOut\">\r\n <wsdl:part name=\"Body\"
|
85
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:message name=\"GetAtomsHttpPostIn\"
|
86
|
+
/>\r\n <wsdl:message name=\"GetAtomsHttpPostOut\">\r\n <wsdl:part name=\"Body\"
|
87
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:message name=\"GetAtomicWeightHttpPostIn\">\r\n
|
88
|
+
\ <wsdl:part name=\"ElementName\" type=\"s:string\" />\r\n </wsdl:message>\r\n
|
89
|
+
\ <wsdl:message name=\"GetAtomicWeightHttpPostOut\">\r\n <wsdl:part name=\"Body\"
|
90
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:message name=\"GetAtomicNumberHttpPostIn\">\r\n
|
91
|
+
\ <wsdl:part name=\"ElementName\" type=\"s:string\" />\r\n </wsdl:message>\r\n
|
92
|
+
\ <wsdl:message name=\"GetAtomicNumberHttpPostOut\">\r\n <wsdl:part name=\"Body\"
|
93
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:message name=\"GetElementSymbolHttpPostIn\">\r\n
|
94
|
+
\ <wsdl:part name=\"ElementName\" type=\"s:string\" />\r\n </wsdl:message>\r\n
|
95
|
+
\ <wsdl:message name=\"GetElementSymbolHttpPostOut\">\r\n <wsdl:part name=\"Body\"
|
96
|
+
element=\"tns:string\" />\r\n </wsdl:message>\r\n <wsdl:portType name=\"periodictableSoap\">\r\n
|
97
|
+
\ <wsdl:operation name=\"GetAtoms\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
98
|
+
element </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomsSoapIn\"
|
99
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomsSoapOut\" />\r\n </wsdl:operation>\r\n
|
100
|
+
\ <wsdl:operation name=\"GetAtomicWeight\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
101
|
+
atomic wieght by element name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomicWeightSoapIn\"
|
102
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomicWeightSoapOut\" />\r\n </wsdl:operation>\r\n
|
103
|
+
\ <wsdl:operation name=\"GetAtomicNumber\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
104
|
+
atomic Number by element name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomicNumberSoapIn\"
|
105
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomicNumberSoapOut\" />\r\n </wsdl:operation>\r\n
|
106
|
+
\ <wsdl:operation name=\"GetElementSymbol\">\r\n <wsdl:documentation
|
107
|
+
xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get atomic symbol by element
|
108
|
+
name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetElementSymbolSoapIn\"
|
109
|
+
/>\r\n <wsdl:output message=\"tns:GetElementSymbolSoapOut\" />\r\n </wsdl:operation>\r\n
|
110
|
+
\ </wsdl:portType>\r\n <wsdl:portType name=\"periodictableHttpGet\">\r\n <wsdl:operation
|
111
|
+
name=\"GetAtoms\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
112
|
+
element </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomsHttpGetIn\"
|
113
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomsHttpGetOut\" />\r\n </wsdl:operation>\r\n
|
114
|
+
\ <wsdl:operation name=\"GetAtomicWeight\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
115
|
+
atomic wieght by element name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomicWeightHttpGetIn\"
|
116
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomicWeightHttpGetOut\" />\r\n </wsdl:operation>\r\n
|
117
|
+
\ <wsdl:operation name=\"GetAtomicNumber\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
118
|
+
atomic Number by element name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomicNumberHttpGetIn\"
|
119
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomicNumberHttpGetOut\" />\r\n </wsdl:operation>\r\n
|
120
|
+
\ <wsdl:operation name=\"GetElementSymbol\">\r\n <wsdl:documentation
|
121
|
+
xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get atomic symbol by element
|
122
|
+
name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetElementSymbolHttpGetIn\"
|
123
|
+
/>\r\n <wsdl:output message=\"tns:GetElementSymbolHttpGetOut\" />\r\n </wsdl:operation>\r\n
|
124
|
+
\ </wsdl:portType>\r\n <wsdl:portType name=\"periodictableHttpPost\">\r\n <wsdl:operation
|
125
|
+
name=\"GetAtoms\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
126
|
+
element </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomsHttpPostIn\"
|
127
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomsHttpPostOut\" />\r\n </wsdl:operation>\r\n
|
128
|
+
\ <wsdl:operation name=\"GetAtomicWeight\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
129
|
+
atomic wieght by element name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomicWeightHttpPostIn\"
|
130
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomicWeightHttpPostOut\" />\r\n </wsdl:operation>\r\n
|
131
|
+
\ <wsdl:operation name=\"GetAtomicNumber\">\r\n <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get
|
132
|
+
atomic Number by element name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetAtomicNumberHttpPostIn\"
|
133
|
+
/>\r\n <wsdl:output message=\"tns:GetAtomicNumberHttpPostOut\" />\r\n </wsdl:operation>\r\n
|
134
|
+
\ <wsdl:operation name=\"GetElementSymbol\">\r\n <wsdl:documentation
|
135
|
+
xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get atomic symbol by element
|
136
|
+
name </wsdl:documentation>\r\n <wsdl:input message=\"tns:GetElementSymbolHttpPostIn\"
|
137
|
+
/>\r\n <wsdl:output message=\"tns:GetElementSymbolHttpPostOut\" />\r\n
|
138
|
+
\ </wsdl:operation>\r\n </wsdl:portType>\r\n <wsdl:binding name=\"periodictableSoap\"
|
139
|
+
type=\"tns:periodictableSoap\">\r\n <soap:binding transport=\"http://schemas.xmlsoap.org/soap/http\"
|
140
|
+
/>\r\n <wsdl:operation name=\"GetAtoms\">\r\n <soap:operation soapAction=\"http://www.webserviceX.NET/GetAtoms\"
|
141
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
142
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
143
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetAtomicWeight\">\r\n
|
144
|
+
\ <soap:operation soapAction=\"http://www.webserviceX.NET/GetAtomicWeight\"
|
145
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
146
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
147
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetAtomicNumber\">\r\n
|
148
|
+
\ <soap:operation soapAction=\"http://www.webserviceX.NET/GetAtomicNumber\"
|
149
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
150
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
151
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetElementSymbol\">\r\n
|
152
|
+
\ <soap:operation soapAction=\"http://www.webserviceX.NET/GetElementSymbol\"
|
153
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
154
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
155
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n </wsdl:binding>\r\n
|
156
|
+
\ <wsdl:binding name=\"periodictableSoap12\" type=\"tns:periodictableSoap\">\r\n
|
157
|
+
\ <soap12:binding transport=\"http://schemas.xmlsoap.org/soap/http\" />\r\n
|
158
|
+
\ <wsdl:operation name=\"GetAtoms\">\r\n <soap12:operation soapAction=\"http://www.webserviceX.NET/GetAtoms\"
|
159
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
|
160
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
|
161
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetAtomicWeight\">\r\n
|
162
|
+
\ <soap12:operation soapAction=\"http://www.webserviceX.NET/GetAtomicWeight\"
|
163
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
|
164
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
|
165
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetAtomicNumber\">\r\n
|
166
|
+
\ <soap12:operation soapAction=\"http://www.webserviceX.NET/GetAtomicNumber\"
|
167
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
|
168
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
|
169
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetElementSymbol\">\r\n
|
170
|
+
\ <soap12:operation soapAction=\"http://www.webserviceX.NET/GetElementSymbol\"
|
171
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap12:body use=\"literal\"
|
172
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap12:body use=\"literal\"
|
173
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n </wsdl:binding>\r\n
|
174
|
+
\ <wsdl:binding name=\"periodictableHttpGet\" type=\"tns:periodictableHttpGet\">\r\n
|
175
|
+
\ <http:binding verb=\"GET\" />\r\n <wsdl:operation name=\"GetAtoms\">\r\n
|
176
|
+
\ <http:operation location=\"/GetAtoms\" />\r\n <wsdl:input>\r\n <http:urlEncoded
|
177
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <mime:mimeXml part=\"Body\"
|
178
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetAtomicWeight\">\r\n
|
179
|
+
\ <http:operation location=\"/GetAtomicWeight\" />\r\n <wsdl:input>\r\n
|
180
|
+
\ <http:urlEncoded />\r\n </wsdl:input>\r\n <wsdl:output>\r\n
|
181
|
+
\ <mime:mimeXml part=\"Body\" />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n
|
182
|
+
\ <wsdl:operation name=\"GetAtomicNumber\">\r\n <http:operation location=\"/GetAtomicNumber\"
|
183
|
+
/>\r\n <wsdl:input>\r\n <http:urlEncoded />\r\n </wsdl:input>\r\n
|
184
|
+
\ <wsdl:output>\r\n <mime:mimeXml part=\"Body\" />\r\n </wsdl:output>\r\n
|
185
|
+
\ </wsdl:operation>\r\n <wsdl:operation name=\"GetElementSymbol\">\r\n
|
186
|
+
\ <http:operation location=\"/GetElementSymbol\" />\r\n <wsdl:input>\r\n
|
187
|
+
\ <http:urlEncoded />\r\n </wsdl:input>\r\n <wsdl:output>\r\n
|
188
|
+
\ <mime:mimeXml part=\"Body\" />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n
|
189
|
+
\ </wsdl:binding>\r\n <wsdl:binding name=\"periodictableHttpPost\" type=\"tns:periodictableHttpPost\">\r\n
|
190
|
+
\ <http:binding verb=\"POST\" />\r\n <wsdl:operation name=\"GetAtoms\">\r\n
|
191
|
+
\ <http:operation location=\"/GetAtoms\" />\r\n <wsdl:input>\r\n <mime:content
|
192
|
+
type=\"application/x-www-form-urlencoded\" />\r\n </wsdl:input>\r\n <wsdl:output>\r\n
|
193
|
+
\ <mime:mimeXml part=\"Body\" />\r\n </wsdl:output>\r\n </wsdl:operation>\r\n
|
194
|
+
\ <wsdl:operation name=\"GetAtomicWeight\">\r\n <http:operation location=\"/GetAtomicWeight\"
|
195
|
+
/>\r\n <wsdl:input>\r\n <mime:content type=\"application/x-www-form-urlencoded\"
|
196
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <mime:mimeXml part=\"Body\"
|
197
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation name=\"GetAtomicNumber\">\r\n
|
198
|
+
\ <http:operation location=\"/GetAtomicNumber\" />\r\n <wsdl:input>\r\n
|
199
|
+
\ <mime:content type=\"application/x-www-form-urlencoded\" />\r\n </wsdl:input>\r\n
|
200
|
+
\ <wsdl:output>\r\n <mime:mimeXml part=\"Body\" />\r\n </wsdl:output>\r\n
|
201
|
+
\ </wsdl:operation>\r\n <wsdl:operation name=\"GetElementSymbol\">\r\n
|
202
|
+
\ <http:operation location=\"/GetElementSymbol\" />\r\n <wsdl:input>\r\n
|
203
|
+
\ <mime:content type=\"application/x-www-form-urlencoded\" />\r\n </wsdl:input>\r\n
|
204
|
+
\ <wsdl:output>\r\n <mime:mimeXml part=\"Body\" />\r\n </wsdl:output>\r\n
|
205
|
+
\ </wsdl:operation>\r\n </wsdl:binding>\r\n <wsdl:service name=\"periodictable\">\r\n
|
206
|
+
\ <wsdl:port name=\"periodictableSoap\" binding=\"tns:periodictableSoap\">\r\n
|
207
|
+
\ <soap:address location=\"http://www.webservicex.net/periodictable.asmx\"
|
208
|
+
/>\r\n </wsdl:port>\r\n <wsdl:port name=\"periodictableSoap12\" binding=\"tns:periodictableSoap12\">\r\n
|
209
|
+
\ <soap12:address location=\"http://www.webservicex.net/periodictable.asmx\"
|
210
|
+
/>\r\n </wsdl:port>\r\n <wsdl:port name=\"periodictableHttpGet\" binding=\"tns:periodictableHttpGet\">\r\n
|
211
|
+
\ <http:address location=\"http://www.webservicex.net/periodictable.asmx\"
|
212
|
+
/>\r\n </wsdl:port>\r\n <wsdl:port name=\"periodictableHttpPost\" binding=\"tns:periodictableHttpPost\">\r\n
|
213
|
+
\ <http:address location=\"http://www.webservicex.net/periodictable.asmx\"
|
214
|
+
/>\r\n </wsdl:port>\r\n </wsdl:service>\r\n</wsdl:definitions>"
|
215
|
+
http_version: '1.1'
|
216
|
+
- !ruby/struct:VCR::HTTPInteraction
|
217
|
+
request: !ruby/struct:VCR::Request
|
218
|
+
method: :post
|
219
|
+
uri: http://www.webservicex.net:80/periodictable.asmx
|
220
|
+
body: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
221
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://www.webserviceX.NET"
|
222
|
+
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ins0="http://www.webserviceX.NET"><env:Body><ins0:GetAtomicNumber><ins0:ElementName>oxygen</ins0:ElementName></ins0:GetAtomicNumber></env:Body></env:Envelope>
|
223
|
+
headers:
|
224
|
+
soapaction:
|
225
|
+
- ! '"http://www.webserviceX.NET/GetAtomicNumber"'
|
226
|
+
content-type:
|
227
|
+
- text/xml;charset=UTF-8
|
228
|
+
content-length:
|
229
|
+
- '409'
|
230
|
+
response: !ruby/struct:VCR::Response
|
231
|
+
status: !ruby/struct:VCR::ResponseStatus
|
232
|
+
code: 200
|
233
|
+
message: OK
|
234
|
+
headers:
|
235
|
+
cache-control:
|
236
|
+
- private, max-age=0
|
237
|
+
content-length:
|
238
|
+
- '960'
|
239
|
+
content-type:
|
240
|
+
- text/xml; charset=utf-8
|
241
|
+
server:
|
242
|
+
- Microsoft-IIS/7.0
|
243
|
+
x-aspnet-version:
|
244
|
+
- 4.0.30319
|
245
|
+
x-powered-by:
|
246
|
+
- ASP.NET
|
247
|
+
date:
|
248
|
+
- Thu, 01 Mar 2012 00:29:11 GMT
|
249
|
+
body: ! "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"
|
250
|
+
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><soap:Body><GetAtomicNumberResponse
|
251
|
+
xmlns=\"http://www.webserviceX.NET\"><GetAtomicNumberResult><NewDataSet>\r\n
|
252
|
+
\ <Table>\r\n <AtomicNumber>8</AtomicNumber>\r\n <ElementName>Oxygen</ElementName>\r\n
|
253
|
+
\ <Symbol>O</Symbol>\r\n <AtomicWeight>15.9994</AtomicWeight>\r\n
|
254
|
+
\ <BoilingPoint>90.2</BoilingPoint>\r\n <IonisationPotential>13.61</IonisationPotential>\r\n
|
255
|
+
\ <EletroNegativity>3.5</EletroNegativity>\r\n <AtomicRadius>0.74</AtomicRadius>\r\n
|
256
|
+
\ <MeltingPoint>55</MeltingPoint>\r\n <Density>1.3318</Density>\r\n
|
257
|
+
\ </Table>\r\n</NewDataSet></GetAtomicNumberResult></GetAtomicNumberResponse></soap:Body></soap:Envelope>"
|
258
|
+
http_version: '1.1'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: periodic_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-03-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &2151919680 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2151919680
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &2151918760 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,32 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2151918760
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: fakeweb
|
38
|
+
requirement: &2151918060 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2151918060
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: vcr
|
49
|
+
requirement: &2151917380 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *2151917380
|
36
58
|
- !ruby/object:Gem::Dependency
|
37
59
|
name: savon
|
38
|
-
requirement: &
|
60
|
+
requirement: &2151916720 !ruby/object:Gem::Requirement
|
39
61
|
none: false
|
40
62
|
requirements:
|
41
63
|
- - ! '>='
|
@@ -43,7 +65,7 @@ dependencies:
|
|
43
65
|
version: '0'
|
44
66
|
type: :runtime
|
45
67
|
prerelease: false
|
46
|
-
version_requirements: *
|
68
|
+
version_requirements: *2151916720
|
47
69
|
description: Provide data on elements in the periodic table.
|
48
70
|
email:
|
49
71
|
- sdball@gmail.com
|
@@ -53,6 +75,7 @@ extra_rdoc_files: []
|
|
53
75
|
files:
|
54
76
|
- .gitignore
|
55
77
|
- .rvmrc
|
78
|
+
- .travis.yml
|
56
79
|
- Gemfile
|
57
80
|
- README.md
|
58
81
|
- Rakefile
|
@@ -62,6 +85,7 @@ files:
|
|
62
85
|
- periodic_table.gemspec
|
63
86
|
- spec/lib/periodic_table_spec.rb
|
64
87
|
- spec/spec_helper.rb
|
88
|
+
- spec/support/cassettes/periodic_table.yml
|
65
89
|
homepage: https://github.com/sdball/periodic_table
|
66
90
|
licenses: []
|
67
91
|
post_install_message:
|
@@ -89,3 +113,4 @@ summary: Provide periodic table data.
|
|
89
113
|
test_files:
|
90
114
|
- spec/lib/periodic_table_spec.rb
|
91
115
|
- spec/spec_helper.rb
|
116
|
+
- spec/support/cassettes/periodic_table.yml
|