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