Copyright (c) 2006 Daniel Owsianski (daniel-at-jarmark-d0t-org) Standardowy sposób konfiguracji aplikacji railsowej jest zarówno prosty, jak i bardzo elastyczny, niestety nie pozwala na kofigurację opcji specyficznych dla tworzonej aplikacji. Plugin AppConfig stara się rozwiązać ten problem. Po jego instalacji ustawienia właściwe dla Twojej aplikacji możesz umieszczać w pliku environment.rb analogicznie do innych opcji konfiguracyjnych samej biblioteki. == Instalacja Plugin można zainstalować tak: $ script/plugin discover $ script/plugin install app_config albo wprost z repozytorium svn: $ script/plugin install http://svn.jarmark.org/rails/app_config UWAGA: ponieważ plugin modyfikuje obslugę konfiguracji Railsów, musi być włączony w environment.rb *przed* wywołaniem Rails::Initializer#run. Jeżeli korzystasz z Rails v1.1 lub wyżej ta zmiana w pliku environment.rb jest dokonywana automatycznie podczas instalacji. Jeżeli natomiast korzystasz ze starszej wersji musisz tą linię: require 'plugins/app_config/lib/configuration' dodać ręcznie do environment.rb (gdzieś miedzy linia require File.join(File.dirname(__FILE__), 'boot') a Rails::Initializer.run == Wykorzystanie Konfiguracja ustawień Twojej aplikacji polega na użyciu prefixu 'app_config' przed nazwą opcji których wartość ustawiasz w plikach konfiguracyjnych. Przykład (plik environment.rb) Rails::Initializer.run do |config| ... # --- My killer-app specific settings: config.app_config.my_key = 'my value' config.app_config.boot_time = Time.now config.app_config.default_mail_subject = '[appconfig] ' config.app_config.my_hash = {:a=>1, :b=>2} ... Przykład (plik environment/development.rb) ... config.app_config.default_message = "I'm now in development mode..." ... Aby pobrać wartości opcji skonfigurowanych jak wyżej w aplikacji możesz skorzystać z jednego z następujących sposobów: AppConfig.my_key AppConfig[:my_key] AppConfig['my_key'] AppConfig.param('my_key') AppConfig.param(:my_key) AppConfig.param('my_key', 'value if my_key is nil') AppConfig.param(:my_key)do ... #executed when my_key is nil end Mam nadzieję, że konfigurowanie aplikacji będzie teraz wygodniejsze... Author:: Daniel Owsianski, (daniel-at-jarmark-d0t-org) Version:: 0.1 Home page:: http://jarmark.org/projects/app-config/ License:: Copyright (c) 2006 Daniel Owsiański. Released under MIT-LICENCE (included).