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
generate proxy class.
- .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
generate proxy class
127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/ruby_proxy/client.rb', line 127 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) ⇒ Object
115 116 117 118 119 120 121 122 123 124 |
# File 'lib/ruby_proxy/client.rb', line 115 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
139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/ruby_proxy/client.rb', line 139 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) ⇒ Boolean
151 152 153 |
# File 'lib/ruby_proxy/client.rb', line 151 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 |