Sha256: 0e2825f9bc0a4f98aa9690c7b441ed070cfaa0c63d76bfe359db24c643d121af

Contents?: true

Size: 941 Bytes

Versions: 3

Compression:

Stored size: 941 Bytes

Contents

# load configuration information from $HOME/.whimsy

require 'yaml'

module ASF

  class Config
    @home = ENV['HOME'] || Dir.pwd

    @config = YAML.load_file("#@home/.whimsy") rescue {}

    # default :svn and :git
    @config[:svn] ||= '/srv/svn/*'
    @config[:git] ||= '/srv/git/*'

    @config[:lib] ||= []

    # add gems to lib
    (@config[:gem] || {}).to_a.reverse.each do |name, version|
      begin
        gem = Gem::Specification.find_by_name(name, version)
        @config[:lib] += Dir[gem.lib_dirs_glob]
      rescue Gem::LoadError
      end
    end

    # add libraries to RUBYLIB, load path
    (@config[:lib] || []).reverse.each do |lib|
      next unless File.exist? lib
      lib = File.realpath(lib)
      ENV['RUBYLIB']=([lib] + ENV['RUBYLIB'].to_s.split(':')).uniq.join(':')
      $LOAD_PATH.unshift lib.untaint unless $LOAD_PATH.include? lib
    end

    def self.get(value)
      @config[value]
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
whimsy-asf-0.0.77 lib/whimsy/asf/config.rb
whimsy-asf-0.0.76 lib/whimsy/asf/config.rb
whimsy-asf-0.0.75 lib/whimsy/asf/config.rb