Skip to content

Instantly share code, notes, and snippets.

@osiro
Created September 14, 2012 06:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save osiro/3720288 to your computer and use it in GitHub Desktop.
Save osiro/3720288 to your computer and use it in GitHub Desktop.
Venue Model
class @Venue extends Spine.Model
@configure 'Venue', 'address', 'advertUrl', 'email', 'logo', 'latitude', 'longitude', 'name',
'phoneNumber', 'website', 'shortDescription', 'longDescription',
'openingHours', 'capacity', 'distance'
@extend Spine.Model.Local
@belongsTo 'venueType', 'VenueType'
@findByIds: (ids) ->
@ids = ids
Venue.select (venue) =>
$.inArray("#{venue.id}", @ids) > -1
@capacitySort: (v1, v2) ->
parseFloat(v2.capacity.overall.live) - parseFloat(v1.capacity.overall.live)
@calculateDistanceFromCurrentLocation: (venues) ->
for venue in venues
distance = maps.calculateDistance(new google.maps.LatLng(venue.latitude, venue.longitude))
venue.updateAttribute 'distance', distance
@distanceSort: (v1, v2) ->
parseFloat(v1.distance) - parseFloat(v2.distance)
@nameSort: (v1, v2) ->
if v1.name > v2.name then 1
else if v1.name == v2.name then 0
else -1
statsFor: (category, day) =>
@["capacity"][category][day.toLowerCase()]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment