Project

General

Profile

ActionsLike0

Feature #5448

closed

Singleton module's ::instance method should forward parameters

Added by Quintus (Marvin Gülker) over 13 years ago. Updated over 12 years ago.

Status:
Rejected
Assignee:
-
Target version:
[ruby-core:40151]

Description

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

Updated by nobu (Nobuyoshi Nakada) over 13 years ago

  • Status changed from Open to Feedback

Updated by mame (Yusuke Endoh) over 12 years ago

  • Target version set to 2.6

Updated by nobu (Nobuyoshi Nakada) over 12 years ago

  • Status changed from Feedback to Rejected
ActionsLike0

Also available in: Atom PDF