Sha256: b9342b03f72e3723528f46d51641d74a540246ce8d17b781a9881cf15d9bae24

Contents?: true

Size: 782 Bytes

Versions: 1

Compression:

Stored size: 782 Bytes

Contents

require 'yaml'
require_relative '../../lib/vbucket'

module VBucket
  class Configuration
    attr_reader :share, :config_path

    def initialize(path_ = default_path)
      @config_path = path_ || default_path
      raise VBucket::MissingConfigFile, @config_path unless File.exist? @config_path
      config_data      = YAML.load_file(@config_path)
      @share = chk_data config_data[:share]
      raise VBucket::CannotAccessShare, @share unless share_exist?(@share)
    end

    private

    def default_path
      File.expand_path(File.join(File.dirname(__FILE__), '../../config/vbucket.conf'))
    end

    def chk_data(data_)
      raise VBucket::MissingConfigData, data_ unless data_
      data_
    end

    def share_exist?(path_)
      Dir.exist? path_
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vbucket-0.1.0 lib/vbucket/configuration.rb