Commit d4014e2
Changed files (3)
app
models
spec
models
app/models/current.rb
@@ -2,6 +2,8 @@
class Current < ActiveSupport::CurrentAttributes
attribute :user, :token
+ attribute :request
+ attribute :session
attribute :request_id, :user_agent, :ip_address
def user?
@@ -14,9 +16,8 @@ class Current < ActiveSupport::CurrentAttributes
end
def access(request, session)
- self.request_id = request.uuid
- self.user_agent = request.user_agent
- self.ip_address = request.ip
+ self.request = request
+ self.session = session
uuid = session[:user_id]
self.user = User.find_by(uuid: uuid) if uuid.present?
end
app/models/user.rb
@@ -2,6 +2,8 @@
class User < ApplicationRecord
has_secure_password
+ has_many :sessions, foreign_key: "user_id", class_name: UserSession.name
+
validates :email, presence: true, email: true, uniqueness: {
case_sensitive: false
}
spec/models/user_spec.rb
@@ -1,4 +1,10 @@
require 'rails_helper'
RSpec.describe User do
+ describe "#sessions" do
+ subject { create(:user) }
+ let!(:user_session) { create(:user_session, user: subject) }
+
+ specify { expect(subject.sessions).to match_array([user_session]) }
+ end
end