Module: DrunkMonkey

Defined in:
lib/drunkmonkey.rb,
lib/drunkmonkey/version.rb,
lib/drunkmonkey/transport.rb

Defined Under Namespace

Modules: Transport Classes: Builder, Controller

Constant Summary collapse

Middleware =
self.middleware
VERSION =
"0.0.1"

Class Method Summary collapse

Class Method Details

.middlewareObject



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/drunkmonkey.rb', line 65

def self.middleware
  Class.new do
    class << self
      attr_accessor :builder
    end

    def initialize app, **options, &block
      if self.class.builder
        self.class.builder.run app
      else
        self.class.builder = Builder.new app, **options, &block
      end
    end
    
    def call env
      self.class.builder.call env
    end
  end
end