Sha256: faf92fbbd029ebfb07208224edde43aca3f74ad1f3b90a03a6cae1c4b7650c83
Contents?: true
Size: 994 Bytes
Versions: 1
Compression:
Stored size: 994 Bytes
Contents
require 'yaml' class Herodot::Configuration CONFIG_FILE = File.expand_path('~/.herodot.yml').freeze DEFAULT_CONFIGURATION = { 'projects_directory' => '~', 'work_times' => { 'work_start' => '9:30', 'lunch_break_start' => '13:00', 'lunch_break_end' => '13:30', 'work_end' => '18:00' } }.freeze def initialize(worklog_file = '~/.worklog') @worklog_file = worklog_file if File.exist?(CONFIG_FILE) @config = load_configuration else @config = DEFAULT_CONFIGURATION save_configuration end end def worklog_file File.expand_path(@worklog_file) end def projects_directory File.expand_path(@config['projects_directory']) end def work_times @config['work_times'].map { |k, v| [k.to_sym, v.split(':').map(&:to_i)] } end def save_configuration File.open(CONFIG_FILE, 'w') { |f| YAML.dump(@config, f) } end def load_configuration File.open(CONFIG_FILE) { |f| YAML.load(f) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
herodot-0.2.0 | lib/herodot/configuration.rb |