Class: Module

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

Instance Method Summary collapse

Instance Method Details

#lazy_attr_reader(name, &block) ⇒ Object



37
38
39
40
41
42
43
44
45
46
# File 'lib/inline_acceleration.rb', line 37

def lazy_attr_reader(name, &block)
  attr_name = name.to_s.gsub('?', '')
  define_method("lazy_attr_initialization_#{attr_name}".to_sym, block)
  class_eval "    def \#{name.to_s}\n      @\#{attr_name} = lazy_attr_initialization_\#{attr_name} if @\#{attr_name}.nil?\n      @\#{attr_name}\n    end\n  CODE_END\nend\n"

#parent_moduleObject



33
34
35
# File 'lib/inline_acceleration.rb', line 33

def parent_module
  self.name.split('::')[0..-2].join('::').to_class
end