Class: Evil::Client::Connection Abstract
- Inherits:
-
Object
- Object
- Evil::Client::Connection
- Extended by:
- Dry::Initializer::Mixin
- Defined in:
- lib/evil/client/connection.rb,
lib/evil/client/connection/net_http.rb
Overview
This class is abstract.
Base class for a specific connection to remote uri
Direct Known Subclasses
Defined Under Namespace
Classes: NetHTTP
Constant Summary collapse
- REGISTRY =
{ net_http: "NetHTTP" }.freeze
Class Method Summary collapse
-
.[](name = nil) ⇒ Class
Envokes a specific connection class.
Instance Method Summary collapse
- #call(_env) ⇒ Object abstract
Class Method Details
.[](name = nil) ⇒ Class
Envokes a specific connection class
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/evil/client/connection.rb', line 14 def self.[](name = nil) keys = REGISTRY.keys key = (name || keys.first).to_sym klass = REGISTRY.fetch(key) do raise ArgumentError.new "Connection '#{key}' is not registered." \ " Use the following keys: #{keys}" end require_relative "connection/#{key}" const_get klass end |
Instance Method Details
#call(_env) ⇒ Object
This method is abstract.
Sends request to the server and returns rack-compatible response
27 28 29 |
# File 'lib/evil/client/connection.rb', line 27 def call(_env, *) raise NotImplementedError end |