Class: RocketIO::Response

Inherits:
Rack::Response
  • Object
show all
Defined in:
lib/rocketio/controller/response.rb

Instance Method Summary collapse

Instance Method Details

#bodyObject



41
42
43
44
# File 'lib/rocketio/controller/response.rb', line 41

def body
  return EMPTY_ARRAY if @body.nil?
  @body.is_a?(String) ? [@body] : @body
end

#body=(value) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/rocketio/controller/response.rb', line 29

def body= value
  @body = case value
  when Rack::Response
    value.body
  when Proc
    def value.each; yield(call) end
    value
  else
    value
  end
end

#eachObject



50
51
52
# File 'lib/rocketio/controller/response.rb', line 50

def each
  block_given? ? super : enum_for(:each)
end

#empty_body?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/rocketio/controller/response.rb', line 46

def empty_body?
  @body == EMPTY_ARRAY || @body.nil?
end

#finishObject



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/rocketio/controller/response.rb', line 54

def finish
  headers[CONTENT_TYPE] ||= DEFAULT_CONTENT_TYPE

  if 
    headers.delete(CONTENT_LENGTH)
    headers.delete(CONTENT_TYPE)
  end

  if drop_body?
    close
    @body = EMPTY_ARRAY
  else
    if headers[CONTENT_TYPE] == APPLICATION_JSON
      @body = @body.to_json
    end
  end

  [status.to_i, headers, self.body]
end

#not_modified?Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/rocketio/controller/response.rb', line 78

def not_modified?
  status.to_i == 304
end

#precondition_failed?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/rocketio/controller/response.rb', line 74

def precondition_failed?
  status.to_i == 412
end