Module: Sunrise::Models::User

Extended by:
ActiveSupport::Concern
Included in:
User
Defined in:
lib/sunrise/models/user.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#admin? ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/sunrise/models/user.rb', line 56

def admin?
  has_role?(:admin)
end

#default? ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/sunrise/models/user.rb', line 48

def default?
  has_role?(:default)
end

#has_role?(role_name) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/sunrise/models/user.rb', line 60

def has_role?(role_name)
  role_symbols.include?(role_name.to_sym)
end

#moderator? ⇒ Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/sunrise/models/user.rb', line 52

def moderator?
  has_role?(:moderator)
end

#role_empty? ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/sunrise/models/user.rb', line 64

def role_empty?
  role_type_id.nil?
end

#role_symbol ⇒ Object



72
73
74
# File 'lib/sunrise/models/user.rb', line 72

def role_symbol
  role_symbols.first
end

#role_symbols ⇒ Object



68
69
70
# File 'lib/sunrise/models/user.rb', line 68

def role_symbols
  [role_type.try(:code)]
end

#state ⇒ Object



76
77
78
79
80
81
82
# File 'lib/sunrise/models/user.rb', line 76

def state
  return 'active'   if active_for_authentication?
  return 'confirm'  unless confirmed?
  return 'suspend'  if access_locked?

  'pending'
end