Module: Ghostable::ClassMethods

Defined in:
lib/ghostable.rb

Instance Method Summary collapse

Instance Method Details

#ghost_method(pattern, basename, &ghost_block) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/ghostable.rb', line 8

def ghost_method(pattern, basename, &ghost_block)
  define_method basename do |method_name, *args, &block|
    self.class.class_eval { ghost_block.call(method_name, *args, &block) }
  end

  @patterns ||= {}
  @patterns[basename] = pattern
  tmp_patterns = @patterns.dup
  define_method :get_patterns do
    tmp_patterns
  end
end