Issue #5448 has been reported by Marvin Gülker.

----------------------------------------
Feature #5448: Singleton module's ::instance method should forward parameters
http://redmine.ruby-lang.org/issues/5448

Author: Marvin Gülker
Status: Open
Priority: Normal
Assignee: 
Category: lib
Target version: 


Hi there, 

Classes mixing in the Singleton module currently aren't allowed to have parameters for their initialize method. This should be changed, because sometimes it's necessary to give some initial state information to the single(ton) instance.

Example code (no way to create the instance):
================================================
require "singleton"

class Foo
  include Singleton
  
  def initialize(arg)
    puts "arg is: #{arg}"
  end
  
end

f = Foo.instance(1) #=> ArgumentError 1 for 0
f = Foo.instance    #=> ArgumentError 0 for 1
================================================

The arguments given to the ::instance method should be forwarded to #initialize, which in turn may raise the appropriate ArgumentError if necessary.

ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
OS: Arch Linux

Marvin


-- 
http://redmine.ruby-lang.org