diff --git a/admin/Gemfile b/admin/Gemfile index f310b9cf3..74f6a2125 100644 --- a/admin/Gemfile +++ b/admin/Gemfile @@ -14,7 +14,7 @@ else ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] ||= "true" end -gem 'rails' +gem 'rails', '~> 3.2.11' gem 'bootstrap-sass', '2.0.4' gem 'bcrypt-ruby', '3.0.1' diff --git a/db/manifest b/db/manifest index 81e889eef..189546cbe 100755 --- a/db/manifest +++ b/db/manifest @@ -111,3 +111,4 @@ feed.sql like_follower_poly_assoc.sql feed_use_recording.sql feed_autoincrement_primary_key.sql +music_sessions_plays.sql \ No newline at end of file diff --git a/db/up/music_sessions_plays.sql b/db/up/music_sessions_plays.sql new file mode 100644 index 000000000..1f049791a --- /dev/null +++ b/db/up/music_sessions_plays.sql @@ -0,0 +1,8 @@ +-- sessions +CREATE TABLE music_sessions_plays ( + id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(), + music_session_id VARCHAR(64) NOT NULL REFERENCES music_sessions_history(id) ON DELETE CASCADE, + player_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); \ No newline at end of file diff --git a/ruby/lib/jam_ruby.rb b/ruby/lib/jam_ruby.rb index 620fb52d7..6997821b9 100755 --- a/ruby/lib/jam_ruby.rb +++ b/ruby/lib/jam_ruby.rb @@ -74,6 +74,7 @@ require "jam_ruby/models/music_session" require "jam_ruby/models/music_session_comment" require "jam_ruby/models/music_session_history" require "jam_ruby/models/music_session_liker" +require "jam_ruby/models/music_session_play" require "jam_ruby/models/music_session_user_history" require "jam_ruby/models/music_session_perf_data" require "jam_ruby/models/invitation" @@ -118,7 +119,7 @@ require "jam_ruby/models/icecast_template_socket" require "jam_ruby/models/icecast_server_group" require "jam_ruby/models/icecast_mount_template" require "jam_ruby/models/facebook_signup" -require "jam_ruby/models/recordings_plays" +require "jam_ruby/models/recording_play" require "jam_ruby/models/feed" diff --git a/ruby/lib/jam_ruby/models/feed.rb b/ruby/lib/jam_ruby/models/feed.rb index 81cf53cac..cd4e85f1d 100644 --- a/ruby/lib/jam_ruby/models/feed.rb +++ b/ruby/lib/jam_ruby/models/feed.rb @@ -22,7 +22,8 @@ module JamRuby if sort == 'date' query = query.order('id DESC') elsif sort == 'plays' - query = query.order('') + query = query. + query = query.order('(COALESCE(recording., '')') end query diff --git a/ruby/lib/jam_ruby/models/music_session_play.rb b/ruby/lib/jam_ruby/models/music_session_play.rb new file mode 100644 index 000000000..16a2e5d12 --- /dev/null +++ b/ruby/lib/jam_ruby/models/music_session_play.rb @@ -0,0 +1,11 @@ +module JamRuby + class MusicSessionPlay < ActiveRecord::Base + + self.table_name = "music_sessions_plays" + + self.primary_key = 'id' + + belongs_to :music_session, :class_name => "JamRuby::MusicSession", :foreign_key => "music_session_id" + belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "player_id" + end +end diff --git a/ruby/lib/jam_ruby/models/recordings_plays.rb b/ruby/lib/jam_ruby/models/recordings_plays.rb deleted file mode 100644 index 401358154..000000000 --- a/ruby/lib/jam_ruby/models/recordings_plays.rb +++ /dev/null @@ -1,17 +0,0 @@ -module JamRuby - class RecordingsPlays < ActiveRecord::Base - - - self.table_name = "recordings_plays" - - self.primary_key = 'id' - - belongs_to :recording, - class_name: "JamRuby::Recording", - foreign_key: "recording_id" - - belongs_to :player, - class_name: "JamRuby::User", - foreign_key: "player_id" - end -end diff --git a/ruby/spec/factories.rb b/ruby/spec/factories.rb index 9db288300..8f3c4b86d 100644 --- a/ruby/spec/factories.rb +++ b/ruby/spec/factories.rb @@ -369,7 +369,7 @@ FactoryGirl.define do token_expires_at Time.now end - factory :recordings_plays, :class => JamRuby::RecordingsPlays do + factory :recordings_plays, :class => JamRuby::RecordingPlay do end end diff --git a/ruby/spec/jam_ruby/models/feed_spec.rb b/ruby/spec/jam_ruby/models/feed_spec.rb index 8851cc404..3c729316a 100644 --- a/ruby/spec/jam_ruby/models/feed_spec.rb +++ b/ruby/spec/jam_ruby/models/feed_spec.rb @@ -51,7 +51,7 @@ describe Feed do claimed_recording2 = FactoryGirl.create(:claimed_recording) MusicSessionHistory.delete_all - FactoryGirl.create(:recordings_plays, recording: claimed_recording1.recording, player:claimed_recording1.user) + FactoryGirl.create(:recordings_plays, recording: claimed_recording1.recording, user:claimed_recording1.user) feeds = Feed.index(:sort => 'plays') diff --git a/web/Gemfile b/web/Gemfile index 989e15502..8d6e06166 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -20,7 +20,7 @@ else ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] ||= "true" end gem 'builder' -gem 'rails', '>=3.2.11' +gem 'rails', '~>3.2.11' gem 'jquery-rails', '2.0.2' gem 'jquery-ui-rails' gem 'bootstrap-sass', '2.0.4'