All the little details
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user