diff options
Diffstat (limited to 'actionpack/lib/action_view/vendor/builder/blankslate.rb')
-rw-r--r-- | actionpack/lib/action_view/vendor/builder/blankslate.rb | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/actionpack/lib/action_view/vendor/builder/blankslate.rb b/actionpack/lib/action_view/vendor/builder/blankslate.rb deleted file mode 100644 index 1408c872cc..0000000000 --- a/actionpack/lib/action_view/vendor/builder/blankslate.rb +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env ruby -#-- -# Copyright 2004 by Jim Weirich (jim@weirichhouse.org). -# All rights reserved. - -# Permission is granted for use, copying, modification, distribution, -# and distribution of modified versions of this work as long as the -# above copyright notice is included. -#++ - -module Builder #:nodoc: - - # BlankSlate provides an abstract base class with no predefined - # methods (except for <tt>\_\_send__</tt> and <tt>\_\_id__</tt>). - # BlankSlate is useful as a base class when writing classes that - # depend upon <tt>method_missing</tt> (e.g. dynamic proxies). - class BlankSlate #:nodoc: - class << self - def hide(name) - undef_method name if - instance_methods.include?(name.to_s) and - name !~ /^(__|instance_eval)/ - end - end - - instance_methods.each { |m| hide(m) } - end -end - -# Since Ruby is very dynamic, methods added to the ancestors of -# BlankSlate <em>after BlankSlate is defined</em> will show up in the -# list of available BlankSlate methods. We handle this by defining a hook in the Object and Kernel classes that will hide any defined -module Kernel #:nodoc: - class << self - alias_method :blank_slate_method_added, :method_added - def method_added(name) - blank_slate_method_added(name) - return if self != Kernel - Builder::BlankSlate.hide(name) - end - end -end - -class Object #:nodoc: - class << self - alias_method :blank_slate_method_added, :method_added - def method_added(name) - blank_slate_method_added(name) - return if self != Object - Builder::BlankSlate.hide(name) - end - end -end |