Class: CommandTower::Services::Me::Capabilities

Inherits:
Object
  • Object
show all
Defined in:
app/services/command_tower/services/me/capabilities.rb

Overview

Projects which Account self-service actions are enabled for the current user.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ Capabilities

Returns a new instance of Capabilities.



12
13
14
# File 'app/services/command_tower/services/me/capabilities.rb', line 12

def initialize(user)
  @user = user
end

Class Method Details

.project(user) ⇒ Object



8
9
10
# File 'app/services/command_tower/services/me/capabilities.rb', line 8

def self.project(user)
  new(user).project
end

Instance Method Details

#projectObject



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/services/command_tower/services/me/capabilities.rb', line 16

def project
  {
    editName: { enabled: !user.deleted? },
    editUsername: { enabled: false },
    changeEmail: { enabled: false },
    changePassword: { enabled: !user.deleted? },
    editPhone: { enabled: sms_enabled? && !user.deleted? },
    editPushover: { enabled: pushover_enabled? && !user.deleted? },
    logoutAllDevices: { enabled: false },
    verifyEmail: { enabled: !user.deleted? && !user.email_validated },
    deleteAccount: { enabled: !user.deleted? }
  }
end