Class: Isono::Runner::RpcServer::Server

Inherits:
Base
  • Object
show all
Defined in:
lib/isono/runner/rpc_server.rb

Instance Method Summary collapse

Methods inherited from Base

#optparse, #run

Methods included from Logger

included, initialize

Constructor Details

#initialize(builder_block) ⇒ Server

Returns a new instance of Server.



175
176
177
178
179
# File 'lib/isono/runner/rpc_server.rb', line 175

def initialize(builder_block)
  super()
  @endpoints = {}
  @builder_block = builder_block
end

Instance Method Details

#endpoint(endpoint, builder_class, *args) ⇒ Object

DSL method

Raises:

  • (ArgumentError)


182
183
184
185
186
# File 'lib/isono/runner/rpc_server.rb', line 182

def endpoint(endpoint, builder_class, *args)
  raise ArgumentError unless builder_class.is_a?(Class) && builder_class < EndpointBuilder
  raise "Duplicate endpoint name: #{endpoint}" if @endpoints[endpoint.to_s]
  @endpoints[endpoint.to_s] = builder_class.new(@node, *args)
end