Class: ActsAsFerret::BlankSlate
- Inherits:
-
BlankSlate
- Object
- BlankSlate
- ActsAsFerret::BlankSlate
- Defined in:
- lib/blank_slate.rb,
lib/blank_slate.rb
Overview
BlankSlate provides an abstract base class with no predefined methods (except for _\send_
and _\id_
). BlankSlate is useful as a base class when writing classes that depend upon method_missing
(e.g. dynamic proxies).
Direct Known Subclasses
Class Method Summary collapse
-
.hide(name) ⇒ Object
Hide the method named
name
in the BlankSlate class. -
.reveal(name) ⇒ Object
Redefine a previously hidden method so that it may be called on a blank slate object.
Class Method Details
.hide(name) ⇒ Object
Hide the method named name
in the BlankSlate class. Don’t hide instance_eval
or any method beginning with “__”.
30 31 32 33 34 35 36 |
# File 'lib/blank_slate.rb', line 30 def hide(name) if instance_methods.include?(name.to_s) and name !~ /^(__|instance_eval|methods)/ @hidden_methods ||= {} @hidden_methods[name.to_sym] = instance_method(name) undef_method name end end |
.reveal(name) ⇒ Object
Redefine a previously hidden method so that it may be called on a blank slate object.
no-op here since we don’t hide the methods we reveal where this is used in this implementation
43 44 |
# File 'lib/blank_slate.rb', line 43 def reveal(name) end |