Module: JSONRPC

Defined in:
lib/jsonrpc.rb,
lib/jsonrpc/error.rb,
lib/jsonrpc/types.rb,
lib/jsonrpc/parser.rb,
lib/jsonrpc/helpers.rb,
lib/jsonrpc/railtie.rb,
lib/jsonrpc/request.rb,
lib/jsonrpc/version.rb,
lib/jsonrpc/response.rb,
lib/jsonrpc/validator.rb,
lib/jsonrpc/middleware.rb,
lib/jsonrpc/notification.rb,
lib/jsonrpc/batch_request.rb,
lib/jsonrpc/configuration.rb,
lib/jsonrpc/batch_response.rb,
lib/jsonrpc/errors/parse_error.rb,
lib/jsonrpc/railtie/routes_dsl.rb,
lib/jsonrpc/errors/internal_error.rb,
lib/jsonrpc/railtie/batch_constraint.rb,
lib/jsonrpc/railtie/mapper_extension.rb,
lib/jsonrpc/railtie/method_constraint.rb,
lib/jsonrpc/errors/invalid_params_error.rb,
lib/jsonrpc/errors/invalid_request_error.rb,
lib/jsonrpc/errors/method_not_found_error.rb

Overview

Encapsulates all the gem’s logic for JSON-RPC 2.0 protocol handling

Defined Under Namespace

Modules: Helpers, MapperExtension, Types Classes: BatchConstraint, BatchRequest, BatchResponse, Configuration, Error, InternalError, InvalidParamsError, InvalidRequestError, MethodConstraint, MethodNotFoundError, Middleware, Notification, ParseError, Parser, Railtie, Request, Response, RoutesDsl, Validator

Constant Summary collapse

VERSION =

The version of the gem

Returns:

  • (String)

    The current version number

'0.6.0'

Class Method Summary collapse

Class Method Details

.configurationConfiguration

Returns the current JSON-RPC configuration instance

Examples:

Access configuration

config = JSONRPC.configuration
config.procedure?('add') # => true/false

Returns:



64
65
66
# File 'lib/jsonrpc.rb', line 64

def self.configuration
  Configuration.instance
end

.configure { ... } ⇒ void

This method returns an undefined value.

Configures the JSON-RPC middleware with procedure definitions

Examples:

Configure procedures

JSONRPC.configure do
  procedure('subtract') do
    params do
      required(:minuend).value(:integer)
      required(:subtrahend).value(:integer)
    end
  end
end

Yields:

  • Block containing procedure definitions using the Configuration DSL



50
51
52
# File 'lib/jsonrpc.rb', line 50

def self.configure(&)
  Configuration.instance.instance_eval(&)
end