Module: CmdTools::Config

Extended by:
RubyPatch::AutoLoad
Defined in:
lib/cmd_tools/config.rb

Constant Summary collapse

CONFIG_DIR =
File.join(ENV['HOME'], '.config/cmd_tools')
CONFIG_FILE =
File.join(CONFIG_DIR, 'config.yaml')
CONFIG_DEFAULT =
{
  emacs: ENV['ALTERNATE_EDITOR'] || 'emacs',
}

Class Method Summary collapse

Class Method Details

.emacsObject



30
31
32
# File 'lib/cmd_tools/config.rb', line 30

def self.emacs
  @config[:emacs]
end

.loadObject

(Re)load config file.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/cmd_tools/config.rb', line 15

def self.load
  @config = if File.size?(CONFIG_FILE) and File.readable?(CONFIG_FILE)
              CONFIG_DEFAULT.merge(YAML.load_file(CONFIG_FILE))
            else
              FileUtils.mkdir_p(CONFIG_DIR)
              open(CONFIG_FILE, 'w'){|io|
                io.write(CONFIG_DEFAULT.to_yaml)
                io.flush
              }
              CONFIG_DEFAULT
            end

  self
end