Class: DRbProxy::Server
- Inherits:
-
Object
- Object
- DRbProxy::Server
- Defined in:
- lib/drbproxy/server.rb
Constant Summary collapse
- @@klasses =
[]
Instance Method Summary collapse
- #constant_for(klass_name, const_name) ⇒ Object
- #get_klass(klass_name) ⇒ Object
-
#initialize(options = {}) ⇒ Server
constructor
A new instance of Server.
- #klass_for(klass_name) ⇒ Object
- #new_object_for(klass_name, *args) ⇒ Object
- #ready? ⇒ Boolean
Constructor Details
#initialize(options = {}) ⇒ Server
Returns a new instance of Server.
4 5 6 |
# File 'lib/drbproxy/server.rb', line 4 def initialize(={}) @debug = [:debug] end |
Instance Method Details
#constant_for(klass_name, const_name) ⇒ Object
22 23 24 25 |
# File 'lib/drbproxy/server.rb', line 22 def constant_for(klass_name, const_name) puts "Retrieving constant #{klass_name}::#{const_name}" if @debug return get_klass(klass_name).const_get(const_name) end |
#get_klass(klass_name) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/drbproxy/server.rb', line 27 def get_klass(klass_name) klass_arch = klass_name.split('::') klass = Kernel klass_arch.each { |k| klass = klass.const_get(k) } unless @@klasses.include?(klass) klass.send :include, DRb::DRbUndumped klass.send :extend, DRb::DRbUndumped @@klasses << klass puts "Defined new class #{klass_name}" if @debug end klass end |
#klass_for(klass_name) ⇒ Object
18 19 20 |
# File 'lib/drbproxy/server.rb', line 18 def klass_for(klass_name) return get_klass(klass_name) end |
#new_object_for(klass_name, *args) ⇒ Object
12 13 14 15 16 |
# File 'lib/drbproxy/server.rb', line 12 def new_object_for(klass_name, *args) puts "Initializing new object #{klass_name}" if @debug klass = get_klass(klass_name) return klass.new(*args) end |
#ready? ⇒ Boolean
8 9 10 |
# File 'lib/drbproxy/server.rb', line 8 def ready? true end |