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) ⇒ Array 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) key = (name || REGISTRY.keys.first).to_sym klass = REGISTRY.fetch(key) do fail ArgumentError.new "Connection '#{key}' is not registered." \ " Use the following keys: #{REGISTRY.keys}" end require_relative "connection/#{key}" const_get klass end |
Instance Method Details
#call(_env) ⇒ Array
This method is abstract.
Sends request to the server and returns rack-compatible response
31 32 33 |
# File 'lib/evil/client/connection.rb', line 31 def call(_env) fail NotImplementedError end |