腹パン in Ruby

ついったの一部ではやってたのでたまにはRubyで書いてみようと思って。腹パニスト各位は自分でHarapanistをnewしてゆのっちを監視しまくればいいんじゃないですかね

#!/usr/bin/env ruby -Ku

class Frypan
  def fire
    p "カンカンカン!"
  end

  def name
    return "フライパン"
  end
end

class Yuno
  
  def initialize
    @observers = []
    @weapon = nil
  end
  
  def setWeapon(wep)
    @weapon = wep
  end
  
  def hit(str)
    p str + "に" + @weapon.name + "で攻撃"
    @weapon.fire()
    notifyObservers()
  end

  def notifyObservers
    @observers.each do |o| 
      o.harapan(self)
    end
  end

  def damaged
    p "✖X◡X✖"
  end
  
  def addObserver(obs)
    @observers.push(obs)
  end
end

class Harapanist
  def observe(y)
    y.addObserver(self)
  end

  def harapan(y)
    p "エイエイエイ^^"
    y.damaged
  end
end


jomio = Harapanist.new
nekogata = Harapanist.new

yuno = Yuno.new

jomio.observe(yuno)
nekogata.observe(yuno)

yuno.setWeapon(Frypan.new)
yuno.hit("宮子")