rets 0.1.0 → 0.1.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/CHANGELOG.md +4 -0
- data/lib/rets.rb +1 -1
- data/lib/rets/client.rb +3 -2
- data/test/fixtures.rb +8 -0
- data/test/test_client.rb +13 -0
- metadata +26 -14
data/CHANGELOG.md
CHANGED
data/lib/rets.rb
CHANGED
data/lib/rets/client.rb
CHANGED
@@ -34,7 +34,8 @@ module Rets
|
|
34
34
|
# RETS server provides, per http://retsdoc.onconfluence.com/display/rets172/4.10+Capability+URL+List.
|
35
35
|
def login
|
36
36
|
request(uri.path)
|
37
|
-
capabilities
|
37
|
+
raise UnknownResponse, "Cannot read rets server capabilities." unless @capabilities
|
38
|
+
@capabilities
|
38
39
|
end
|
39
40
|
|
40
41
|
# Finds records.
|
@@ -382,7 +383,7 @@ module Rets
|
|
382
383
|
# Feel free to make this better. It has a test.
|
383
384
|
raw_key_values.split(/\n/).
|
384
385
|
map { |r| r.split(/=/, 2) }.
|
385
|
-
each { |k,v| h[k.strip.downcase] = v }
|
386
|
+
each { |k,v| h[k.strip.downcase] = v.strip }
|
386
387
|
|
387
388
|
h
|
388
389
|
end
|
data/test/fixtures.rb
CHANGED
@@ -21,6 +21,14 @@ CAPABILITIES = <<-XML
|
|
21
21
|
</RETS>
|
22
22
|
XML
|
23
23
|
|
24
|
+
CAPABILITIES_WITH_WHITESPACE = <<XML
|
25
|
+
<RETS ReplyCode="0" ReplyText="Operation Successful">
|
26
|
+
<RETS-RESPONSE>
|
27
|
+
Action = /RETS/Action
|
28
|
+
</RETS-RESPONSE>
|
29
|
+
</RETS>
|
30
|
+
XML
|
31
|
+
|
24
32
|
# 44 is the ASCII code for comma; an invalid delimiter.
|
25
33
|
INVALID_DELIMETER = <<-XML
|
26
34
|
<?xml version="1.0"?>
|
data/test/test_client.rb
CHANGED
@@ -181,6 +181,13 @@ class TestClient < Test::Unit::TestCase
|
|
181
181
|
)
|
182
182
|
end
|
183
183
|
|
184
|
+
def test_extract_capabilities_with_whitespace
|
185
|
+
assert_equal(
|
186
|
+
{"action" => "/RETS/Action"},
|
187
|
+
@client.extract_capabilities(Nokogiri.parse(CAPABILITIES_WITH_WHITESPACE))
|
188
|
+
)
|
189
|
+
end
|
190
|
+
|
184
191
|
def test_capability_url_returns_parsed_url
|
185
192
|
@client.capabilities = { "foo" => "http://example.com" }
|
186
193
|
|
@@ -200,6 +207,12 @@ class TestClient < Test::Unit::TestCase
|
|
200
207
|
@client.capabilities
|
201
208
|
end
|
202
209
|
|
210
|
+
def test_login_fails_if_cannot_read_capabilities
|
211
|
+
@client.stubs(:request)
|
212
|
+
assert_raise Rets::UnknownResponse do
|
213
|
+
@client.login
|
214
|
+
end
|
215
|
+
end
|
203
216
|
|
204
217
|
def test_cookies?
|
205
218
|
assert @client.cookies?({"set-cookie" => "FavoriteFruit=Plum;"})
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Estately, Inc. Open Source
|
@@ -16,8 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date:
|
20
|
-
default_executable:
|
19
|
+
date: 2012-01-11 00:00:00 Z
|
21
20
|
dependencies:
|
22
21
|
- !ruby/object:Gem::Dependency
|
23
22
|
name: net-http-persistent
|
@@ -67,21 +66,35 @@ dependencies:
|
|
67
66
|
type: :development
|
68
67
|
version_requirements: *id003
|
69
68
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
69
|
+
name: rdoc
|
71
70
|
prerelease: false
|
72
71
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
73
|
requirements:
|
75
|
-
- -
|
74
|
+
- - ~>
|
76
75
|
- !ruby/object:Gem::Version
|
77
|
-
hash:
|
76
|
+
hash: 19
|
78
77
|
segments:
|
79
|
-
-
|
80
|
-
-
|
81
|
-
|
82
|
-
version: 2.9.1
|
78
|
+
- 3
|
79
|
+
- 10
|
80
|
+
version: "3.10"
|
83
81
|
type: :development
|
84
82
|
version_requirements: *id004
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: hoe
|
85
|
+
prerelease: false
|
86
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ~>
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
hash: 27
|
92
|
+
segments:
|
93
|
+
- 2
|
94
|
+
- 12
|
95
|
+
version: "2.12"
|
96
|
+
type: :development
|
97
|
+
version_requirements: *id005
|
85
98
|
description: |-
|
86
99
|
A pure-ruby library for fetching data from [RETS] servers.
|
87
100
|
|
@@ -120,7 +133,6 @@ files:
|
|
120
133
|
- test/test_parser_compact.rb
|
121
134
|
- test/test_parser_multipart.rb
|
122
135
|
- .gemtest
|
123
|
-
has_rdoc: true
|
124
136
|
homepage: http://github.com/estately/rets
|
125
137
|
licenses: []
|
126
138
|
|
@@ -151,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
163
|
requirements: []
|
152
164
|
|
153
165
|
rubyforge_project: rets
|
154
|
-
rubygems_version: 1.
|
166
|
+
rubygems_version: 1.8.10
|
155
167
|
signing_key:
|
156
168
|
specification_version: 3
|
157
169
|
summary: A pure-ruby library for fetching data from [RETS] servers
|