Class: Murmur::Ice::Server
- Inherits:
-
Object
- Object
- Murmur::Ice::Server
show all
- Defined in:
- lib/murmur-rpc/interfaces/ice.rb
Instance Method Summary
collapse
Constructor Details
#initialize(host, meta, id = nil, interface = nil) ⇒ Server
Returns a new instance of Server.
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 103
def initialize(host, meta, id = nil, interface = nil)
@meta = meta
@host = host
if id.nil? and interface.nil? then
raise "Must pass either a server ID or a server interface instance"
end
@interface = interface || begin
server = @meta.getServer(id)
raise ::Murmur::Ice::InvalidServerException if server.nil?
host.add_proxy_router(server)
end
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object
154
155
156
157
158
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 154
def method_missing(method, *args)
method = method.to_s
method.gsub!(/_([a-z])/) { $1.upcase }
@interface.send method, *args
end
|
Instance Method Details
#[](key) ⇒ Object
141
142
143
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 141
def [](key)
config[key]
end
|
#[]=(key, val) ⇒ Object
145
146
147
148
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 145
def []=(key, val)
@interface.setConf(key, val.to_s)
@config = nil
end
|
#config ⇒ Object
124
125
126
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 124
def config
@config = @meta.getDefaultConf.merge(@interface.getAllConf)
end
|
#destroy! ⇒ Object
Also known as:
delete
128
129
130
131
132
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 128
def destroy!
@interface.stop if running?
@host.uncache_server @interface.id
@interface.delete
end
|
#id ⇒ Object
116
117
118
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 116
def id
@interface.id
end
|
#restart! ⇒ Object
135
136
137
138
139
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 135
def restart!
@interface.stop if running?
@interface.start
@running = nil
end
|
#running? ⇒ Boolean
120
121
122
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 120
def running?
@interface.isRunning
end
|
#setConf(key, val) ⇒ Object
150
151
152
|
# File 'lib/murmur-rpc/interfaces/ice.rb', line 150
def setConf(key, val)
self[key] = val
end
|