Module: LazyMethods::ClassMethods
- Defined in:
- lib/lazy_methods.rb
Instance Method Summary collapse
- #define_async_class_methods(*method_names) ⇒ Object
- #define_async_methods(*method_names) ⇒ Object
- #define_lazy_class_methods(*method_names) ⇒ Object
- #define_lazy_methods(*method_names) ⇒ Object
Instance Method Details
#define_async_class_methods(*method_names) ⇒ Object
68 69 70 71 72 73 74 75 76 |
# File 'lib/lazy_methods.rb', line 68 def define_async_class_methods(*method_names) method_names.flatten.each do |method_name| class_eval <<-EOS def self.async_#{method_name}(*args, &block) AsyncProxy.new{ #{method_name}(*args, &block) } end EOS end end |
#define_async_methods(*method_names) ⇒ Object
48 49 50 51 52 53 54 55 56 |
# File 'lib/lazy_methods.rb', line 48 def define_async_methods(*method_names) method_names.flatten.each do |method_name| class_eval <<-EOS def async_#{method_name}(*args, &block) AsyncProxy.new{ #{method_name}(*args, &block) } end EOS end end |
#define_lazy_class_methods(*method_names) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/lazy_methods.rb', line 58 def define_lazy_class_methods(*method_names) method_names.flatten.each do |method_name| class_eval <<-EOS def self.lazy_#{method_name}(*args, &block) LazyProxy.new{ #{method_name}(*args, &block) } end EOS end end |
#define_lazy_methods(*method_names) ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/lazy_methods.rb', line 38 def define_lazy_methods(*method_names) method_names.flatten.each do |method_name| class_eval <<-EOS def lazy_#{method_name}(*args, &block) LazyProxy.new{ #{method_name}(*args, &block) } end EOS end end |