Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib/gitorious
diff options
context:
space:
mode:
authorThomas 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)
commit04a46ec000219c2196a01f810aceedbbcc960db2 (patch)
treef20bc190a815f5546e950d435ea48ed67bb8e4aa /lib/gitorious
parent7829c89eb104543142ed850b110f578b3602ee16 (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.rb22
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