All the little details

This commit is contained in:
2015-02-20 19:21:25 +01:00
parent cde551dc7f
commit d9e69beb5f
38 changed files with 256 additions and 57 deletions
+25
View File
@@ -0,0 +1,25 @@
class NilClass
def include?(*args)
false
end
end
module MethodPrependAndAppend
def before_method(m, &blk)
alias_method :"#{m}_before_extending_before", m
define_method m do |*args|
instance_eval(&blk)
send :"#{m}_before_extending_before", *args
end
end
def after_method(m, &blk)
alias_method :"#{m}_before_extending_after", m
define_method m do |*args|
result = send :"#{m}_before_extending_after", *args
instance_eval(result, &blk)
end
end
end
Class.send :include, MethodPrependAndAppend