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)
  @path = parse(request.path_info)

  super request, response
end

Instance Attribute Details

#pathObject (readonly)

Returns the value of attribute path.



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

def path
  @path
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



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

def logger
  Application[:logger]
end

#paramsObject



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

def params
  request.params
end

#redirect(uri, status = 302) ⇒ Object



60
61
62
# File 'lib/tansu/environment.rb', line 60

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