Sha256: 6eaad6172910b8650a903d89ec96cecae1ac1e0122c0b7982cee6b594c366a67

Contents?: true

Size: 912 Bytes

Versions: 11

Compression:

Stored size: 912 Bytes

Contents

module VagrantPlugins
  module Openstack
    class HttpConfig
      UNSET_VALUE = Vagrant.plugin('2', :config).const_get(:UNSET_VALUE)

      #
      # @return [Integer]
      attr_accessor :open_timeout

      #
      # @return [Integer]
      attr_accessor :read_timeout

      def initialize
        @open_timeout = UNSET_VALUE
        @read_timeout = UNSET_VALUE
      end

      def finalize!
        @open_timeout = 60 if @open_timeout == UNSET_VALUE
        @read_timeout = 30 if @read_timeout == UNSET_VALUE
      end

      def merge(other)
        result = self.class.new

        [self, other].each do |obj|
          obj.instance_variables.each do |key|
            next if key.to_s.start_with?('@__')

            value = obj.instance_variable_get(key)
            result.instance_variable_set(key, value) if value != UNSET_VALUE
          end
        end
        result
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
vagrant-openstack-illuin-provider-0.12.0 lib/vagrant-openstack-illuin-provider/config/http.rb
vagrant-openstack-provider-0.12.0 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-illuin-0.11.1 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.11.0 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.10.0 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.9.0 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.8.0 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.7.2 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.7.1 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.7.0 lib/vagrant-openstack-provider/config/http.rb
vagrant-openstack-provider-0.6.1 lib/vagrant-openstack-provider/config/http.rb