Class: RPCMapper::Adapters::AbstractAdapter

Inherits:
Object
  • Object
show all
Includes:
Logger
Defined in:
lib/rpc_mapper/adapters/abstract_adapter.rb

Direct Known Subclasses

BERTRPCAdapter

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Logger

included

Constructor Details

#initialize(options = {}) ⇒ AbstractAdapter

Returns a new instance of AbstractAdapter.



10
11
12
# File 'lib/rpc_mapper/adapters/abstract_adapter.rb', line 10

def initialize(options={})
  @options = options.dup
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



7
8
9
# File 'lib/rpc_mapper/adapters/abstract_adapter.rb', line 7

def options
  @options
end

Class Method Details

.create(type, options = {}) ⇒ Object



14
15
16
17
# File 'lib/rpc_mapper/adapters/abstract_adapter.rb', line 14

def self.create(type, options={})
  type = type ? @@registered_adapters[type.to_sym] : self
  type.new(options)
end

.register_as(name) ⇒ Object



31
32
33
# File 'lib/rpc_mapper/adapters/abstract_adapter.rb', line 31

def self.register_as(name)
  @@registered_adapters[name.to_sym] = self
end

Instance Method Details

#call(procedure, options = {}) ⇒ Object



19
20
21
# File 'lib/rpc_mapper/adapters/abstract_adapter.rb', line 19

def call(procedure, options={})
  log(options, "#{service_log_prefix} #{procedure}") { self.service.call.data_server.send(procedure, options) }
end

#serviceObject

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/rpc_mapper/adapters/abstract_adapter.rb', line 23

def service
  raise NotImplementedError, "You must not use the AbstractAdapter.  Implement an adapter that extends the AbstractAdapter class and overrides this method."
end

#service_log_prefixObject



27
28
29
# File 'lib/rpc_mapper/adapters/abstract_adapter.rb', line 27

def service_log_prefix
  "RPC"
end