I\'ve been trying to tinker with a global Cache module, but I can\'t figure out why this isn\'t working.
Does anyone have any suggestions?
This is the error:
The calls to alias_method
will attempt to operate on instance methods. There is no instance method named get
in your Cache
module, so it fails.
Because you want to alias class methods (methods on the metaclass of Cache
), you would have to do something like:
class << Cache # Change context to metaclass of Cache
alias_method :get_not_modified, :get
alias_method :get, :get_modified
end
Cache.get
class << Cache # Change context to metaclass of Cache
alias_method :get, :get_not_modified
end