Sha256: 85c9dab7242ba53dd888f4928dfb7b58eaee66799beb924a99b94e5f2dd8b145

Contents?: true

Size: 669 Bytes

Versions: 4

Compression:

Stored size: 669 Bytes

Contents

class Rack::App::Endpoint

  require "forwardable"
  extend Forwardable
  def_delegators :@config, :request_method, :request_path, :description

  require "rack/app/endpoint/config"
  require "rack/app/endpoint/builder"
  require "rack/app/endpoint/executor"

  attr_reader :config

  def initialize(properties)
    @config = Rack::App::Endpoint::Config.new(properties)
  end

  def fork(differences_in_properties)
    self.class.new(self.properties.merge(differences_in_properties))
  end

  def properties
    @config.to_hash
  end

  def call(env)
    to_app.call(env)
  end

  def to_app
    @config.application || self.class::Builder.new(@config).build
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rack-app-5.4.0 lib/rack/app/endpoint.rb
rack-app-5.3.2 lib/rack/app/endpoint.rb
rack-app-5.3.1 lib/rack/app/endpoint.rb
rack-app-5.3.0 lib/rack/app/endpoint.rb