jam-cloud/lib/jam_ruby/models/connection.rb

28 lines
840 B
Ruby

module JamRuby
class Connection < ActiveRecord::Base
SELECT_AT_LEAST_ONE = "Please select at least one track"
self.primary_key = 'id'
belongs_to :user, :class_name => "JamRuby::User"
belongs_to :music_session, :class_name => "JamRuby::MusicSession"
has_many :connection_tracks, :class_name => "JamRuby::ConnectionTrack", :inverse_of => :connection
after_save :require_at_least_one_track_when_in_session
# decides if a given user can access this client with p2p messaging
# the answer is yes if the user is in the same music session
def access_p2p?(user)
return self.music_session.users.exists?(user)
end
private
def require_at_least_one_track_when_in_session
if connection_tracks.count == 0
errors.add(:genres, SELECT_AT_LEAST_ONE)
end
end
end
end