rentlinx 0.7.1 → 0.7.2
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/rentlinx/client.rb +1 -1
- data/lib/rentlinx/modules/amenity_client_methods.rb +21 -2
- data/lib/rentlinx/modules/amenityable.rb +7 -1
- data/lib/rentlinx/modules/link_client_methods.rb +21 -2
- data/lib/rentlinx/modules/linkable.rb +7 -1
- data/lib/rentlinx/modules/photo_client_methods.rb +21 -2
- data/lib/rentlinx/modules/photoable.rb +7 -1
- data/lib/rentlinx/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10267302edef4619d3c54cdfd38a2ac28f30888f
|
4
|
+
data.tar.gz: a8249200c41e54bbdcf5447520396b5fab742e97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 378d358c7340a32907bf5ea61a7dcedc2db181d5436c7c1454b2c927a43a8383693b6bda3e8d7165612b90be3173b3568e05da3bc18c3cacfcfadd022700cdc5
|
7
|
+
data.tar.gz: 136bb509dad0430b9b6f1fc1ec6e46897ae738d4db1d10950431bacdc6568d479113d1796e59f6ee1b6533fce23a926adb197db406a4b4fdba45c20cba97c190
|
data/lib/rentlinx/client.rb
CHANGED
@@ -21,7 +21,7 @@ module Rentlinx
|
|
21
21
|
Rentlinx.password.nil? ||
|
22
22
|
Rentlinx.site_url.nil?
|
23
23
|
|
24
|
-
@url_prefix = (Rentlinx.site_url + '/').freeze
|
24
|
+
@url_prefix = (Rentlinx.site_url + '/').freeze # Extra slashes are fine
|
25
25
|
@api_token ||= authenticate(Rentlinx.username, Rentlinx.password)
|
26
26
|
end
|
27
27
|
|
@@ -12,6 +12,17 @@ module Rentlinx
|
|
12
12
|
post_unit_amenities(unit_amenities) unless unit_amenities.empty?
|
13
13
|
end
|
14
14
|
|
15
|
+
def unpost_amenities_for(object)
|
16
|
+
case object
|
17
|
+
when Rentlinx::Unit
|
18
|
+
post_amenities_for_unit_id(object.unitID, [])
|
19
|
+
when Rentlinx::Property
|
20
|
+
post_amenities_for_property_id(object.propertyID, [])
|
21
|
+
else
|
22
|
+
raise TypeError, "Type not permitted: #{object.class}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
15
26
|
def get_amenities_for_property_id(id)
|
16
27
|
data = request('GET', "properties/#{id}/amenities")['data']
|
17
28
|
data.map do |amenity_data|
|
@@ -47,7 +58,11 @@ module Rentlinx
|
|
47
58
|
# post_amenities should only be called from property or unit, so we don't need
|
48
59
|
# to handle multiple properties
|
49
60
|
def post_property_amenities(amenities)
|
50
|
-
|
61
|
+
post_amenities_for_property_id(amenities.first.propertyID, amenities)
|
62
|
+
end
|
63
|
+
|
64
|
+
def post_amenities_for_property_id(id, amenities)
|
65
|
+
request('PUT', "properties/#{id}/amenities", amenities.map(&:to_hash))
|
51
66
|
end
|
52
67
|
|
53
68
|
def post_unit_amenities(amenities)
|
@@ -61,10 +76,14 @@ module Rentlinx
|
|
61
76
|
end
|
62
77
|
|
63
78
|
hash.each do |unitID, unit_amenities|
|
64
|
-
|
79
|
+
post_amenities_for_unit_id(unitID, unit_amenities)
|
65
80
|
end
|
66
81
|
end
|
67
82
|
|
83
|
+
def post_amenities_for_unit_id(id, amenities)
|
84
|
+
request('PUT', "units/#{id}/amenities", amenities.map(&:to_hash))
|
85
|
+
end
|
86
|
+
|
68
87
|
def unpost_property_amenity(id, name)
|
69
88
|
request('DELETE', URI.encode("properties/#{id}/amenities/#{name}"))
|
70
89
|
end
|
@@ -6,7 +6,13 @@ module Rentlinx
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def post_amenities
|
9
|
-
|
9
|
+
return if @amenities.nil?
|
10
|
+
|
11
|
+
if @amenities.length == 0
|
12
|
+
Rentlinx.client.unpost_amenities_for(self)
|
13
|
+
else
|
14
|
+
Rentlinx.client.post_amenities(@amenities)
|
15
|
+
end
|
10
16
|
end
|
11
17
|
|
12
18
|
def amenities
|
@@ -13,6 +13,17 @@ module Rentlinx
|
|
13
13
|
post_unit_links(unit_links) unless unit_links.empty?
|
14
14
|
end
|
15
15
|
|
16
|
+
def unpost_links_for(object)
|
17
|
+
case object
|
18
|
+
when Rentlinx::Unit
|
19
|
+
post_links_for_unit_id(object.unitID, [])
|
20
|
+
when Rentlinx::Property
|
21
|
+
post_links_for_property_id(object.propertyID, [])
|
22
|
+
else
|
23
|
+
raise TypeError, 'Type not permitted: #{object.class}'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
16
27
|
def get_links_for_property_id(id)
|
17
28
|
data = request('GET', "properties/#{id}/links")['data']
|
18
29
|
data.map do |link_data|
|
@@ -46,7 +57,11 @@ module Rentlinx
|
|
46
57
|
private
|
47
58
|
|
48
59
|
def post_property_links(links)
|
49
|
-
|
60
|
+
post_links_for_property_id(links.first.propertyID, links)
|
61
|
+
end
|
62
|
+
|
63
|
+
def post_links_for_property_id(id, links)
|
64
|
+
request('PUT', "properties/#{id}/links", links.map(&:to_hash))
|
50
65
|
end
|
51
66
|
|
52
67
|
def post_unit_links(links)
|
@@ -60,10 +75,14 @@ module Rentlinx
|
|
60
75
|
end
|
61
76
|
|
62
77
|
hash.each do |unitID, unit_links|
|
63
|
-
|
78
|
+
post_links_for_unit_id(unitID, unit_links)
|
64
79
|
end
|
65
80
|
end
|
66
81
|
|
82
|
+
def post_links_for_unit_id(id, links)
|
83
|
+
request('PUT', "units/#{id}/links", links.map(&:to_hash))
|
84
|
+
end
|
85
|
+
|
67
86
|
def unpost_property_link(id, url)
|
68
87
|
request('DELETE', URI.encode("properties/#{id}/links/"), url: url)
|
69
88
|
end
|
@@ -12,6 +12,17 @@ module Rentlinx
|
|
12
12
|
post_unit_photos(unit_photos) unless unit_photos.empty?
|
13
13
|
end
|
14
14
|
|
15
|
+
def unpost_photos_for(object)
|
16
|
+
case object
|
17
|
+
when Rentlinx::Unit
|
18
|
+
post_photos_for_unit_id(object.unitID, [])
|
19
|
+
when Rentlinx::Property
|
20
|
+
post_photos_for_property_id(object.propertyID, [])
|
21
|
+
else
|
22
|
+
raise TypeError, "Type not permitted: #{object.class}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
15
26
|
def get_photos_for_property_id(id)
|
16
27
|
data = request('GET', "properties/#{id}/photos")['data']
|
17
28
|
data.map do |photo_data|
|
@@ -40,7 +51,11 @@ module Rentlinx
|
|
40
51
|
# post_photos should only be called from property or unit, so we don't need
|
41
52
|
# to handle multiple properties
|
42
53
|
def post_property_photos(photos)
|
43
|
-
|
54
|
+
post_photos_for_property_id(photos.first.propertyID, photos)
|
55
|
+
end
|
56
|
+
|
57
|
+
def post_photos_for_property_id(id, photos)
|
58
|
+
request('PUT', "properties/#{id}/photos", photos.map(&:to_hash))
|
44
59
|
end
|
45
60
|
|
46
61
|
def post_unit_photos(photos)
|
@@ -54,10 +69,14 @@ module Rentlinx
|
|
54
69
|
end
|
55
70
|
|
56
71
|
hash.each do |unitID, unit_photos|
|
57
|
-
|
72
|
+
post_photos_for_unit_id(unitID, unit_photos)
|
58
73
|
end
|
59
74
|
end
|
60
75
|
|
76
|
+
def post_photos_for_unit_id(id, photos)
|
77
|
+
request('PUT', "units/#{id}/photos", photos.map(&:to_hash))
|
78
|
+
end
|
79
|
+
|
61
80
|
def unpost_property_photo(id, url)
|
62
81
|
request('DELETE', "properties/#{id}/photos", url: url)
|
63
82
|
end
|
@@ -6,7 +6,13 @@ module Rentlinx
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def post_photos
|
9
|
-
|
9
|
+
return if @photos.nil?
|
10
|
+
|
11
|
+
if @photos.length == 0
|
12
|
+
Rentlinx.client.unpost_photos_for(self)
|
13
|
+
else
|
14
|
+
Rentlinx.client.post_photos(@photos)
|
15
|
+
end
|
10
16
|
end
|
11
17
|
|
12
18
|
def photos
|
data/lib/rentlinx/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rentlinx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AppFolio, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|