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
@@ -6,16 +6,17 @@ end
module MethodPrependAndAppend
def before_method(m, &blk)
alias_method :"#{m}_before_extending", m
define_method m do
alias_method :"#{m}_before_extending_before", m
define_method m do |*args|
instance_eval(&blk)
send :"#{m}_before_extending"
send :"#{m}_before_extending_before", *args
end
end
def after_method(m, &blk)
alias_method :"#{m}_before_extending", m
define_method m do
result = send :"#{m}_before_extending"
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