# Be sure to restart your webserver when you modify this file.
# Uncomment below to force Rails into production mode

# (Use only when you can't set environment variables through your web/app server)
# ENV['RAILS_ENV'] = 'production'

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

Rails::Initializer.run do |config|
  # Skip frameworks you're not going to use
  # config.frameworks -= [ :action_web_service, :action_mailer ]

  # Add additional load paths for your own custom dirs
  # config.load_paths += %W( #{RAILS_ROOT}/app/services )

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

  # Use the database for sessions instead of the file system
  # (create the session table with 'rake create_sessions_table')
  config.action_controller.session_store = :active_record_store

  # Enable page/fragment caching by setting a file-based store
  # (remember to create the caching directory and make it readable to the application)
  # config.action_controller.fragment_cache_store = :file_store, "#{RAILS_ROOT}/cache"

  # Activate observers that should always be running
  # config.active_record.observers = :cacher, :garbage_collector

  # Make Active Record use UTC-base instead of local time
  config.active_record.default_timezone = :utc
  
  # Use Active Record's schema dumper instead of SQL when creating the test database
  # (enables use of different database adapters for development and test environments)
  config.active_record.schema_format = :ruby

  # See Rails::Configuration for more options
end

# Add new inflection rules using the following format 
# (all these examples are active by default):
# Inflector.inflections do |inflect|
#   inflect.plural /^(ox)$/i, '\1en'
#   inflect.singular /^(ox)en/i, '\1'
#   inflect.irregular 'person', 'people'
#   inflect.uncountable %w( fish sheep )
# end

# Include your application configuration below
# This is the 'salt' to add to the password before it is encrypted
# You need to change this to something unique for yourself
SALT = "change-me"

# Time zone setting. Set your local time zone here. # 
# You should be able to find a list of time zones in /usr/share/zoneinfo
# e.g. if you are in the Eastern time zone of the US, set the value below.
# ENV['TZ'] = 'US/Eastern'

# Leave this alone or set it to one or more of ['database', 'ldap', 'open_id'].
# If you choose ldap, see the additional configuration options further down.
AUTHENTICATION_SCHEMES = ['database']

require 'name_part_finder'
require 'todo_list'
require 'config'
require 'activerecord_base_tag_extensions' # Needed for tagging-specific extensions
require 'digest/sha1' #Needed to support 'rake db:fixtures:load' on some ruby installs: http://dev.rousette.org.uk/ticket/557
require 'prototype_helper_extensions'

if (AUTHENTICATION_SCHEMES.include? 'ldap')
  require 'net/ldap' #requires ruby-net-ldap gem be installed
  require 'simple_ldap_authenticator'
  SimpleLdapAuthenticator.ldap_library = 'net/ldap'
  SimpleLdapAuthenticator.servers = %w'localhost'
  SimpleLdapAuthenticator.use_ssl = false
  SimpleLdapAuthenticator.login_format = 'cn=%s,dc=example,dc=com'
end
if (AUTHENTICATION_SCHEMES.include? 'open_id')
  #requires ruby-openid gem to be installed
end


MOBILE_CONTENT_TYPE = 'tracks/mobile'
Mime::Type.register(MOBILE_CONTENT_TYPE, :m)

info = `svn info --config-dir /etc/subversion`[/Last Changed Rev: (.*?)\n/]
if info
  TRACKS_VERSION = '1.50-trunk-rev'+info[/(\d+)/]
else
  TRACKS_VERSION = '1.50-trunk'
end