simplyrets 0.1 → 1.0.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +46 -13
  3. data/README.org +6 -6
  4. data/example.rb +9 -9
  5. data/lib/simplyrets.rb +33 -56
  6. data/lib/simplyrets/#listing.rb# +199 -0
  7. data/lib/simplyrets/api/default_api.rb +154 -0
  8. data/lib/simplyrets/listing.rb~ +199 -0
  9. data/lib/simplyrets/models/agent.rb +61 -0
  10. data/lib/simplyrets/models/base_object.rb +87 -0
  11. data/lib/simplyrets/models/broker.rb +37 -0
  12. data/lib/simplyrets/models/contact_information.rb +53 -0
  13. data/lib/simplyrets/models/error.rb +45 -0
  14. data/lib/simplyrets/models/geographic_data.rb +69 -0
  15. data/lib/simplyrets/models/listing.rb +199 -0
  16. data/lib/simplyrets/models/listing.rb~ +199 -0
  17. data/lib/simplyrets/models/mls_information.rb +69 -0
  18. data/lib/simplyrets/models/office.rb +61 -0
  19. data/lib/simplyrets/models/open_house.rb +37 -0
  20. data/lib/simplyrets/models/parking.rb +53 -0
  21. data/lib/simplyrets/models/property.rb +277 -0
  22. data/lib/simplyrets/models/sales.rb +69 -0
  23. data/lib/simplyrets/models/school.rb +61 -0
  24. data/lib/simplyrets/models/street_address.rb +85 -0
  25. data/lib/simplyrets/models/tax.rb +53 -0
  26. data/lib/simplyrets/simplyrets.rb +76 -0
  27. data/lib/simplyrets/simplyrets/api_error.rb +26 -0
  28. data/lib/simplyrets/simplyrets/configuration.rb +101 -0
  29. data/lib/simplyrets/simplyrets/request.rb +213 -0
  30. data/lib/simplyrets/simplyrets/response.rb +156 -0
  31. data/lib/simplyrets/simplyrets/version.rb +5 -0
  32. data/simplyrets.gemspec +16 -9
  33. metadata +153 -36
  34. data/#example.rb# +0 -29
  35. data/lib/monkey.rb +0 -90
  36. data/lib/properties_api.rb +0 -75
  37. data/lib/simplyrets.rb~ +0 -85
  38. data/lib/simplyrets/configuration.rb +0 -25
  39. data/lib/simplyrets/request.rb +0 -205
  40. data/lib/simplyrets/response.rb +0 -70
  41. data/lib/simplyrets/version.rb +0 -4
  42. data/models/agent.rb +0 -39
  43. data/models/contactinformation.rb +0 -36
  44. data/models/geographicdata.rb +0 -43
  45. data/models/listing.rb +0 -95
  46. data/models/mlsinformation.rb +0 -35
  47. data/models/office.rb +0 -39
  48. data/models/property.rb +0 -84
  49. data/models/school.rb +0 -27
  50. data/models/streetaddress.rb +0 -47
  51. data/models/tax.rb +0 -28
  52. data/pkg/simplyrets-0.1.gem +0 -0
@@ -1,70 +0,0 @@
1
- module SimplyRets
2
-
3
- class Response
4
- require 'json'
5
-
6
- attr_accessor :raw
7
-
8
- def initialize(raw)
9
- self.raw = raw
10
-
11
- case self.code
12
- when 500..510 then raise(ServerError, self.error_message)
13
- when 299..426 then raise(ClientError, self.error_message)
14
- end
15
- end
16
-
17
- def code
18
- raw.code
19
- end
20
-
21
- # Account for error messages that take different forms...
22
- def error_message
23
- body['message']
24
- rescue
25
- body
26
- end
27
-
28
- # If body is JSON, parse it
29
- # Otherwise return raw string
30
- def body
31
- JSON.parse raw.body
32
- rescue
33
- raw.body
34
- end
35
-
36
- # `headers_hash` is a Typhoeus-specific extension of Hash,
37
- # so simplify it back into a regular old Hash.
38
- def headers
39
- h = {}
40
- raw.headers_hash.each {|k,v| h[k] = v }
41
- h
42
- end
43
-
44
- # Extract the response format from the header hash
45
- # e.g. {'Content-Type' => 'application/json'}
46
- def format
47
- headers['Content-Type'].split("/").last.downcase
48
- end
49
-
50
- def json?
51
- format == 'json'
52
- end
53
-
54
- def xml?
55
- format == 'xml'
56
- end
57
-
58
- def pretty_body
59
- return unless body.present?
60
- case format
61
- when 'json' then JSON.pretty_generate(body).gsub(/\n/, '<br/>')
62
- end
63
- end
64
-
65
- def pretty_headers
66
- JSON.pretty_generate(headers).gsub(/\n/, '<br/>')
67
- end
68
-
69
- end
70
- end
@@ -1,4 +0,0 @@
1
- module SimplyRets
2
- VERSION = "0.1"
3
- end
4
-
@@ -1,39 +0,0 @@
1
- class Agent
2
- attr_accessor :last_name, :contact, :first_name, :id
3
-
4
- # :internal => :external
5
- def self.attribute_map
6
- {
7
- :last_name => :lastName,
8
- :contact => :contact,
9
- :first_name => :firstName,
10
- :id => :id
11
-
12
- }
13
- end
14
-
15
- def initialize(attributes = {})
16
- return if attributes.empty?
17
- # Morph attribute keys into undescored rubyish style
18
- if self.class.attribute_map[:"last_name"]
19
- @last_name = attributes["lastName"]
20
- end
21
- if self.class.attribute_map[:"contact"]
22
- @contact = attributes["contact"]
23
- end
24
- if self.class.attribute_map[:"first_name"]
25
- @first_name = attributes["firstName"]
26
- end
27
- if self.class.attribute_map[:"id"]
28
- @id = attributes["id"]
29
- end
30
- end
31
-
32
- def to_body
33
- body = {}
34
- self.class.attribute_map.each_pair do |key, value|
35
- body[value] = self.send(key) unless self.send(key).nil?
36
- end
37
- body
38
- end
39
- end
@@ -1,36 +0,0 @@
1
- class ContactInformation
2
- attr_accessor :office, :cell, :full
3
-
4
- # :internal => :external
5
- def self.attribute_map
6
- {
7
- :office => :office,
8
- :cell => :cell,
9
- :full => :full
10
-
11
- }
12
- end
13
-
14
- def initialize(attributes = {})
15
- return if attributes.empty?
16
- # Morph attribute keys into undescored rubyish style
17
- if self.class.attribute_map[:"office"]
18
- @office = attributes["office"]
19
- end
20
- if self.class.attribute_map[:"cell"]
21
- @cell = attributes["cell"]
22
- end
23
- if self.class.attribute_map[:"full"]
24
- @full = attributes["full"]
25
- end
26
-
27
- end
28
-
29
- def to_body
30
- body = {}
31
- self.class.attribute_map.each_pair do |key, value|
32
- body[value] = self.send(key) unless self.send(key).nil?
33
- end
34
- body
35
- end
36
- end
@@ -1,43 +0,0 @@
1
- class GeographicData
2
- attr_accessor :county, :lat, :lng, :market_area, :directions
3
-
4
- # :internal => :external
5
- def self.attribute_map
6
- {
7
- :county => :county,
8
- :lat => :lat,
9
- :lng => :lng,
10
- :market_area => :marketArea,
11
- :directions => :directions
12
-
13
- }
14
- end
15
-
16
- def initialize(attributes = {})
17
- return if attributes.empty?
18
- # Morph attribute keys into undescored rubyish style
19
- if self.class.attribute_map[:"county"]
20
- @county = attributes["county"]
21
- end
22
- if self.class.attribute_map[:"lat"]
23
- @lat = attributes["lat"]
24
- end
25
- if self.class.attribute_map[:"lng"]
26
- @lng = attributes["lng"]
27
- end
28
- if self.class.attribute_map[:"market_area"]
29
- @market_area = attributes["marketArea"]
30
- end
31
- if self.class.attribute_map[:"directions"]
32
- @directions = attributes["directions"]
33
- end
34
- end
35
-
36
- def to_body
37
- body = {}
38
- self.class.attribute_map.each_pair do |key, value|
39
- body[value] = self.send(key) unless self.send(key).nil?
40
- end
41
- body
42
- end
43
- end
@@ -1,95 +0,0 @@
1
- class Listing
2
- attr_accessor :property, :mls_id, :showing_instructions, :office, :disclaimer, :address, :list_date, :agent, :modified, :school, :photos, :list_price, :listing_id, :mls, :geo, :tax, :remarks
3
-
4
- # :internal => :external
5
- def self.attribute_map
6
- {
7
- :property => :property,
8
- :mls_id => :mlsId,
9
- :showing_instructions => :showingInstructions,
10
- :office => :office,
11
- :disclaimer => :disclaimer,
12
- :address => :address,
13
- :list_date => :listDate,
14
- :agent => :agent,
15
- :modified => :modified,
16
- :school => :school,
17
- :photos => :photos,
18
- :list_price => :listPrice,
19
- :listing_id => :listingId,
20
- :mls => :mls,
21
- :geo => :geo,
22
- :tax => :tax,
23
- :remarks => :remarks
24
-
25
- }
26
- end
27
-
28
- def initialize(attributes = {})
29
- return if attributes.empty?
30
- # Morph attribute keys into undescored rubyish style
31
- if self.class.attribute_map[:"property"]
32
- @property = attributes["property"]
33
- end
34
- if self.class.attribute_map[:"mls_id"]
35
- @mls_id = attributes["mlsId"]
36
- end
37
- if self.class.attribute_map[:"showing_instructions"]
38
- @showing_instructions = attributes["showingInstructions"]
39
- end
40
- if self.class.attribute_map[:"office"]
41
- @office = attributes["office"]
42
- end
43
- if self.class.attribute_map[:"disclaimer"]
44
- @disclaimer = attributes["disclaimer"]
45
- end
46
- if self.class.attribute_map[:"address"]
47
- @address = attributes["address"]
48
- end
49
- if self.class.attribute_map[:"list_date"]
50
- @list_date = attributes["listDate"]
51
- end
52
- if self.class.attribute_map[:"agent"]
53
- @agent = attributes["agent"]
54
- end
55
- if self.class.attribute_map[:"modified"]
56
- @modified = attributes["modified"]
57
- end
58
- if self.class.attribute_map[:"school"]
59
- @school = attributes["school"]
60
- end
61
- if self.class.attribute_map[:"photos"]
62
- if (value = attributes["photos"]).is_a?(Array)
63
- @photos = value
64
-
65
- end
66
- end
67
- if self.class.attribute_map[:"list_price"]
68
- @list_price = attributes["listPrice"]
69
- end
70
- if self.class.attribute_map[:"listing_id"]
71
- @listing_id = attributes["listingId"]
72
- end
73
- if self.class.attribute_map[:"mls"]
74
- @mls = attributes["mls"]
75
- end
76
- if self.class.attribute_map[:"geo"]
77
- @geo = attributes["geo"]
78
- end
79
- if self.class.attribute_map[:"tax"]
80
- @tax = attributes["tax"]
81
- end
82
- if self.class.attribute_map[:"remarks"]
83
- @remarks = attributes["remarks"]
84
- end
85
-
86
- end
87
-
88
- def to_body
89
- body = {}
90
- self.class.attribute_map.each_pair do |key, value|
91
- body[value] = self.send(key) unless self.send(key).nil?
92
- end
93
- body
94
- end
95
- end
@@ -1,35 +0,0 @@
1
- class MlsInformation
2
- attr_accessor :status, :area, :days_on_market
3
-
4
- # :internal => :external
5
- def self.attribute_map
6
- {
7
- :status => :status,
8
- :area => :area,
9
- :days_on_market => :daysOnMarket
10
-
11
- }
12
- end
13
-
14
- def initialize(attributes = {})
15
- return if attributes.empty?
16
- # Morph attribute keys into undescored rubyish style
17
- if self.class.attribute_map[:"status"]
18
- @status = attributes["status"]
19
- end
20
- if self.class.attribute_map[:"area"]
21
- @area = attributes["area"]
22
- end
23
- if self.class.attribute_map[:"days_on_market"]
24
- @days_on_market = attributes["daysOnMarket"]
25
- end
26
- end
27
-
28
- def to_body
29
- body = {}
30
- self.class.attribute_map.each_pair do |key, value|
31
- body[value] = self.send(key) unless self.send(key).nil?
32
- end
33
- body
34
- end
35
- end
@@ -1,39 +0,0 @@
1
- class Office
2
- attr_accessor :contact, :name, :serving_name, :brokerid
3
-
4
- # :internal => :external
5
- def self.attribute_map
6
- {
7
- :contact => :contact,
8
- :name => :name,
9
- :serving_name => :servingName,
10
- :brokerid => :brokerid
11
-
12
- }
13
- end
14
-
15
- def initialize(attributes = {})
16
- return if attributes.empty?
17
- # Morph attribute keys into undescored rubyish style
18
- if self.class.attribute_map[:"contact"]
19
- @contact = attributes["contact"]
20
- end
21
- if self.class.attribute_map[:"name"]
22
- @name = attributes["name"]
23
- end
24
- if self.class.attribute_map[:"serving_name"]
25
- @serving_name = attributes["servingName"]
26
- end
27
- if self.class.attribute_map[:"brokerid"]
28
- @brokerid = attributes["brokerid"]
29
- end
30
- end
31
-
32
- def to_body
33
- body = {}
34
- self.class.attribute_map.each_pair do |key, value|
35
- body[value] = self.send(key) unless self.send(key).nil?
36
- end
37
- body
38
- end
39
- end
@@ -1,84 +0,0 @@
1
- class Property
2
- attr_accessor :roof, :style, :area, :baths_full, :baths_half, :stories, :fireplaces, :heating, :bedrooms, :interior_features, :lot_size, :exterior_features, :subdivision, :type, :year_built
3
-
4
- # :internal => :external
5
- def self.attribute_map
6
- {
7
- :roof => :roof,
8
- :style => :style,
9
- :area => :area,
10
- :baths_full => :bathsFull,
11
- :baths_half => :bathsHalf,
12
- :stories => :stories,
13
- :fireplaces => :fireplaces,
14
- :heating => :heating,
15
- :bedrooms => :bedrooms,
16
- :interior_features => :interiorFeatures,
17
- :lot_size => :lotSize,
18
- :exterior_features => :exteriorFeatures,
19
- :subdivision => :subdivision,
20
- :type => :type,
21
- :year_built => :yearBuilt
22
-
23
- }
24
- end
25
-
26
- def initialize(attributes = {})
27
- return if attributes.empty?
28
- # Morph attribute keys into undescored rubyish style
29
- if self.class.attribute_map[:"roof"]
30
- @roof = attributes["roof"]
31
- end
32
- if self.class.attribute_map[:"style"]
33
- @style = attributes["style"]
34
- end
35
- if self.class.attribute_map[:"area"]
36
- @area = attributes["area"]
37
- end
38
- if self.class.attribute_map[:"baths_full"]
39
- @baths_full = attributes["bathsFull"]
40
- end
41
- if self.class.attribute_map[:"baths_half"]
42
- @baths_half = attributes["bathsHalf"]
43
- end
44
- if self.class.attribute_map[:"stories"]
45
- @stories = attributes["stories"]
46
- end
47
- if self.class.attribute_map[:"fireplaces"]
48
- @fireplaces = attributes["fireplaces"]
49
- end
50
- if self.class.attribute_map[:"heating"]
51
- @heating = attributes["heating"]
52
- end
53
- if self.class.attribute_map[:"bedrooms"]
54
- @bedrooms = attributes["bedrooms"]
55
- end
56
- if self.class.attribute_map[:"interior_features"]
57
- @interior_features = attributes["interiorFeatures"]
58
- end
59
- if self.class.attribute_map[:"lot_size"]
60
- @lot_size = attributes["lotSize"]
61
- end
62
- if self.class.attribute_map[:"exterior_features"]
63
- @exterior_features = attributes["exteriorFeatures"]
64
- end
65
- if self.class.attribute_map[:"subdivision"]
66
- @subdivision = attributes["subdivision"]
67
- end
68
- if self.class.attribute_map[:"type"]
69
- @type = attributes["type"]
70
- end
71
- if self.class.attribute_map[:"year_built"]
72
- @year_built = attributes["yearBuilt"]
73
- end
74
-
75
- end
76
-
77
- def to_body
78
- body = {}
79
- self.class.attribute_map.each_pair do |key, value|
80
- body[value] = self.send(key) unless self.send(key).nil?
81
- end
82
- body
83
- end
84
- end