forked from External/greenlight
start writing tests
This commit is contained in:
@ -2,6 +2,8 @@ class Meeting < ApplicationRecord
|
||||
|
||||
before_create :generate_meeting_id
|
||||
|
||||
validates :name, presence: true
|
||||
|
||||
belongs_to :room
|
||||
|
||||
# Creates a meeting on the BigBlueButton server.
|
||||
@ -11,9 +13,7 @@ class Meeting < ApplicationRecord
|
||||
logoutURL: options[:meeting_logout_url] || '',
|
||||
moderatorPW: random_password(12),
|
||||
attendeePW: random_password(12),
|
||||
moderatorOnlyMessage: options[:moderator_message],
|
||||
"meta_#{BigBlueHelper::META_LISTED}": false,
|
||||
"meta_#{BigBlueHelper::META_TOKEN}": name
|
||||
moderatorOnlyMessage: options[:moderator_message]
|
||||
}
|
||||
|
||||
#meeting_options.merge!(
|
||||
|
@ -11,7 +11,10 @@ class Room < ApplicationRecord
|
||||
|
||||
private
|
||||
|
||||
# Generates a uid for the room.
|
||||
def set_uid
|
||||
self.uid = Digest::SHA1.hexdigest(user.uid + user.provider + user.username)[0..12]
|
||||
digest = user.id.to_s + user.provider + user.username
|
||||
digest += user.uid unless user.uid.nil?
|
||||
self.uid = Digest::SHA1.hexdigest(digest)[0..12]
|
||||
end
|
||||
end
|
@ -1,7 +1,23 @@
|
||||
class User < ApplicationRecord
|
||||
|
||||
after_create :initialize_room
|
||||
before_save { email.downcase! }
|
||||
|
||||
has_one :room
|
||||
|
||||
validates :name, length: { maximum: 24 }, presence: true
|
||||
validates :username, presence: true
|
||||
validates :provider, presence: true
|
||||
validates :email, length: { maximum: 60 }, presence: true,
|
||||
uniqueness: { case_sensitive: false },
|
||||
format: {with: /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i }
|
||||
|
||||
validates :password, length: { minimum: 6 }, allow_nil: true
|
||||
|
||||
# We don't want to run the validations because they require a user
|
||||
# to have a password. Users who authenticate via omniauth won't.
|
||||
has_secure_password(validations: false)
|
||||
|
||||
class << self
|
||||
|
||||
# Generates a user from omniauth.
|
||||
@ -10,10 +26,6 @@ class User < ApplicationRecord
|
||||
user.name = send("#{auth['provider']}_name", auth)
|
||||
user.username = send("#{auth['provider']}_username", auth)
|
||||
user.email = send("#{auth['provider']}_email", auth)
|
||||
#user.token = auth['credentials']['token']
|
||||
|
||||
# Create a room for the user if they don't have one.
|
||||
user.room = Room.create unless user.room
|
||||
|
||||
user.save!
|
||||
user
|
||||
@ -48,4 +60,11 @@ class User < ApplicationRecord
|
||||
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Initializes a room for the user.
|
||||
def initialize_room
|
||||
self.room = Room.new
|
||||
self.save!
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user