Class: Legion::CLI::Doctor::PermissionsCheck

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/cli/doctor/permissions_check.rb

Constant Summary collapse

DIRECTORIES =
[
  File.expand_path('~/.legionio'),
  File.expand_path('~/.legionio/settings'),
  File.expand_path('~/.legionio/logs'),
  '/tmp'
].freeze

Instance Method Summary collapse

Instance Method Details

#nameObject



14
15
16
# File 'lib/legion/cli/doctor/permissions_check.rb', line 14

def name
  'Permissions'
end

#runObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/legion/cli/doctor/permissions_check.rb', line 18

def run
  denied = unwritable_directories

  if denied.empty?
    Result.new(name: name, status: :pass, message: 'Directory permissions ok')
  else
    prescriptions = denied.map { |d| "Fix permissions: `chmod 755 #{d}`" }
    Result.new(
      name:         name,
      status:       :warn,
      message:      "Cannot write to: #{denied.join(', ')}",
      prescription: prescriptions.join('; ')
    )
  end
end