Rails 3 upgrade: Round 1
[gitorious:mainline.git] / config / application.rb
1 require File.expand_path('../boot', __FILE__)
2
3 require 'rails/all'
4
5 Bundler.require(:default, Rails.env) if defined?(Bundler)
6
7 class Class
8   def is_indexed(*args, &block)
9   end
10 end
11
12 module Ultrasphinx
13   class Search
14     def initialize(options = {})
15     end
16
17     def self.query_defaults=(defaults)
18     end
19
20     def self.query_defaults
21       {}
22     end
23
24     def self.excerpting_options=(options)
25     end
26
27     def self.client_options
28       {}
29     end
30   end
31
32   class UsageError < StandardError
33   end
34
35   MAIN_INDEX = 1
36
37   def self.delta_index_present?
38   end
39 end
40
41 module Gitorious
42   class Application < Rails::Application
43     config.autoload_paths += [config.root.join('lib')]
44     config.encoding = 'utf-8'
45     gitorious_yaml = YAML.load_file(Rails.root + "config/gitorious.yml")[Rails.env]
46     raise "Your config/gitorious.yml does not have an entry for your current Rails environment. Please consult config/gitorious.sample.yml for instructions." unless gitorious_yaml
47
48     # Settings in config/environments/* take precedence over those specified here.
49     # Application configuration should go into files in config/initializers
50     # -- all .rb files in that directory are automatically loaded.
51     # See Rails::Configuration for more options.
52
53     # Skip frameworks you're not going to use. To use Rails without a database
54     # you must remove the Active Record framework.
55     # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
56
57     # Only load the plugins named here, in the order given. By default, all plugins
58     # in vendor/plugins are loaded in alphabetical order.
59     # :all can be used as a placeholder for all plugins not explicitly named
60     # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
61
62     # Add additional load paths for your own custom dirs
63     config.autoload_paths << (Rails.root + "lib/gitorious")
64     config.autoload_paths << (Rails.root + "app")
65
66     # Avoid class cache errors like "A copy of Gitorious::XYZ has been removed
67     # from the module tree but is still active!"
68     config.autoload_once_paths << (Rails.root + "lib/gitorious")
69
70     # Force all environments to use the same logger level
71     # (by default production uses :info, the others :debug)
72     # config.log_level = :debug
73
74     # Make Time.zone default to the specified zone, and make Active Record store time values
75     # in the database in UTC, and return them converted to the specified local zone.
76     # Run "rake -D time" for a list of tasks for finding time zone names. Comment line to use default local time.
77     config.time_zone = 'UTC'
78
79     # The internationalization framework can be changed to have another default locale (standard is :en) or more load paths.
80     # All files from config/locales/*.rb,yml are added automatically.
81     # config.i18n.load_path << Dir[File.join(RAILS_ROOT, 'my', 'locales', '*.{rb,yml}')]
82     # config.i18n.default_locale = :de
83
84     # Your secret key for verifying cookie session data integrity.
85     # If you change this key, all old sessions will become invalid!
86     # Make sure the secret is at least 30 characters and all random,
87     # no regular words or you'll be exposed to dictionary attacks.
88
89     # Use the database for sessions instead of the cookie-based default,
90     # which shouldn't be used to store highly confidential information
91     # (create the session table with "rake db:sessions:create")
92     #config.action_controller.session_store = :active_record_store
93
94     # Use SQL instead of Active Record's schema dumper when creating the test database.
95     # This is necessary if your schema can't be completely dumped by the schema dumper,
96     # like if you have constraints or database-specific column types
97     # config.active_record.schema_format = :sql
98
99     # Activate observers that should always be running
100     # Please note that observers generated using script/generate observer need to have an _observer suffix
101     # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
102
103     # Activate observers that should always be running
104     config.active_record.observers = [
105         :user_observer
106     ]
107
108     config.after_initialize do
109       OAuth::Consumer.class_eval {
110         remove_const(:CA_FILE) if const_defined?(:CA_FILE)
111       }
112
113       OAuth::Consumer::CA_FILE = nil
114       Gitorious::Plugin::post_load
115       Grit::Git.git_binary = GitoriousConfig["git_binary"]
116     end
117
118     gts_config = YAML.load_file(Rails.root + "config/gitorious.yml")[Rails.env]
119
120     Gitorious::Application.config.middleware.use(ExceptionNotifier,
121                                                  :email_prefix => "[Gitorious] ",
122                                                  :sender_address => %{"Exception notifier" <notifier@gitorious>},
123                                                  :exception_recipients => gts_config["exception_notification_emails"])
124   end
125 end