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