Class: Wedge::Middleware

Inherits:
Object show all
Defined in:
lib/wedge/middleware.rb

Defined Under Namespace

Classes: Responder

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app = false, settings = false) ⇒ Middleware

Returns a new instance of Middleware.



5
6
7
8
9
10
11
12
# File 'lib/wedge/middleware.rb', line 5

def initialize(app = false, settings = false)
  Wedge.load_settings settings

  @app       = app
  @scope     = self.class.scope
  @skip_call = !self.class.skip_call.nil?? self.class.skip_call : Wedge.config.skip_call_middleware
  @opal      = Wedge.config.opal
end

Class Attribute Details

.scopeObject

Returns the value of attribute scope.



22
23
24
# File 'lib/wedge/middleware.rb', line 22

def scope
  @scope
end

.skip_callObject

Returns the value of attribute skip_call.



22
23
24
# File 'lib/wedge/middleware.rb', line 22

def skip_call
  @skip_call
end

Instance Attribute Details

#skip_callObject (readonly)

Returns the value of attribute skip_call.



3
4
5
# File 'lib/wedge/middleware.rb', line 3

def skip_call
  @skip_call
end

Class Method Details

.call(env) ⇒ Object



31
32
33
# File 'lib/wedge/middleware.rb', line 31

def call env
  self.new.call env
end

.scope!(scope) ⇒ Object



24
25
26
27
28
29
# File 'lib/wedge/middleware.rb', line 24

def scope! scope
  klass = Class.new(self)
  klass.instance_variable_set(:@scope, scope)
  klass.instance_variable_set(:@skip_call, false)
  klass
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
# File 'lib/wedge/middleware.rb', line 14

def call(env)
  responder = Responder.new(@app, @opal, @scope, @skip_call, env)
  responder.respond
ensure
  Wedge::Store.clear!
end