Skip to content

Ruby tips

irxground edited this page Apr 10, 2013 · 2 revisions

singleton object

クラスメソッドのみを利用するクラスは代わりにこう書く。 あとはincludeされない、privateがあるなど、普通のオブジェクトのように使えるため。

before:

module Single
  def self.public_method
    # ...
  end
end

after:

class << Single = Object.new
  def public_method
    private_method
  end

private
  def private_method
    puts 'called'
  end
end

Single.public_method #=> called
Clone this wiki locally