Module: RDF::Util::Aliasing::LateBound
- Defined in:
- lib/rdf/util/aliasing.rb
Overview
Helpers for late-bound instance method aliasing.
Anything that extends this module will obtain an alias_method class method that creates late-bound instance method aliases instead of the default early-bound aliases created by Ruby’s Module#alias_method.
This is useful because RDF.rb mixins typically alias a number of overridable methods. For example, RDF::Enumerable#count has the aliases #size and #length. Normally if implementing classes were to override the default method, the aliased methods would still be bound to the mixin’s original reference implementation rather than the new overridden method. Mixing in this module into the implementing class fixes this problem.
Instance Method Summary collapse
-
#alias_method(new_name, old_name)
Makes
new_namea late-bound alias of the methodold_name.
Instance Method Details
#alias_method(new_name, old_name)
This method returns an undefined value.
Makes new_name a late-bound alias of the method old_name.
42 43 44 45 46 47 48 49 50 |
# File 'lib/rdf/util/aliasing.rb', line 42 def alias_method(new_name, old_name) new_name, old_name = new_name.to_sym, old_name.to_sym self.__send__(:define_method, new_name) do |*args, &block| __send__(old_name, *args, &block) end return self end |