class Sinatra::JsonRpc::Response
Constants
- ERR_CODES
- Error
Attributes
id[RW]
jsonrpc[RW]
result[RW]
Public Class Methods
new(id = nil)
click to toggle source
# File lib/sinatra/json_rpc/response.rb, line 29 def initialize(id = nil) @jsonrpc, @id = "2.0", id end
Public Instance Methods
error()
click to toggle source
# File lib/sinatra/json_rpc/response.rb, line 33 def error @error ||= Error.new end
error=(code)
click to toggle source
# File lib/sinatra/json_rpc/response.rb, line 37 def error= (code) raise Sinatra::JsonRpc::ResponseError unless ERR_CODES.has_key? code error.code = code error.message = ERR_CODES[code] end
to_json()
click to toggle source
# File lib/sinatra/json_rpc/response.rb, line 43 def to_json if valid? data = { jsonrpc: @jsonrpc, result: @result, error: @error, id: @id } data.delete_if { |_,v| v.blank? } MultiJson.dump(data) end end
Private Instance Methods
error_must_have_code_and_msg()
click to toggle source
# File lib/sinatra/json_rpc/response.rb, line 53 def error_must_have_code_and_msg if @error.present? raise Sinatra::JsonRpc::ResponseError unless @error.code.present? && @error.message.present? end end