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-client-0.0.1.alpha93 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha92 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-oathkeeper-client-0.38.20.beta1 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha91 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha90 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha89 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha88 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha87 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha86 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha85 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha84 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha83 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha82 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha81 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha80 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha79 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha78 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha77 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha76 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb
ory-client-0.0.1.alpha75 vendor/bundle/ruby/2.5.0/gems/ethon-0.15.0/lib/ethon/easy/mirror.rb