root/config/environment.rb

Download in other formats: Raw | Text
Revisions
Dimitrij Denissenko
Dimitrij Denissenko
Feb 08 2010 * 07:48
(6 months ago)

Revision b1794537d634e7833190d162a0351bc60046c8fc

Updated version

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Be sure to restart your server when you modify this file

RETROSPECTIVA_VERSION = '2.0.0'

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION

# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')

Rails::Initializer.run do |config|
  # Settings in config/environments/* take precedence over those specified here.
  # Application configuration should go into files in config/initializers
  # -- all .rb files in that directory are automatically loaded.
  # See Rails::Configuration for more options.

  # Skip frameworks you're not going to use. To use Rails without a database
  # you must remove the Active Record framework.
  config.frameworks -= [ :active_resource ]

  # Specify gems that this application depends on. 
  # They can then be installed with "rake gems:install" on new installations.
  config.gem 'rack', :lib => 'rack', :version => '~> 1.0.0'
  config.gem 'will_paginate', :lib => 'will_paginate', :version => '>= 2.3.8'
  config.gem 'acts-as-taggable-on', :lib => 'acts-as-taggable-on', :version => '>= 1.0.3' 
  config.gem 'RedCloth', :lib => 'redcloth', :version => '>= 4.1.9'
  
  # Only load the plugins named here, in the order given. By default, all plugins 
  # in vendor/plugins are loaded in alphabetical order.
  # :all can be used as a placeholder for all plugins not explicitly named
  # config.plugins = [ :enkoder, :retro_i18n, :retro_search, :validates_as_email, :wiki_engine ]

  # Add additional load paths for your own custom dirs
  config.load_paths += [
#    "#{RAILS_ROOT}/vendor/coderay-0.7.4/lib"
  ].flatten

  config.controller_paths += [
    "#{RAILS_ROOT}/lib/retrospectiva/extension_manager/controllers"
  ].flatten

  # Force all environments to use the same logger level
  # (by default production uses :info, the others :debug)
  # config.log_level = :debug

  # Make Time.zone default to the specified zone, and make Active Record store time values
  # in the database in UTC, and return them converted to the specified local zone.
  # Run "rake -D time" for a list of tasks for finding time zone names. Uncomment to use default local time.
  config.time_zone = 'UTC'

  # Use the database for sessions instead of the cookie-based default,
  # which shouldn't be used to store highly confidential information
  # (create the session table with "rake db:sessions:create")
  # config.action_controller.session_store = :active_record_store

  # Use SQL instead of Active Record's schema dumper when creating the test database.
  # This is necessary if your schema can't be completely dumped by the schema dumper,
  # like if you have constraints or database-specific column types
  # config.active_record.schema_format = :sql

  # Activate observers that should always be running
  unless $gems_rake_task
    config.active_record.observers = 
      'user_observer', 'project_observer', 'group_observer', 
      'changeset_observer', 'ticket_observer', 'ticket_change_observer'
  end
  
  config.after_initialize do
    RetroEM.load!(config)
    RetroCM.reload!
    Retrospectiva::Previewable.load!
    
    session_key = RetroCM[:general][:basic].setting(:session_key)
    if session_key.default?
      RetroCM[:general][:basic][:session_key] = "#{session_key.value}_#{ActiveSupport::SecureRandom.hex(3)}"
      RetroCM.save!
    end

    ActionController::UrlWriter.reload!
    ActionController::Base.session_options.merge!(
      :key    => RetroCM[:general][:basic][:session_key],
      :secret => Retrospectiva::Session.read_or_generate_secret
    )

    ActionView::Base.sanitized_bad_tags.merge %w(meta iframe frame layer ilayer link object embed bgsound from input select textarea style)
    ActionView::Base.sanitized_allowed_tags.merge %w(table tr td th)
    ActionView::Base.sanitized_allowed_attributes.merge %w(colspan rowspan style)

    ActionController::Base.cache_store = :file_store, RAILS_ROOT + '/tmp/cache'
  end unless $gems_rake_task
end

# Once everything is loaded
unless $gems_rake_task || $rails_rake_task
  RetroAM.load!
end