Class: Hobo::Config::File

Inherits:
Object
  • Object
show all
Defined in:
lib/hobo/config/file.rb

Class Method Summary collapse

Class Method Details

.load(file) ⇒ Object



14
15
16
17
18
19
# File 'lib/hobo/config/file.rb', line 14

def self.load(file)
  require 'yaml'
  config = ::File.exists?(file) ? YAML.load_file(file) : {}
  raise "Invalid hobo configuration (#{file})" unless config
  return DeepStruct.wrap(config)
end

.save(file, config) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/hobo/config/file.rb', line 4

def self.save(file, config)
  require 'yaml'
  config = config.unwrap if config.public_methods.include? :unwrap
  dir = ::File.dirname file
  FileUtils.mkdir_p dir unless ::File.exists? dir
  ::File.open(file, 'w+') do |f|
    f.puts config.to_yaml
  end
end