From 1752dffb95e57f9970cafb0c11ebd6a714e87c50 Mon Sep 17 00:00:00 2001 From: Andrew Tomaka Date: Wed, 15 Oct 2014 13:17:36 -0400 Subject: [PATCH] Setup models for friends --- app/models/friendship.rb | 4 ++++ app/models/user.rb | 3 +++ db/migrate/20141015144022_create_friendships.rb | 10 ++++++++++ db/schema.rb | 9 ++++++++- 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 app/models/friendship.rb create mode 100644 db/migrate/20141015144022_create_friendships.rb diff --git a/app/models/friendship.rb b/app/models/friendship.rb new file mode 100644 index 0000000..7d81232 --- /dev/null +++ b/app/models/friendship.rb @@ -0,0 +1,4 @@ +class Friendship < ActiveRecord::Base + belongs_to :user + belongs_to :friend, class_name: 'User' +end diff --git a/app/models/user.rb b/app/models/user.rb index b1903c3..0b1028c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,4 +1,7 @@ class User < ActiveRecord::Base + has_many :friendships + has_many :friends, through: :friendships + def self.from_omniauth(auth) where(provider: auth[:provider], uid: auth[:uid]).first_or_create do |user| user.provider = auth[:provider] diff --git a/db/migrate/20141015144022_create_friendships.rb b/db/migrate/20141015144022_create_friendships.rb new file mode 100644 index 0000000..0e350f0 --- /dev/null +++ b/db/migrate/20141015144022_create_friendships.rb @@ -0,0 +1,10 @@ +class CreateFriendships < ActiveRecord::Migration + def change + create_table :friendships do |t| + t.integer :user_id + t.integer :friend_id + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index f1104d1..14a7d8a 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,14 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20141002202749) do +ActiveRecord::Schema.define(version: 20141015144022) do + + create_table "friendships", force: true do |t| + t.integer "user_id" + t.integer "friend_id" + t.datetime "created_at" + t.datetime "updated_at" + end create_table "users", force: true do |t| t.string "provider"