51 lines
1.1 KiB
Ruby
51 lines
1.1 KiB
Ruby
module JamRuby
|
|
class SavedTrack < ActiveRecord::Base
|
|
|
|
self.table_name = "saved_tracks"
|
|
|
|
self.primary_key = 'id'
|
|
|
|
SOUND = %w(mono stereo)
|
|
|
|
belongs_to :user, :class_name => "JamRuby::User", :inverse_of => :saved_tracks
|
|
belongs_to :instrument, :class_name => "JamRuby::Instrument"
|
|
|
|
validates :sound, :inclusion => {:in => SOUND}
|
|
|
|
# Copy an ephemeral track to create a saved one. Some fields are ok with defaults
|
|
def self.create_from_track(track)
|
|
saved_track = self.new
|
|
saved_track.user_id = track.connection.user.id
|
|
saved_track.instrument_id = track.instrument_id
|
|
saved_track.sound = track.sound
|
|
saved_track.save
|
|
saved_track
|
|
end
|
|
|
|
=begin
|
|
def self.save(id, connection_id, instrument_id, sound)
|
|
if id.nil?
|
|
track = Track.new()
|
|
track.connection_id = connection_id
|
|
else
|
|
track = Track.find(id)
|
|
end
|
|
|
|
unless instrument_id.nil?
|
|
track.instrument_id = instrument_id
|
|
end
|
|
|
|
unless sound.nil?
|
|
track.sound = sound
|
|
end
|
|
|
|
track.updated_at = Time.now.getutc
|
|
track.save
|
|
return track
|
|
end
|
|
=end
|
|
|
|
|
|
end
|
|
end
|