Module: Bixby::Agent::Config

Included in:
Bixby::Agent
Defined in:
lib/bixby-agent/agent/config.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

KEYS =
%w{ manager_uri uuid mac_address access_key secret_key log_level }

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(clazz) ⇒ Object

ClassMethods



66
67
68
# File 'lib/bixby-agent/agent/config.rb', line 66

def self.included(clazz)
  clazz.extend(ClassMethods)
end

Instance Method Details

#config_dirObject



78
79
80
# File 'lib/bixby-agent/agent/config.rb', line 78

def config_dir
  self.class.config_dir
end

#config_fileObject



82
83
84
# File 'lib/bixby-agent/agent/config.rb', line 82

def config_file
  self.class.config_file
end

#init_config_dirObject



86
87
88
89
90
91
92
93
# File 'lib/bixby-agent/agent/config.rb', line 86

def init_config_dir
  return if File.exists? config_dir
  begin
    FileUtils.mkdir_p(config_dir)
  rescue Exception => ex
    raise IOError.new(ex.message)
  end
end

#new=(val) ⇒ Object



70
71
72
# File 'lib/bixby-agent/agent/config.rb', line 70

def new=(val)
  @new = val
end

#new?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/bixby-agent/agent/config.rb', line 74

def new?
  @new
end

#save_configObject



95
96
97
98
99
100
101
102
103
104
# File 'lib/bixby-agent/agent/config.rb', line 95

def save_config
  init_config_dir()
  config = {}
  KEYS.each do |k|
    m = k.to_sym
    config[k] = self.send(m) if self.respond_to? m
  end
  config["log_level"] = Logging::Logger.root.level
  File.open(config_file, 'w') { |out| out.write YAML.dump(config) }
end