Sha256: 3e82fea28f914fb844f7fb17c0cd10fb3af027b21cb5a20c9c20439c27a73c31

Contents?: true

Size: 1.59 KB

Versions: 3

Compression:

Stored size: 1.59 KB

Contents

# encoding: utf-8
# (c) 2011-2015 Martin Poljak (martin@poljak.cz)

require "json-rpc-objects/v11/alt/procedure-parameter-description"
require "json-rpc-objects/v11/wd/service-procedure-description"

##
# Main JSON-RPC Objects module.
#

module JsonRpcObjects

    ##
    # General module of JSON-RPC 1.1.
    #

    module V11

        ##
        # Module of JSON-RPC 1.1 Alternative.
        # @see http://groups.google.com/group/json-rpc/web/json-rpc-1-1-alt
        #
        
        module Alt
                
            ##
            # Description of one procedure of the service.
            #
            
            class ServiceProcedureDescription < JsonRpcObjects::V11::WD::ServiceProcedureDescription
            
                ##
                # Holds link to its version module.
                #
                
                VERSION = JsonRpcObjects::V11::Alt
                
                ##
                # Indicates the service procedure description class.
                #
                
                PARAMETER_DESCRIPTION_CLASS = JsonRpcObjects::V11::Alt::ProcedureParameterDescription
                
                ##
                # Checks correctness of the data.
                #
                
                def check!
                    super()
                    
                    if @params.kind_of? Array and (not @params.all? { |v| v.type != JsonRpcObjects::V11::GenericTypes::Nil })
                        raise Exception::new("Nil return type isn't allowed for parameters.")
                    end
                end

            end
        end
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
json-rpc-objects-0.4.6 lib/json-rpc-objects/v11/alt/service-procedure-description.rb
json-rpc-objects-0.4.5 lib/json-rpc-objects/v11/alt/service-procedure-description.rb
json-rpc-objects-0.4.4 lib/json-rpc-objects/v11/alt/service-procedure-description.rb