Class: Runbook::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/runbook/configuration.rb

Constant Summary collapse

GlobalConfigFile =
"/etc/runbook.conf"
ProjectConfigFile =
"Runbookfile"
UserConfigFile =
".runbook.conf"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



86
87
88
89
90
91
92
93
94
95
# File 'lib/runbook/configuration.rb', line 86

def initialize
  self.ssh_kit = SSHKit.config
  ssh_kit.output = Airbrussh::Formatter.new(
    $stdout,
    banner: nil,
    command_output: true,
  )
  self.enable_sudo_prompt = true
  self.use_same_sudo_password = true
end

Instance Attribute Details

#enable_sudo_promptObject

Returns the value of attribute enable_sudo_prompt.



19
20
21
# File 'lib/runbook/configuration.rb', line 19

def enable_sudo_prompt
  @enable_sudo_prompt
end

#ssh_kitObject

Returns the value of attribute ssh_kit.



18
19
20
# File 'lib/runbook/configuration.rb', line 18

def ssh_kit
  @ssh_kit
end

#use_same_sudo_passwordObject

Returns the value of attribute use_same_sudo_password.



20
21
22
# File 'lib/runbook/configuration.rb', line 20

def use_same_sudo_password
  @use_same_sudo_password
end

Class Method Details

._load_cli_configObject



80
81
82
83
84
# File 'lib/runbook/configuration.rb', line 80

def self._load_cli_config
  if cli_config_file && File.exist?(cli_config_file)
    load(cli_config_file)
  end
end

._load_global_configObject



58
59
60
# File 'lib/runbook/configuration.rb', line 58

def self._load_global_config
  load(GlobalConfigFile) if File.exist?(GlobalConfigFile)
end

._load_project_configObject



62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/runbook/configuration.rb', line 62

def self._load_project_config
  dir = Dir.pwd
  loop do
    config_path = File.join(dir, ProjectConfigFile)
    if File.exist?(config_path)
      load(config_path)
      return
    end
    break if File.identical?(dir, "/")
    dir = File.join(dir, "..")
  end
end

._load_user_configObject



75
76
77
78
# File 'lib/runbook/configuration.rb', line 75

def self._load_user_config
  user_config_file = File.join(ENV["HOME"], UserConfigFile)
  load(user_config_file) if File.exist?(user_config_file)
end

.cli_config_fileObject



26
27
28
# File 'lib/runbook/configuration.rb', line 26

def self.cli_config_file
  @cli_config_file
end

.cli_config_file=(cli_config_file) ⇒ Object



30
31
32
# File 'lib/runbook/configuration.rb', line 30

def self.cli_config_file=(cli_config_file)
  @cli_config_file = cli_config_file
end

.load_configObject



42
43
44
45
46
47
48
49
50
51
# File 'lib/runbook/configuration.rb', line 42

def self.load_config
  return if @loaded
  @loaded = true
  _load_global_config
  _load_project_config
  _load_user_config
  _load_cli_config
  # Set defaults
  Runbook.configure
end

.loadedObject



34
35
36
# File 'lib/runbook/configuration.rb', line 34

def self.loaded
  @loaded
end

.loaded=(loaded) ⇒ Object



38
39
40
# File 'lib/runbook/configuration.rb', line 38

def self.loaded=(loaded)
  @loaded = loaded
end

.reconfigureObject



53
54
55
56
# File 'lib/runbook/configuration.rb', line 53

def self.reconfigure
  @loaded = false
  load_config
end