class User
def admin?
def admin? self.admin end
def content_editor?
def content_editor? self.content_editor end
def designer?
def designer? self.designer end
def has_role?(role)
def has_role?(role) case role when :admin self.admin? when :designer self.designer? when :content_editor self.content_editor? else false end end
def locale
def locale 'en' end
def name
def name "#{self.first_name} #{self.last_name}" end
def password_complexity
def password_complexity # Regexp extracted from https://stackoverflow.com/questions/19605150/regex-for-password-must-contain-at-least-eight-characters-at-least-one-number-a return if password.blank? || password =~ /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,70}$/ errors.add :password, 'Complexity requirement not met. Length should be 12 characters and include: 1 uppercase, 1 lowercase, 1 digit and 1 special character.' end
def password_required?
def password_required? return false if skip_password_validation super end