mls 0.12.5 → 0.13.0
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.
- checksums.yaml +4 -4
- data/lib/mls.rb +10 -2
- data/lib/mls/errors.rb +6 -0
- data/lib/mls/models/brokerage.rb +6 -0
- data/mls.gemspec +4 -3
- metadata +32 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2038b3ee1f58d0c9b529c5ecfe3ef927af8068b8
|
4
|
+
data.tar.gz: 87d5a02cfa10037c074923202903c17f81c6211a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60cc8dba490166630d4c498828d2a5b2d82374a86bb496a7a409c65d172718bd1bc6cdd7da9e9e012c0c8c33e704636ab082244fdd4a24bdd8bcf1f47652a7d9
|
7
|
+
data.tar.gz: 659c7557d36e305f7fe8a5c79f328f7854dc2535608cd2daa3013f9d63b0dc7028a63aafd0506d72845f7b92f8ac660d1783740f9271b25cb8b8db24dbc6a43e
|
data/lib/mls.rb
CHANGED
@@ -35,6 +35,7 @@ class MLS
|
|
35
35
|
@url = URI.parse(uri)
|
36
36
|
@api_key = CGI.unescape(@url.user)
|
37
37
|
@host, @port = @url.host, @url.port
|
38
|
+
@ssl = (url.scheme == 'https')
|
38
39
|
end
|
39
40
|
|
40
41
|
# Sets the user agent so that MLS can distinguish between multiple users
|
@@ -50,7 +51,10 @@ class MLS
|
|
50
51
|
# Returns the current connection to the MLS or if connection has been made
|
51
52
|
# it returns a new connection
|
52
53
|
def connection # TODO: testme
|
53
|
-
@connection
|
54
|
+
return @connection if @connection
|
55
|
+
@connection = Net::HTTP.new(@host, @port)
|
56
|
+
@connection.use_ssl = @ssl
|
57
|
+
@connection
|
54
58
|
end
|
55
59
|
|
56
60
|
# provides the asset host, if asset_host is set then it is returned,
|
@@ -365,12 +369,16 @@ class MLS
|
|
365
369
|
raise MLS::Exception::BadRequest, response.body
|
366
370
|
when 401
|
367
371
|
raise MLS::Exception::Unauthorized, response.body
|
368
|
-
when 404
|
372
|
+
when 404
|
369
373
|
raise MLS::Exception::NotFound
|
374
|
+
when 410
|
375
|
+
raise MLS::Exception::Gone
|
370
376
|
when 422
|
371
377
|
raise MLS::Exception::ApiVersionUnsupported, response.body
|
372
378
|
when 503
|
373
379
|
raise MLS::Exception::ServiceUnavailable, response.body
|
380
|
+
when 301
|
381
|
+
raise MLS::Exception::MovedPermanently, response.body
|
374
382
|
when 300..599
|
375
383
|
raise MLS::Exception, code
|
376
384
|
end
|
data/lib/mls/errors.rb
CHANGED
@@ -13,6 +13,12 @@ end
|
|
13
13
|
class MLS::Exception::NotFound < MLS::Exception
|
14
14
|
end
|
15
15
|
|
16
|
+
class MLS::Exception::Gone < MLS::Exception
|
17
|
+
end
|
18
|
+
|
19
|
+
class MLS::Exception::MovedPermanently < MLS::Exception
|
20
|
+
end
|
21
|
+
|
16
22
|
class MLS::Exception::ApiVersionUnsupported < MLS::Exception
|
17
23
|
end
|
18
24
|
|
data/lib/mls/models/brokerage.rb
CHANGED
@@ -8,6 +8,12 @@ class MLS::Brokerage < MLS::Resource
|
|
8
8
|
attribute :avatar_digest, String, :serialize => false
|
9
9
|
|
10
10
|
class << self
|
11
|
+
|
12
|
+
def avatar(format='png', protocol='http')
|
13
|
+
if avatar_digest
|
14
|
+
"#{protocol}://assets.42floors.com/photos/original/#{avatar_digest}.png"
|
15
|
+
end
|
16
|
+
end
|
11
17
|
|
12
18
|
def find(id)
|
13
19
|
response = MLS.get("/brokerages/#{id}")
|
data/mls.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "mls"
|
6
|
-
s.version = '0.
|
6
|
+
s.version = '0.13.0'
|
7
7
|
s.authors = ["James R. Bracy", "Jon Bracy"]
|
8
8
|
s.email = ["james@42floors.com"]
|
9
9
|
s.homepage = "http://mls.42floors.com"
|
@@ -24,13 +24,14 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_development_dependency 'bundler'
|
25
25
|
s.add_development_dependency 'minitest', '4.7.4'
|
26
26
|
s.add_development_dependency 'turn'
|
27
|
-
s.add_development_dependency 'faker'
|
28
|
-
s.add_development_dependency 'factory_girl'
|
27
|
+
# s.add_development_dependency 'faker'
|
28
|
+
# s.add_development_dependency 'factory_girl'
|
29
29
|
s.add_development_dependency 'fakeweb'
|
30
30
|
|
31
31
|
# Runtime
|
32
32
|
s.add_runtime_dependency 'activesupport'
|
33
33
|
# the gem provides factories, so this is required as a runtime dependency
|
34
|
+
s.add_runtime_dependency 'faker'
|
34
35
|
s.add_runtime_dependency 'factory_girl'
|
35
36
|
s.add_runtime_dependency 'yajl-ruby'
|
36
37
|
s.add_runtime_dependency 'rest-client'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James R. Bracy
|
@@ -9,62 +9,62 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-02-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '0'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rdoc
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: sdoc
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '0'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: bundler
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
@@ -85,112 +85,98 @@ dependencies:
|
|
85
85
|
name: turn
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - '>='
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '0'
|
105
|
-
type: :development
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - '>='
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: factory_girl
|
99
|
+
name: fakeweb
|
114
100
|
requirement: !ruby/object:Gem::Requirement
|
115
101
|
requirements:
|
116
|
-
- -
|
102
|
+
- - ">="
|
117
103
|
- !ruby/object:Gem::Version
|
118
104
|
version: '0'
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
108
|
requirements:
|
123
|
-
- -
|
109
|
+
- - ">="
|
124
110
|
- !ruby/object:Gem::Version
|
125
111
|
version: '0'
|
126
112
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
113
|
+
name: activesupport
|
128
114
|
requirement: !ruby/object:Gem::Requirement
|
129
115
|
requirements:
|
130
|
-
- -
|
116
|
+
- - ">="
|
131
117
|
- !ruby/object:Gem::Version
|
132
118
|
version: '0'
|
133
|
-
type: :
|
119
|
+
type: :runtime
|
134
120
|
prerelease: false
|
135
121
|
version_requirements: !ruby/object:Gem::Requirement
|
136
122
|
requirements:
|
137
|
-
- -
|
123
|
+
- - ">="
|
138
124
|
- !ruby/object:Gem::Version
|
139
125
|
version: '0'
|
140
126
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
127
|
+
name: faker
|
142
128
|
requirement: !ruby/object:Gem::Requirement
|
143
129
|
requirements:
|
144
|
-
- -
|
130
|
+
- - ">="
|
145
131
|
- !ruby/object:Gem::Version
|
146
132
|
version: '0'
|
147
133
|
type: :runtime
|
148
134
|
prerelease: false
|
149
135
|
version_requirements: !ruby/object:Gem::Requirement
|
150
136
|
requirements:
|
151
|
-
- -
|
137
|
+
- - ">="
|
152
138
|
- !ruby/object:Gem::Version
|
153
139
|
version: '0'
|
154
140
|
- !ruby/object:Gem::Dependency
|
155
141
|
name: factory_girl
|
156
142
|
requirement: !ruby/object:Gem::Requirement
|
157
143
|
requirements:
|
158
|
-
- -
|
144
|
+
- - ">="
|
159
145
|
- !ruby/object:Gem::Version
|
160
146
|
version: '0'
|
161
147
|
type: :runtime
|
162
148
|
prerelease: false
|
163
149
|
version_requirements: !ruby/object:Gem::Requirement
|
164
150
|
requirements:
|
165
|
-
- -
|
151
|
+
- - ">="
|
166
152
|
- !ruby/object:Gem::Version
|
167
153
|
version: '0'
|
168
154
|
- !ruby/object:Gem::Dependency
|
169
155
|
name: yajl-ruby
|
170
156
|
requirement: !ruby/object:Gem::Requirement
|
171
157
|
requirements:
|
172
|
-
- -
|
158
|
+
- - ">="
|
173
159
|
- !ruby/object:Gem::Version
|
174
160
|
version: '0'
|
175
161
|
type: :runtime
|
176
162
|
prerelease: false
|
177
163
|
version_requirements: !ruby/object:Gem::Requirement
|
178
164
|
requirements:
|
179
|
-
- -
|
165
|
+
- - ">="
|
180
166
|
- !ruby/object:Gem::Version
|
181
167
|
version: '0'
|
182
168
|
- !ruby/object:Gem::Dependency
|
183
169
|
name: rest-client
|
184
170
|
requirement: !ruby/object:Gem::Requirement
|
185
171
|
requirements:
|
186
|
-
- -
|
172
|
+
- - ">="
|
187
173
|
- !ruby/object:Gem::Version
|
188
174
|
version: '0'
|
189
175
|
type: :runtime
|
190
176
|
prerelease: false
|
191
177
|
version_requirements: !ruby/object:Gem::Requirement
|
192
178
|
requirements:
|
193
|
-
- -
|
179
|
+
- - ">="
|
194
180
|
- !ruby/object:Gem::Version
|
195
181
|
version: '0'
|
196
182
|
description: Ruby library for integrating with the 42Floors MLS
|
@@ -200,7 +186,7 @@ executables: []
|
|
200
186
|
extensions: []
|
201
187
|
extra_rdoc_files: []
|
202
188
|
files:
|
203
|
-
- .gitignore
|
189
|
+
- ".gitignore"
|
204
190
|
- Gemfile
|
205
191
|
- README.rdoc
|
206
192
|
- Rakefile
|
@@ -279,17 +265,17 @@ require_paths:
|
|
279
265
|
- lib
|
280
266
|
required_ruby_version: !ruby/object:Gem::Requirement
|
281
267
|
requirements:
|
282
|
-
- -
|
268
|
+
- - ">="
|
283
269
|
- !ruby/object:Gem::Version
|
284
270
|
version: '0'
|
285
271
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
286
272
|
requirements:
|
287
|
-
- -
|
273
|
+
- - ">="
|
288
274
|
- !ruby/object:Gem::Version
|
289
275
|
version: '0'
|
290
276
|
requirements: []
|
291
277
|
rubyforge_project: mls
|
292
|
-
rubygems_version: 2.
|
278
|
+
rubygems_version: 2.2.0
|
293
279
|
signing_key:
|
294
280
|
specification_version: 4
|
295
281
|
summary: 42Floors MLS Client
|