Module: Kjson::Roda::ResponseMethods

Defined in:
lib/kjson/roda.rb

Instance Method Summary collapse

Instance Method Details

#data(dt) ⇒ Object



143
144
145
146
147
# File 'lib/kjson/roda.rb', line 143

def data(dt)
  @kjson_response = true
  @data = dt
  nil
end

#error(message, type = SERVICE_ERROR, cause = nil) ⇒ Object



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/kjson/roda.rb', line 149

def error(message, type=SERVICE_ERROR, cause=nil)
  @kjson_response = true
  @error = {
    "type" => type,
    "message" => message
  }
  case cause
  when Exception
    @error["cause"] = {
      "message" => cause.message,
      "backtrace" => cause.backtrace
    }
  when Hash
    @error["cause"] = cause
  end
  nil
end

#finishObject



167
168
169
170
171
172
173
174
175
# File 'lib/kjson/roda.rb', line 167

def finish
  if @kjson_response
    @body = [kjson_encode(
      "data" => @data,
      "error" => @error
    )]
  end
  super
end