Class: Calagator::Venue
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Calagator::Venue
- Includes:
- DecodeHtmlEntitiesHack, DuplicateChecking, StripWhitespace
- Defined in:
- app/models/calagator/venue.rb,
app/models/calagator/venue/search.rb,
app/models/calagator/venue/geocoder.rb,
app/models/calagator/venue/search_engine.rb,
app/models/calagator/venue/search_engine/sql.rb,
app/models/calagator/venue/search_engine/apache_sunspot.rb
Defined Under Namespace
Classes: Geocoder, Search, SearchEngine
Constant Summary
Constants included from DuplicateChecking
DuplicateChecking::DEFAULT_SQUASH_METHOD, DuplicateChecking::DUPLICATE_CHECKING_IGNORES_ATTRIBUTES, DuplicateChecking::DUPLICATE_MARK_COLUMN
Instance Attribute Summary collapse
-
#force_geocoding ⇒ Object
Returns the value of attribute force_geocoding.
Class Method Summary collapse
Instance Method Summary collapse
-
#full_address ⇒ Object
Display a single line address.
- #geocode! ⇒ Object
-
#geocode_address ⇒ Object
Get an address we can use for geocoding.
-
#location ⇒ Object
Return this venue’s latitude/longitude location, or nil if it doesn’t have one.
- #update_events_count! ⇒ Object
- #url=(value) ⇒ Object
Methods included from DuplicateChecking
#duplicate?, #find_exact_duplicates, included, #master?, #progenitor
Methods included from DecodeHtmlEntitiesHack
#decode_html_entities, included
Methods included from StripWhitespace
Instance Attribute Details
#force_geocoding ⇒ Object
Returns the value of attribute force_geocoding.
104 105 106 |
# File 'app/models/calagator/venue.rb', line 104 def force_geocoding @force_geocoding end |
Class Method Details
.search(query, opts = {}) ⇒ Object
78 79 80 |
# File 'app/models/calagator/venue.rb', line 78 def self.search(query, opts={}) SearchEngine.search(query, opts) end |
Instance Method Details
#full_address ⇒ Object
Display a single line address.
87 88 89 90 |
# File 'app/models/calagator/venue.rb', line 87 def full_address full_address = "#{street_address}, #{locality} #{region} #{postal_code} #{country}" full_address.strip != "," && full_address end |
#geocode! ⇒ Object
106 107 108 109 |
# File 'app/models/calagator/venue.rb', line 106 def geocode! Geocoder.geocode(self) true # Try to geocode, but don't complain if we can't. end |
#geocode_address ⇒ Object
Get an address we can use for geocoding
93 94 95 |
# File 'app/models/calagator/venue.rb', line 93 def geocode_address full_address or address end |
#location ⇒ Object
Return this venue’s latitude/longitude location, or nil if it doesn’t have one.
99 100 101 102 |
# File 'app/models/calagator/venue.rb', line 99 def location location = [latitude, longitude] location.all?(&:present?) && location end |
#update_events_count! ⇒ Object
111 112 113 |
# File 'app/models/calagator/venue.rb', line 111 def update_events_count! update_attribute(:events_count, events.non_duplicates.count) end |
#url=(value) ⇒ Object
82 83 84 |
# File 'app/models/calagator/venue.rb', line 82 def url=(value) super UrlPrefixer.prefix(value) end |