Sha256: 067c744e1f8c056eb818cb2fc62feadd71d5030d4ee9b178ac47a61f421d3cf0

Contents?: true

Size: 648 Bytes

Versions: 1

Compression:

Stored size: 648 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?(:Coolio) && ::Coolio::Loop.default.
                                           has_active_watchers?
      @coolio        ||= RestCore::Coolio.new
    elsif Object.const_defined?(:EventMachine) && ::EventMachine.
                                                    reactor_running?
      @emhttprequest ||= RestCore::EmHttpRequest.new
    else
      @restclient    ||= RestCore::RestClient.new
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rest-core-1.0.0 lib/rest-core/app/auto.rb