Sha256: d608faffc77ec319a37fa254cf9ed22742148b1bf80cf82631d8fe9e119424a5

Contents?: true

Size: 566 Bytes

Versions: 1

Compression:

Stored size: 566 Bytes

Contents

module CouchRest
  module Model
  
    # Thead safe caching of connection configuration files.
    class ConnectionConfig
      include Singleton

      def initialize
        @config_files = {}
        @mutex = Mutex.new
      end

      def [](file)
        @mutex.synchronize do
          @config_files[file] ||= load_config(file)
        end
      end

      private

      def load_config(file)
        if File.exists?(file)
          YAML::load(ERB.new(IO.read(file)).result).symbolize_keys
        else
          { }
        end
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
couchrest_model-2.2.0.beta2 lib/couchrest/model/connection_config.rb