25 lines
499 B
Ruby
25 lines
499 B
Ruby
class NilClass
|
|
def include?(*args)
|
|
false
|
|
end
|
|
end
|
|
|
|
module MethodPrependAndAppend
|
|
def before_method(m, &blk)
|
|
alias_method :"#{m}_before_extending", m
|
|
define_method m do
|
|
instance_eval(&blk)
|
|
send :"#{m}_before_extending"
|
|
end
|
|
end
|
|
def after_method(m, &blk)
|
|
alias_method :"#{m}_before_extending", m
|
|
define_method m do
|
|
result = send :"#{m}_before_extending"
|
|
instance_eval(result, &blk)
|
|
end
|
|
end
|
|
end
|
|
|
|
Class.send :include, MethodPrependAndAppend
|