Class: MoxiworksPlatform::Contact
- Defined in:
- lib/moxiworks_platform/contact.rb
Overview
Moxi Works Platform Contact
Instance Attribute Summary collapse
-
#contact_name ⇒ String
the full name of this Contact.
-
#gender ⇒ String, Enumerated
the gender of this Contact.
-
#home_city ⇒ String
the city of the residence of this Contact.
-
#home_country ⇒ String
the country of the residence of this Contact.
-
#home_neighborhood ⇒ String
the neighborhood of the residence of this Contact.
-
#home_state ⇒ String
the state in which the residence of this Contact is located.
-
#home_street_address ⇒ String
the street address of the residence of this Contact.
-
#home_zip ⇒ String
the zip code of the residence of this Contact.
-
#job_title ⇒ String
the specific job title this contact has; ex: ‘Senior VP of Operations’.
-
#moxi_works_agent_id ⇒ String
moxi_works_agent_id is the Moxi Works Platform ID of the agent which a contact is or is to be associated with.
-
#note ⇒ String
more detailed information about the Contact.
-
#occupation ⇒ String
the general occupation of this contact; ex: ‘Software Developer’.
-
#partner_agent_id ⇒ String
your system’s unique identifier for the agent that this contact will be associated with.
-
#partner_contact_id ⇒ String
*your system’s* unique ID for the Contact.
-
#primary_email_address ⇒ String
the email address the contact would want to be contacted via first.
-
#primary_phone_number ⇒ String
the phone number the contact would want to be contacted via first.
-
#property_baths ⇒ Float
the number of bathrooms in the listing the contact has expressed interest in.
-
#property_beds ⇒ Integer
the number of bedrooms in the listing the contact has expressed interest in.
-
#property_city ⇒ String
the city in which the listing the contact has expressed interest in is located.
-
#property_list_price ⇒ Integer
the list_price of the property the contact has expressed interest in.
-
#property_listing_status ⇒ String
Property of Interest (POI) attribute.
-
#property_mls_id ⇒ String
the MLS ID of the listing that of the Property of Interest.
-
#property_photo_url ⇒ String
a full URL to a photo of the Property of Interest.
-
#property_state ⇒ String
the state in which the listing the contact has expressed interest in is located.
-
#property_street_address ⇒ String
the street address of the listing the contact has expressed interest in is located.
-
#property_url ⇒ String
a URL referencing a HTTP(S) location which has information about the listing.
-
#property_zip ⇒ String
the zip code in which the listing the contact has expressed interest in is located.
-
#search_city ⇒ String
the city which the contact has searched for listings in.
-
#search_max_lot_size ⇒ Integer
the maximum lot size used by the contact when searching for listings.
-
#search_max_price ⇒ Integer
the maximum price value used by the contact when searching for listings.
-
#search_max_sq_ft ⇒ Integer
the maximum listing square footage used by the contact when searching for listings.
-
#search_max_year_built ⇒ Integer
the maximum year built used by the contact when searching for listings.
-
#search_min_baths ⇒ Float
Property Search (PS) attribute.
-
#search_min_beds ⇒ Integer
the minimum number of bedrooms used by the contact when searching for listings.
-
#search_min_lot_size ⇒ Integer
the minimum lot size used by the contact when searching for listings.
-
#search_min_price ⇒ Integer
the minimum price used by the contact when searching for listings.
-
#search_min_sq_ft ⇒ Integer
the minimum square footage used by the contact when searching for listings.
-
#search_min_year_built ⇒ Integer
the minimum year built used by the contact when searching for listings.
-
#search_property_types ⇒ String
the property types used by the contact when searching for listings; ex: ‘Condo’ ‘Single-Family’ ‘Townhouse’.
-
#search_state ⇒ String
the state which the contact has searched for listings in.
-
#search_zip ⇒ String
the zip code which the contact has searched for listings in.
-
#secondary_email_address ⇒ String
an additional email address the contact would want to be contacted by.
-
#secondary_phone_number ⇒ String
an additional phone number the contact would want to be contacted by.
Class Method Summary collapse
-
.create(opts = {}) ⇒ MoxiworksPlatform::Contact
Creates a new Contact in Moxi Works Platform.
-
.delete(opts = {}) ⇒ Boolean
Delete a Contact your system has previously created in Moxi Works Platform.
-
.find(opts = {}) ⇒ MoxiworksPlatform::Contact
Find a Contact your system has previously created in Moxi Works Platform.
-
.search(opts = {}) ⇒ Array
Search an Agent’s Contacts in Moxi Works Platform.
-
.send_request(method, opts = {}, url = nil) ⇒ MoxiworksPlatform::Contact
Send our remote request to the Moxi Works Platform.
-
.update(opts = {}) ⇒ MoxiworksPlatform::Contact
Updates a previously created Contact in Moxi Works Platform.
Instance Method Summary collapse
-
#delete ⇒ Boolean
Delete an instance of MoxiWorksPlatform::Contact from Moxi Works Platform that your system has previously created.
-
#save ⇒ MoxiWorksPlatform::Contact
Save an instance of MoxiWorksPlatform::Contact to Moxi Works Platform.
Methods inherited from Resource
accept_header, attr_accessor, attributes, #attributes, auth_header, check_for_error_in_response, content_type_header, headers, #initialize, #method_missing, #numeric_attrs, #numeric_value_for, #to_hash
Constructor Details
This class inherits a constructor from MoxiworksPlatform::Resource
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class MoxiworksPlatform::Resource
Instance Attribute Details
#contact_name ⇒ String
the full name of this Contact
26 27 28 |
# File 'lib/moxiworks_platform/contact.rb', line 26 def contact_name @contact_name end |
#gender ⇒ String, Enumerated
The single character representation will be used after saving to Moxi Works Platform no matter whether the word or single character representation is passed in.
the gender of this Contact. the first initial of either gender type may be used or the full word ‘male’ or ‘female.’
35 36 37 |
# File 'lib/moxiworks_platform/contact.rb', line 35 def gender @gender end |
#home_city ⇒ String
the city of the residence of this Contact
47 48 49 |
# File 'lib/moxiworks_platform/contact.rb', line 47 def home_city @home_city end |
#home_country ⇒ String
the country of the residence of this Contact
this can either be the country’s abbreviation or the full name of the country
75 76 77 |
# File 'lib/moxiworks_platform/contact.rb', line 75 def home_country @home_country end |
#home_neighborhood ⇒ String
the neighborhood of the residence of this Contact
67 68 69 |
# File 'lib/moxiworks_platform/contact.rb', line 67 def home_neighborhood @home_neighborhood end |
#home_state ⇒ String
the state in which the residence of this Contact is located
this can either be the state’s abbreviation or the full name of the state
55 56 57 |
# File 'lib/moxiworks_platform/contact.rb', line 55 def home_state @home_state end |
#home_street_address ⇒ String
the street address of the residence of this Contact
41 42 43 |
# File 'lib/moxiworks_platform/contact.rb', line 41 def home_street_address @home_street_address end |
#home_zip ⇒ String
the zip code of the residence of this Contact
61 62 63 |
# File 'lib/moxiworks_platform/contact.rb', line 61 def home_zip @home_zip end |
#job_title ⇒ String
the specific job title this contact has; ex: ‘Senior VP of Operations’
81 82 83 |
# File 'lib/moxiworks_platform/contact.rb', line 81 def job_title @job_title end |
#moxi_works_agent_id ⇒ String
moxi_works_agent_id is the Moxi Works Platform ID of the agent which a contact is or is to be associated with.
this must be set for any Moxi Works Platform transaction
12 13 14 |
# File 'lib/moxiworks_platform/contact.rb', line 12 def moxi_works_agent_id @moxi_works_agent_id end |
#note ⇒ String
more detailed information about the Contact
87 88 89 |
# File 'lib/moxiworks_platform/contact.rb', line 87 def note @note end |
#occupation ⇒ String
the general occupation of this contact; ex: ‘Software Developer’
93 94 95 |
# File 'lib/moxiworks_platform/contact.rb', line 93 def occupation @occupation end |
#partner_agent_id ⇒ String
your system’s unique identifier for the agent that this contact will be associated with
99 100 101 |
# File 'lib/moxiworks_platform/contact.rb', line 99 def partner_agent_id @partner_agent_id end |
#partner_contact_id ⇒ String
*your system’s* unique ID for the Contact
this must be set for any Moxi Works Platform transaction
20 21 22 |
# File 'lib/moxiworks_platform/contact.rb', line 20 def partner_contact_id @partner_contact_id end |
#primary_email_address ⇒ String
the email address the contact would want to be contacted via first
105 106 107 |
# File 'lib/moxiworks_platform/contact.rb', line 105 def primary_email_address @primary_email_address end |
#primary_phone_number ⇒ String
the phone number the contact would want to be contacted via first
111 112 113 |
# File 'lib/moxiworks_platform/contact.rb', line 111 def primary_phone_number @primary_phone_number end |
#property_baths ⇒ Float
the number of bathrooms in the listing the contact has expressed interest in
Property of Interest (POI) attribute
132 |
# File 'lib/moxiworks_platform/contact.rb', line 132 attr_writer :property_baths |
#property_beds ⇒ Integer
the number of bedrooms in the listing the contact has expressed interest in
Property of Interest (POI) attribute
141 |
# File 'lib/moxiworks_platform/contact.rb', line 141 attr_writer :property_beds |
#property_city ⇒ String
the city in which the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
150 151 152 |
# File 'lib/moxiworks_platform/contact.rb', line 150 def property_city @property_city end |
#property_list_price ⇒ Integer
the list_price of the property the contact has expressed interest in
Property of Interest (POI) attribute
159 |
# File 'lib/moxiworks_platform/contact.rb', line 159 attr_writer :property_list_price |
#property_listing_status ⇒ String
Property of Interest (POI) attribute
the status of the listing of the Property of Interest; ex: ‘Active’ or ‘Sold’
168 169 170 |
# File 'lib/moxiworks_platform/contact.rb', line 168 def property_listing_status @property_listing_status end |
#property_mls_id ⇒ String
the MLS ID of the listing that of the Property of Interest
Property of Interest (POI) attribute
177 178 179 |
# File 'lib/moxiworks_platform/contact.rb', line 177 def property_mls_id @property_mls_id end |
#property_photo_url ⇒ String
a full URL to a photo of the Property of Interest
Property of Interest (POI) attribute
186 187 188 |
# File 'lib/moxiworks_platform/contact.rb', line 186 def property_photo_url @property_photo_url end |
#property_state ⇒ String
the state in which the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
195 196 197 |
# File 'lib/moxiworks_platform/contact.rb', line 195 def property_state @property_state end |
#property_street_address ⇒ String
the street address of the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
204 205 206 |
# File 'lib/moxiworks_platform/contact.rb', line 204 def property_street_address @property_street_address end |
#property_url ⇒ String
a URL referencing a HTTP(S) location which has information about the listing
Property of Interest (POI) attribute
213 214 215 |
# File 'lib/moxiworks_platform/contact.rb', line 213 def property_url @property_url end |
#property_zip ⇒ String
the zip code in which the listing the contact has expressed interest in is located
Property of Interest (POI) attribute
222 223 224 |
# File 'lib/moxiworks_platform/contact.rb', line 222 def property_zip @property_zip end |
#search_city ⇒ String
the city which the contact has searched for listings in
Property Search (PS) attribute
231 232 233 |
# File 'lib/moxiworks_platform/contact.rb', line 231 def search_city @search_city end |
#search_max_lot_size ⇒ Integer
the maximum lot size used by the contact when searching for listings
Property Search (PS) attribute
258 |
# File 'lib/moxiworks_platform/contact.rb', line 258 attr_writer :search_max_lot_size |
#search_max_price ⇒ Integer
the maximum price value used by the contact when searching for listings
Property Search (PS) attribute
267 |
# File 'lib/moxiworks_platform/contact.rb', line 267 attr_writer :search_max_price |
#search_max_sq_ft ⇒ Integer
the maximum listing square footage used by the contact when searching for listings
Property Search (PS) attribute
276 |
# File 'lib/moxiworks_platform/contact.rb', line 276 attr_writer :search_max_sq_ft |
#search_max_year_built ⇒ Integer
the maximum year built used by the contact when searching for listings
Property Search (PS) attribute
285 |
# File 'lib/moxiworks_platform/contact.rb', line 285 attr_writer :search_max_year_built |
#search_min_baths ⇒ Float
Property Search (PS) attribute
the minimum number of bathrooms used by the contact when searching for listings
294 |
# File 'lib/moxiworks_platform/contact.rb', line 294 attr_writer :search_min_baths |
#search_min_beds ⇒ Integer
the minimum number of bedrooms used by the contact when searching for listings
Property Search (PS) attribute
303 |
# File 'lib/moxiworks_platform/contact.rb', line 303 attr_writer :search_min_beds |
#search_min_lot_size ⇒ Integer
the minimum lot size used by the contact when searching for listings
Property Search (PS) attribute
312 |
# File 'lib/moxiworks_platform/contact.rb', line 312 attr_writer :search_min_lot_size |
#search_min_price ⇒ Integer
the minimum price used by the contact when searching for listings
Property Search (PS) attribute
321 |
# File 'lib/moxiworks_platform/contact.rb', line 321 attr_writer :search_min_price |
#search_min_sq_ft ⇒ Integer
the minimum square footage used by the contact when searching for listings
Property Search (PS) attribute
330 |
# File 'lib/moxiworks_platform/contact.rb', line 330 attr_writer :search_min_sq_ft |
#search_min_year_built ⇒ Integer
the minimum year built used by the contact when searching for listings
Property Search (PS) attribute
339 |
# File 'lib/moxiworks_platform/contact.rb', line 339 attr_writer :search_min_year_built |
#search_property_types ⇒ String
the property types used by the contact when searching for listings; ex: ‘Condo’ ‘Single-Family’ ‘Townhouse’
Property Search (PS) attribute
348 349 350 |
# File 'lib/moxiworks_platform/contact.rb', line 348 def search_property_types @search_property_types end |
#search_state ⇒ String
the state which the contact has searched for listings in
Property Search (PS) attribute
240 241 242 |
# File 'lib/moxiworks_platform/contact.rb', line 240 def search_state @search_state end |
#search_zip ⇒ String
the zip code which the contact has searched for listings in
Property Search (PS) attribute
249 250 251 |
# File 'lib/moxiworks_platform/contact.rb', line 249 def search_zip @search_zip end |
#secondary_email_address ⇒ String
an additional email address the contact would want to be contacted by
117 118 119 |
# File 'lib/moxiworks_platform/contact.rb', line 117 def secondary_email_address @secondary_email_address end |
#secondary_phone_number ⇒ String
an additional phone number the contact would want to be contacted by
123 124 125 |
# File 'lib/moxiworks_platform/contact.rb', line 123 def secondary_phone_number @secondary_phone_number end |
Class Method Details
.create(opts = {}) ⇒ MoxiworksPlatform::Contact
Creates a new Contact in Moxi Works Platform
429 430 431 |
# File 'lib/moxiworks_platform/contact.rb', line 429 def self.create(opts={}) self.send_request(:post, opts) end |
.delete(opts = {}) ⇒ Boolean
Delete a Contact your system has previously created in Moxi Works Platform
594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 |
# File 'lib/moxiworks_platform/contact.rb', line 594 def self.delete(opts={}) url = "#{MoxiworksPlatform::Config.url}/api/contacts/#{opts[:partner_contact_id]}" required_opts = [:moxi_works_agent_id, :partner_contact_id] required_opts.each do |opt| raise ::MoxiworksPlatform::Exception::ArgumentError, "#{opt} required" if opts[opt].nil? or opts[opt].to_s.empty? end RestClient::Request.execute(method: :delete, url: url, payload: opts, headers: self.headers) do |response| puts response if MoxiworksPlatform::Config.debug json = JSON.parse(response) json['status'] == 'success' end end |
.find(opts = {}) ⇒ MoxiworksPlatform::Contact
Find a Contact your system has previously created in Moxi Works Platform
443 444 445 446 |
# File 'lib/moxiworks_platform/contact.rb', line 443 def self.find(opts={}) url = "#{MoxiworksPlatform::Config.url}/api/contacts/#{opts[:partner_contact_id]}" self.send_request(:get, opts, url) end |
.search(opts = {}) ⇒ Array
Search an Agent’s Contacts in Moxi Works Platform
469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 |
# File 'lib/moxiworks_platform/contact.rb', line 469 def self.search(opts={}) url ||= "#{MoxiworksPlatform::Config.url}/api/contacts" required_opts = [:moxi_works_agent_id] required_opts.each do |opt| raise ::MoxiworksPlatform::Exception::ArgumentError, "#{opt} required" if opts[opt].nil? or opts[opt].to_s.empty? end results = [] RestClient::Request.execute(method: :get, url: url, payload: opts, headers: self.headers) do |response| puts response if MoxiworksPlatform::Config.debug self.check_for_error_in_response(response) json = JSON.parse(response) json.each do |r| results << MoxiworksPlatform::Contact.new(r) unless r.nil? or r.empty? end end results end |
.send_request(method, opts = {}, url = nil) ⇒ MoxiworksPlatform::Contact
Send our remote request to the Moxi Works Platform
672 673 674 675 676 677 678 679 680 681 |
# File 'lib/moxiworks_platform/contact.rb', line 672 def self.send_request(method, opts={}, url=nil) url ||= "#{MoxiworksPlatform::Config.url}/api/contacts" required_opts = [:moxi_works_agent_id, :partner_contact_id] required_opts.each do |opt| raise ::MoxiworksPlatform::Exception::ArgumentError, "#{opt} required" if opts[opt].nil? or opts[opt].to_s.empty? end opts[:contact_id] = opts[:partner_contact_id] super(method, opts, url) end |
.update(opts = {}) ⇒ MoxiworksPlatform::Contact
Updates a previously created Contact in Moxi Works Platform
572 573 574 575 576 |
# File 'lib/moxiworks_platform/contact.rb', line 572 def self.update(opts={}) opts[:contact_id] = opts[:partner_contact_id] url = "#{MoxiworksPlatform::Config.url}/api/contacts/#{opts[:partner_contact_id]}" self.send_request(:put, opts, url) end |
Instance Method Details
#delete ⇒ Boolean
Delete an instance of MoxiWorksPlatform::Contact from Moxi Works Platform that your system has previously created
706 707 708 |
# File 'lib/moxiworks_platform/contact.rb', line 706 def delete MoxiworksPlatform::Contact.delete(self.to_hash) end |
#save ⇒ MoxiWorksPlatform::Contact
Save an instance of MoxiWorksPlatform::Contact to Moxi Works Platform
694 695 696 |
# File 'lib/moxiworks_platform/contact.rb', line 694 def save MoxiworksPlatform::Contact.update(self.to_hash) end |