Sha256: 7aa68351c52f5da741b35963a075ac8bd4d53ebcb262292433e25f1b7539b8ce

Contents?: true

Size: 600 Bytes

Versions: 3

Compression:

Stored size: 600 Bytes

Contents

require 'rest-core/middleware'

class RestCore::Auto
  include RestCore::Middleware
  def call env
    client = http_client
    client.call(log(env, "Auto picked: #{client.class}"))
  end

  def http_client
    if Object.const_defined?(:EventMachine) && ::EventMachine.reactor_running?
      @emhttprequest ||= RestCore::EmHttpRequest.new

    elsif Object.const_defined?(:Coolio) && ::Coolio::Loop.default.
                                              has_active_watchers?
      @coolio        ||= RestCore::Coolio.new

    else
      @restclient    ||= RestCore::RestClient.new
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rest-core-1.0.3 lib/rest-core/app/auto.rb
rest-core-1.0.2 lib/rest-core/app/auto.rb
rest-core-1.0.1 lib/rest-core/app/auto.rb