diff options
author | Thomas Kjeldahl Nilsson <thomas@kjeldahlnilsson.net> | 2012-05-18 09:59:18 (GMT) |
---|---|---|
committer | Marius Mathiesen <marius@gitorious.org> | 2012-10-08 07:41:28 (GMT) |
commit | 04a46ec000219c2196a01f810aceedbbcc960db2 (patch) | |
tree | f20bc190a815f5546e950d435ea48ed67bb8e4aa /lib/gitorious | |
parent | 7829c89eb104543142ed850b110f578b3602ee16 (diff) |
Moved init of auth strategies from initializer into actual class.
Classes are reloaded on each request in dev mode, instead of boot-time
as in production mode. Classes should if possible self-configure
instead of relying on boot-time initializers, to make sure per-request
reload works as expected.
Diffstat (limited to 'lib/gitorious')
-rw-r--r-- | lib/gitorious/authorization/configuration.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/gitorious/authorization/configuration.rb b/lib/gitorious/authorization/configuration.rb index a4b7b32..e637bd7 100644 --- a/lib/gitorious/authorization/configuration.rb +++ b/lib/gitorious/authorization/configuration.rb @@ -25,6 +25,28 @@ module Gitorious def self.default_configuration DatabaseAuthorization.new end + + def self.configure! + authorization_configuration_path = File.join(Rails.root, "config", "authorization.yml") + + if File.exist?(authorization_configuration_path) + if config = YAML::load_file(authorization_configuration_path)[RAILS_ENV] + Gitorious::Authorization::Configuration.configure(config) + else + Gitorious::Authorization::Configuration.use_default_configuration + end + else + Gitorious::Authorization::Configuration.use_default_configuration + end + @configured = true + end + + def self.configured? + @configured + end + + configure! unless configured? + end end end |