Sha256: fa823dc6e6748b1538257c63f4667edc0389c7d6fd15078e0f6dbe413a698033

Contents?: true

Size: 897 Bytes

Versions: 6759

Compression:

Stored size: 897 Bytes

Contents

# frozen_string_literal: true
module Ethon
  class Easy
    class Mirror
      attr_reader :options
      alias_method :to_hash, :options

      INFORMATIONS_TO_MIRROR = Informations::AVAILABLE_INFORMATIONS.keys +
          [:return_code, :response_headers, :response_body, :debug_info]

      INFORMATIONS_TO_LOG = [:effective_url, :response_code, :return_code, :total_time]

      def self.from_easy(easy)
        options = {}
        INFORMATIONS_TO_MIRROR.each do |info|
          options[info] = easy.send(info)
        end
        new(options)
      end

      def initialize(options = {})
        @options = options
      end

      def log_informations
        Hash[*INFORMATIONS_TO_LOG.map do |info|
          [info, options[info]]
        end.flatten]
      end

      INFORMATIONS_TO_MIRROR.each do |info|
        eval %Q|def #{info}; options[#{info}]; end|
      end
    end
  end
end

Version data entries

6,759 entries across 6,757 versions & 23 rubygems

Version Path
ory-oathkeeper-client-0.38.22.beta1 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha107 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-hydra-client-1.11.7 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha106 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-hydra-client-1.11.6 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-keto-client-0.8.0.alpha1 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha105 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha104 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha103 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-hydra-client-1.11.5 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
cloudsmith-api-1.30.0 vendor/bundle/ruby/2.6.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha101 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha100 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-hydra-client-1.11.4 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha99 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha98 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha97 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha96 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha95 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha94 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb