Configuracja pluginu

Witam.
Buduję treningowo plugin.
Mam tam singeltona.

[code]# coding: utf-8
class SmsGateway

@@instance = SmsGateway.new(param1, param2)

private_class_method :new[/code]
W związku z tym mam pytanie jak przekazać do pluginu parametry param1, param2.
Gdzie je umieścić i w jakiej formie aby podczas startu aplikacja railsowa przekazała te parametry do pluginu?

Po pierwsze to naiwne (tzn. taka jaką tu próbujesz napisać) implementacje singletonu są dziurawe, w książce z kilofem jest wyjaśnione dlaczego. Skorzystaj z istniejącego już w bibliotece standardowej modułu:
http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html

@Tomash: Co jest w tym dziurawego? Nie mam kilofa pod ręką.

EDIT:

Tak przy okazji, w railsach wszystkie singletonowe klasy (Rails::Application, Rails::Engine itp) są zaimplementowane tym właśnie sposobem, bo Singleton dodaje jeszcze kilka rzeczy, które w railsach nie były pożądane (teraz nie pamiętam już o co chodziło, spojrzę później w kod)

A jak konfigurować plugin? Bo ten Singelton to tylko dla przykładu.

Wszystko zależy od tego co chcesz osiągnąć. Jeżeli chodzi Ci o to jak użytkownik ma skonfigurować Twój plugin, to najczęściej pluginy są konfigurowane w config/initializers, np:

[code]# config/initializers/sms_gateway.rb

SmsGateway.configure(:login => ‘something’, :api_key => ‘123qwe’)[/code]
możesz do tego napisać generator, żeby taki plik z przykładowymi danymi stworzył się automatycznie po zrobieniu np.:

rails g sms_gateway:install

Dzięki @drogus. Pomogło.

Coś o singletonach: http://googletesting.blogspot.com/2008/11/clean-code-talks-global-state-and.html