Class: Memit::ConfigRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/memit/config_repository.rb

Defined Under Namespace

Classes: UnparsableConfigFileError

Instance Method Summary collapse

Constructor Details

#initialize(config_path) ⇒ ConfigRepository

Returns a new instance of ConfigRepository.



8
9
10
# File 'lib/memit/config_repository.rb', line 8

def initialize(config_path)
  @config_path = config_path
end

Instance Method Details

#loadObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/memit/config_repository.rb', line 19

def load
  if File.exist?(@config_path)
    h = JSON.parse(File.read(@config_path))
    Memit::Config.new(h['data_path'])
  else
    Memit::Config.default
  end

rescue JSON::ParserError
  raise UnparsableConfigFileError
end

#save(config) ⇒ Object



12
13
14
15
16
17
# File 'lib/memit/config_repository.rb', line 12

def save(config)
  File.open(@config_path, 'w') do |f|
    h = {data_path: config.data_path}
    f.write(h.to_json)
  end
end