Class: ActsAsFerret::BlankSlate

Inherits:
BlankSlate
  • Object
show all
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

FerretResult, SearchResults

Class Method Summary collapse

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