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



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

def self.emacs
  @config[:emacs]
end

.loadObject

(Re)load config file.



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

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