Sha256: b8f5cba06a4dcbe871d771034a5b161ad2629b28facce158f2dd3b3e12d7d56c
Contents?: true
Size: 993 Bytes
Versions: 4
Compression:
Stored size: 993 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
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
herodot-0.1.10 | lib/herodot/configuration.rb |
herodot-0.1.9 | lib/herodot/configuration.rb |
herodot-0.1.8 | lib/herodot/configuration.rb |
herodot-0.1.7 | lib/herodot/configuration.rb |