Sha256: 50a594510de19ab00beb4e81885a6596756cc507c281a902849e36b063a5ebfa

Contents?: true

Size: 1.05 KB

Versions: 49

Compression:

Stored size: 1.05 KB

Contents

module ActiveFedora 
  class Config
    attr_reader :credentials
    def initialize(val)
      if val.is_a? Array
        init_shards(val)
      else 
        init_single(val)
      end
    end

    def sharded?
      credentials.is_a? Array
    end

    private

    def init_shards(vals)
        @credentials = vals.map(&:symbolize_keys)
    end

    def init_single(vals)
        @credentials = vals.symbolize_keys
        if @credentials[:url] && !@credentials[:user]
          ActiveSupport::Deprecation.warn("Configuring fedora with \":url\" without :user and :password is no longer supported.")
          u = URI.parse @credentials[:url]
          @credentials[:user] = u.user
          @credentials[:password] = u.password
          @credentials[:url] = "#{u.scheme}://#{u.host}:#{u.port}#{u.path}"
        end
        unless @credentials.has_key?(:user) && @credentials.has_key?(:password) && @credentials.has_key?(:url)
          raise ActiveFedora::ConfigurationError, "Fedora configuration must provide :user, :password and :url."
        end
    end
  end
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
active-fedora-5.7.1 lib/active_fedora/config.rb
active-fedora-5.7.0 lib/active_fedora/config.rb
active-fedora-5.6.3 lib/active_fedora/config.rb
active-fedora-5.6.2 lib/active_fedora/config.rb
active-fedora-5.6.1 lib/active_fedora/config.rb
active-fedora-5.6.0 lib/active_fedora/config.rb
active-fedora-5.5.2 lib/active_fedora/config.rb
active-fedora-5.5.1 lib/active_fedora/config.rb
active-fedora-5.5.0 lib/active_fedora/config.rb
active-fedora-5.5.0.rc2 lib/active_fedora/config.rb
active-fedora-5.5.0.rc1 lib/active_fedora/config.rb
active-fedora-5.4.0 lib/active_fedora/config.rb
active-fedora-5.3.1 lib/active_fedora/config.rb
active-fedora-5.3.0 lib/active_fedora/config.rb
active-fedora-5.2.1 lib/active_fedora/config.rb
active-fedora-5.2.0 lib/active_fedora/config.rb
active-fedora-5.1.0 lib/active_fedora/config.rb
active-fedora-5.0.0 lib/active_fedora/config.rb
active-fedora-5.0.0.rc5 lib/active_fedora/config.rb
active-fedora-5.0.0.rc4 lib/active_fedora/config.rb