Sha256: 1d2127372a908b05327cc6034b4541e0c04ee6bf5043c1a8fb8de8a37f82cffb
Contents?: true
Size: 964 Bytes
Versions: 3
Compression:
Stored size: 964 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' 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
herodot-0.1.6 | lib/herodot/configuration.rb |
herodot-0.1.5 | lib/herodot/configuration.rb |
herodot-0.1.4 | lib/herodot/configuration.rb |