# URI::Util (Module)

In: | uri/common.rb

## Methods

make_components_hash

## Public Instance methods

make_components_hash(klass, array_hash)

[Source]

    # File uri/common.rb, line 214
        def make_components_hash(klass, array_hash)
          tmp = {}
          if array_hash.kind_of?(Array) &&
              array_hash.size == klass.component.size - 1
            klass.component[1..-1].each_index do |i|
              begin
                tmp[klass.component[i + 1]] = array_hash[i].clone
              rescue TypeError
                tmp[klass.component[i + 1]] = array_hash[i]
              end
            end

          elsif array_hash.kind_of?(Hash)
            array_hash.each do |key, value|
              begin
                tmp[key] = value.clone
              rescue TypeError
                tmp[key] = value
              end
            end
          else
            raise ArgumentError,
              "expected Array of or Hash of components of #{klass.to_s} (#{klass.component[1..-1].join(', ')})"
          end
          tmp[:scheme] = klass.to_s.sub(/\A.*::/, '').downcase

          return tmp
        end

[Validate]