class RubyProxy::KlassFactory

Public Class Methods

make_class(klass_name) { |klass| ... } click to toggle source

generate proxy class

# File lib/woolen_common/ruby_proxy/client.rb, line 172
        def self.make_class(klass_name)
            klass_name = klass_name.to_s
            name_ok?(klass_name)
            eval <<-EOF
                class #{klass_name}
                end
            EOF
            klass = eval(klass_name)
            yield klass
            klass
        end
make_klass(klass_name, type) click to toggle source
# File lib/woolen_common/ruby_proxy/client.rb, line 160
def self.make_klass(klass_name, type)
    case type
        when 'Class'
            make_class(klass_name)
        when 'Module'
            make_module(klass_name)
        else
            raise TypeError, "wrong make_klass type: #{type}"
    end
end
make_module(klass_name) { |klass| ... } click to toggle source
# File lib/woolen_common/ruby_proxy/client.rb, line 184
        def self.make_module(klass_name)
            klass_name = klass_name.to_s
            name_ok?(klass_name)
            eval <<-EOF
                module #{klass_name}
                end
            EOF
            klass = eval(klass_name)
            yield klass
            klass
        end
name_ok?(name) click to toggle source
# File lib/woolen_common/ruby_proxy/client.rb, line 196
def self.name_ok?(name)
    raise TypeError, " name #{name} can't be class or module name." unless name =~ /^[A-Z][a-zA-Z_0-9]*/
end