lib/blockenspiel/unmixer_rubinius.rb in blockenspiel-0.4.3 vs lib/blockenspiel/unmixer_rubinius.rb in blockenspiel-0.4.4
- old
+ new
@@ -1,26 +1,26 @@
# -----------------------------------------------------------------------------
-#
+#
# Blockenspiel unmixer for Rubinius
-#
+#
# -----------------------------------------------------------------------------
# Copyright 2011 Daniel Azuma
-#
+#
# All rights reserved.
-#
+#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
-#
+#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# * Neither the name of the copyright holder, nor the names of any other
# contributors to this software, may be used to endorse or promote products
# derived from this software without specific prior written permission.
-#
+#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
@@ -33,28 +33,28 @@
# -----------------------------------------------------------------------------
;
module Blockenspiel
-
-
+
+
# :stopdoc:
-
+
module Unmixer
-
+
@old_metaclass = ''.respond_to?(:metaclass)
-
-
+
+
# Unmix a module from an object in Rubinius.
- #
+ #
# This implementation is based on unreleased code from the Mixology
# source, written by Dan Manges.
# See http://github.com/dan-manges/mixology
- #
+ #
# It has been stripped down and modified for compatibility with the
# Rubinius 1.0 release.
-
+
def self.unmix(obj_, mod_) # :nodoc:
last_super_ = @old_metaclass ? obj_.metaclass : obj_.singleton_class
this_super_ = last_super_.direct_superclass
while this_super_
if (this_super_ == mod_ || this_super_.respond_to?(:module) && this_super_.module == mod_)
@@ -67,20 +67,20 @@
this_super_ = this_super_.direct_superclass
end
end
nil
end
-
-
+
+
def self._reset_method_cache(obj_) # :nodoc:
obj_.methods.each do |name_|
::Rubinius::VM.reset_method_cache(name_.to_sym)
end
end
-
-
+
+
end
-
+
# :startdoc:
-
-
+
+
end