Class: Tansu::Environment

Inherits:
Minicontext::Environment
  • Object
show all
Includes:
Render
Defined in:
lib/tansu/environment.rb

Constant Summary collapse

IS_RESPOND_TO_EACH =
-> (v) { v.respond_to?(:each) }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request, response = nil) ⇒ Environment

Returns a new instance of Environment.



9
10
11
12
13
# File 'lib/tansu/environment.rb', line 9

def initialize(request, response = nil)
  @params = parse(request)

  super request, response
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



5
6
7
# File 'lib/tansu/environment.rb', line 5

def params
  @params
end

Instance Method Details

#bind(val) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/tansu/environment.rb', line 15

def bind(val)
  res = case val
        when Response, Minicontext::Halt
          val
        when IS_RESPOND_TO_EACH
          response.body = val

          response
        when Fixnum
          response.status = val

          response
        when String
          response.body = [val]

          response
        else
          nil
        end

  super res
end

#headers(hash = nil) ⇒ Object



42
43
44
45
46
# File 'lib/tansu/environment.rb', line 42

def headers(hash = nil)
  response.headers.merge!(hash) if hash

  response.headers
end

#loggerObject



52
53
54
# File 'lib/tansu/environment.rb', line 52

def logger
  Application[:logger]
end

#redirect(uri, status = 302) ⇒ Object



56
57
58
# File 'lib/tansu/environment.rb', line 56

def redirect(uri, status = 302)
  response.redirect(uri, status)
end

#sessionObject



48
49
50
# File 'lib/tansu/environment.rb', line 48

def session
  request.session
end

#short_circuit?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/tansu/environment.rb', line 38

def short_circuit?
  super || redirect?
end