Sha256: b8b5a5934149a2d246d4550bd2dda51ba0b94b53f615a6ae447d5f80793d40b3

Contents?: true

Size: 604 Bytes

Versions: 14

Compression:

Stored size: 604 Bytes

Contents

module Hem
  module Config
    class File
      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

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

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
hem-1.2.4 lib/hem/config/file.rb
hem-1.2.3 lib/hem/config/file.rb
hem-1.2.2 lib/hem/config/file.rb
hem-1.2.1 lib/hem/config/file.rb
hem-1.2.0 lib/hem/config/file.rb
hem-1.1.2 lib/hem/config/file.rb
hem-1.1.1 lib/hem/config/file.rb
hem-1.1.0 lib/hem/config/file.rb
hem-1.0.1.beta6 lib/hem/config/file.rb
hem-1.0.1.beta5 lib/hem/config/file.rb
hem-1.0.1.beta4 lib/hem/config/file.rb
hem-1.0.1.beta3 lib/hem/config/file.rb
hem-1.0.1.beta2 lib/hem/config/file.rb
hem-1.0.1.beta1 lib/hem/config/file.rb