Class: RubyProxy::KlassFactory
- Inherits:
-
Object
- Object
- RubyProxy::KlassFactory
- Defined in:
- lib/ruby_proxy/client.rb
Class Method Summary collapse
-
.make_class(klass_name) {|klass| ... } ⇒ Object
生成类,返回类常量.
- .make_klass(klass_name, type) ⇒ Object
- .make_module(klass_name) {|klass| ... } ⇒ Object
- .name_ok?(name) ⇒ Boolean
Class Method Details
.make_class(klass_name) {|klass| ... } ⇒ Object
生成类,返回类常量
107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/ruby_proxy/client.rb', line 107 def self.make_class(klass_name) klass_name = klass_name.to_s name_ok?(klass_name) eval " class \#{klass_name}\n end\n EOF\n klass = eval(klass_name)\n yield klass\n klass\nend\n" |
.make_klass(klass_name, type) ⇒ Object
95 96 97 98 99 100 101 102 103 104 |
# File 'lib/ruby_proxy/client.rb', line 95 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| ... } ⇒ Object
119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/ruby_proxy/client.rb', line 119 def self.make_module(klass_name) klass_name = klass_name.to_s name_ok?(klass_name) eval " module \#{klass_name}\n end\n EOF\n klass = eval(klass_name)\n yield klass\n klass\nend\n" |
.name_ok?(name) ⇒ Boolean
131 132 133 |
# File 'lib/ruby_proxy/client.rb', line 131 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 |