Sha256: 545620b8eaf5839c8ffe63a7315881de06f6063f0273f2ce356647c8045d6b33

Contents?: true

Size: 547 Bytes

Versions: 5

Compression:

Stored size: 547 Bytes

Contents

module Rack::App::InstanceMethods::Core

  attr_writer :env, :request, :response

  def env
    @env || raise("env object is not set for #{self.class}")
  end

  def request
    @request || raise("request object is not set for #{self.class}")
  end

  def response
    @response || raise("response object is not set for #{self.class}")
  end

  def respond_with(value = response)
    case value
    when Rack::Response
      throw(:rack_response, value)
    else
      throw(:response_body, value)
    end
  end

  alias finish! respond_with

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rack-app-11.0.2 lib/rack/app/instance_methods/core.rb
rack-app-11.0.1 lib/rack/app/instance_methods/core.rb
rack-app-11.0.0 lib/rack/app/instance_methods/core.rb
rack-app-10.0.0 lib/rack/app/instance_methods/core.rb
rack-app-9.0.0 lib/rack/app/instance_methods/core.rb