オープンクラスでAOP風になるんですな。

class String
  alias org_length length
  def length
    puts "org => #{org_length}"
    result = org_length * 3
    puts "result => #{result}"
    result
  end
end

'abc'.length

org => 3
result => 9