Class: MLS::TourRequest

Inherits:
Resource show all
Defined in:
lib/mls/models/tour_request.rb

Defined Under Namespace

Classes: Parser

Instance Attribute Summary collapse

Attributes inherited from Resource

#errors, #persisted

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

#==, #create!, inherited, #initialize, #new_record?, #persisted?, #properties, #properties_excluded_from_comparison, #properties_for_comparison, #save, #save!, #set_default_values, #to_key, #update!, #update_attributes

Constructor Details

This class inherits a constructor from MLS::Resource

Instance Attribute Details

#accountObject

Returns the value of attribute account.



20
21
22
# File 'lib/mls/models/tour_request.rb', line 20

def 
  @account
end

#additional_featuresObject

Returns the value of attribute additional_features.



20
21
22
# File 'lib/mls/models/tour_request.rb', line 20

def additional_features
  @additional_features
end

#listingObject

Returns the value of attribute listing.



20
21
22
# File 'lib/mls/models/tour_request.rb', line 20

def listing
  @listing
end

Class Method Details

.create(listing_id, account, tour = {}) ⇒ Object



70
71
72
73
74
# File 'lib/mls/models/tour_request.rb', line 70

def create(listing_id, , tour={})
  params = {:account => , :tour => tour}
  response = MLS.post("/listings/#{listing_id}/tour_requests", params)
  return MLS::TourRequest::Parser.parse(response.body)
end

.find_by_token(token) ⇒ Object



65
66
67
68
# File 'lib/mls/models/tour_request.rb', line 65

def find_by_token(token)
  response = MLS.get("/tour_requests/#{token}")
  MLS::TourRequest::Parser.parse(response.body)
end

.get_all_for_accountObject



60
61
62
63
# File 'lib/mls/models/tour_request.rb', line 60

def 
  response = MLS.get('/account/tour_requests')
  MLS::TourRequest::Parser.parse_collection(response.body)
end

Instance Method Details

#claim(agent) ⇒ Object



22
23
24
25
26
# File 'lib/mls/models/tour_request.rb', line 22

def claim(agent)
  MLS.post("/tour_requests/#{token}/claim", {:agent_id => agent.id}) do |response, code|
    return code == 200
  end
end

#claimed?Boolean

Returns:



45
46
47
# File 'lib/mls/models/tour_request.rb', line 45

def claimed?
  status == "claimed"
end

#decline(agent, reasons = nil) ⇒ Object



28
29
30
31
32
33
# File 'lib/mls/models/tour_request.rb', line 28

def decline(agent, reasons=nil)
  MLS.post("/tour_requests/#{token}/decline", 
    {:agent_id => agent.id, :reasons_to_decline => reasons}) do |response, code|
    return code == 200
  end
end

#declined?Boolean

Returns:



49
50
51
# File 'lib/mls/models/tour_request.rb', line 49

def declined?
  status == "declined"
end

#mark_viewed(agent) ⇒ Object



35
36
37
38
39
# File 'lib/mls/models/tour_request.rb', line 35

def mark_viewed(agent)
  MLS.post("/tour_requests/#{token}/mark_viewed", {:agent_id => agent.id}) do |response, code|
    return code == 200
  end
end

#to_hashObject



53
54
55
56
57
# File 'lib/mls/models/tour_request.rb', line 53

def to_hash
  hash = super
  hash[:additional_features_attributes] = additional_features.to_hash if additional_features
  hash
end

#viewed?Boolean

Returns:



41
42
43
# File 'lib/mls/models/tour_request.rb', line 41

def viewed?
  status != "new"
end