rubyでデザインパターン adapterパターン

ライオンを狩るハンタークラスがあったのですが
急遽、野犬も狩るように言われてしまいました。
しかし、野犬はライオンとは別のインターフェイスを持っているので
このままではうまく使えません。
そこで野犬クラスを包み込んだようなadapterクラスを用意して中継する感じです。
このパターンは仕方なくって感じがしますね・・・
もちろん初めから野犬も狩猟の対象になることが分かっていたのなら野犬も同じインターフェイスを備えるべきです。

class Lion
  def roar
    
  end
end

class AfricanLion < Lion
  def roar
    "がおー"
  end
end

class Hunter
  def hunt(target)
    puts "ターゲットは#{target.roar}と威嚇している!"
  end
end

class WildDog
  def bark
    "わん"
  end
end

class WildDOgAdapter < Lion

  def initialize(dog)
    @dog = dog
  end

  def roar
    @dog.bark
  end
end

african_lion = AfricanLion.new

wild_dog = WildDog.new
wild_dog_adapter = WildDOgAdapter.new(wild_dog)

hunter = Hunter.new
hunter.hunt(african_lion)
hunter.hunt(wild_dog_adapter)

#出力
#ターゲットはがおーと威嚇している!
#ターゲットはわんと威嚇している!
#