Class: RubyProxy::Proxy

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_proxy/proxy.rb

Constant Summary collapse

@@logger =
Logger.new(STDOUT)

Class Method Summary collapse

Class Method Details

.proxy(klass_name, method = nil, *arg) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/ruby_proxy/proxy.rb', line 13

def self.proxy(klass_name,method=nil,*arg)
  @@logger.debug "klass_name= #{klass_name}"
  @@logger.debug "method = #{method}"
  @@logger.debug "arg = #{arg.join(',')}"
  if method.nil?
    return proxy_module(klass_name)
  else
    return proxy_module(klass_name).send(method,*arg)
  end
end

.proxy_const_get(klass_name) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/ruby_proxy/proxy.rb', line 40

def self.proxy_const_get(klass_name)
  #@@logger.debug "const_get klass_name = #{klass_name}"

  atu = nil
  klass_name_array = klass_name.split('::')
  klass_name_array.shift if klass_name_array[0] == "ATU"
  klass_name_array.each do |m|
    if atu.nil?
      atu = ATU.const_get(m)
    else
      atu = atu.const_get(m)
    end
  end
  atu
end

.proxy_load(dir_or_file) ⇒ Object



24
25
26
27
# File 'lib/ruby_proxy/proxy.rb', line 24

def self.proxy_load(dir_or_file)
  ProxyLoad.load_path << dir_or_file
  ProxyLoad.load
end

.proxy_module(klass_name) ⇒ Object



34
35
36
37
38
# File 'lib/ruby_proxy/proxy.rb', line 34

def self.proxy_module(klass_name)
  m = proxy_const_get(klass_name)
  m.class_eval { include DRb::DRbUndumped } if ( m.class.to_s == "Class" or m.class.to_s == "Module" ) and ! m.include?(DRb::DRbUndumped)
  return m
end

.proxy_type(klass_name) ⇒ Object



29
30
31
32
# File 'lib/ruby_proxy/proxy.rb', line 29

def self.proxy_type(klass_name)
  #@@logger.debug "proxy_type: #{proxy_const_get(klass_name).name} type is #{proxy_const_get(klass_name).class.to_s}"

  return proxy_const_get(klass_name).class.to_s
end

.stop_proxyObject



55
56
57
# File 'lib/ruby_proxy/proxy.rb', line 55

def self.stop_proxy
  DRb.stop_service
end