class LogDecorator
def initialize(decorated)
@decorated = decorated
end
def method_missing(method_name, *args)
puts "~~> #{@decorated} received #{method_name} with (#{args.inspect})"
@decorated.send(method_name, *args)
end
end
str = LogDecorator.new("Hey ho let's go")