1 # Be sure to restart your web server when you modify this file.
3 # Uncomment below to force Rails into production mode when
4 # you don't control web/app server and can't set it the proper way
5 # ENV['RAILS_ENV'] ||= 'production'
7 # Specifies gem version of Rails to use when vendor/rails is not present
8 RAILS_GEM_VERSION = '1.2.3' unless defined? RAILS_GEM_VERSION
10 # Bootstrap the Rails environment, frameworks, and default configuration
11 require File.join(File.dirname(__FILE__), 'boot')
13 Rails::Initializer.run do |config|
14 # Settings in config/environments/* take precedence over those specified here
16 # Skip frameworks you're not going to use (only works if using vendor/rails)
17 # config.frameworks -= [ :action_web_service, :action_mailer ]
19 # Only load the plugins named here, by default all plugins in vendor/plugins are loaded
20 # config.plugins = %W( exception_notification ssl_requirement )
22 # Add additional load paths for your own custom dirs
23 # config.load_paths += %W( #{RAILS_ROOT}/extras )
25 # Force all environments to use the same logger level
26 # (by default production uses :info, the others :debug)
27 # config.log_level = :debug
29 # Use the database for sessions instead of the file system
30 # (create the session table with 'rake db:sessions:create')
31 # config.action_controller.session_store = :active_record_store
33 # Use SQL instead of Active Record's schema dumper when creating the test database.
34 # This is necessary if your schema can't be completely dumped by the schema dumper,
35 # like if you have constraints or database-specific column types
36 # config.active_record.schema_format = :sql
38 # Activate observers that should always be running
39 # config.active_record.observers = :cacher, :garbage_collector
41 # Make Active Record use UTC-base instead of local time
42 # config.active_record.default_timezone = :utc
44 # See Rails::Configuration for more options
47 # Add new inflection rules using the following format
48 # (all these examples are active by default):
49 # Inflector.inflections do |inflect|
50 # inflect.plural /^(ox)$/i, '\1en'
51 # inflect.singular /^(ox)en/i, '\1'
52 # inflect.irregular 'person', 'people'
53 # inflect.uncountable %w( fish sheep )
56 # Add new mime types for use in respond_to blocks:
57 # Mime::Type.register "text/richtext", :rtf
58 # Mime::Type.register "application/x-mobile", :mobile
60 # Include your application configuration below
62 MAIL_CONFIG = { :from => 'Selectricity <info@selectricity.media.mit.edu>'}
70 ELECTION_TYPES = %w(ssd plurality approval condorcet borda)
73 # alternate capitalization method that does not lowercase the rest of
74 # the string -- which is almost never what I want
79 self.split(//)[0].upcase + self.split(//)[1..-1].join("")
83 # capitalize each word in a string unless it is specialcased word
85 words = %w{a the in to for an}
86 self.split.collect {|s| words.include?(s) ? s : s.capitalize }.join(" ")
90 #Change the session store key, so that it will not conflict with other webapps
91 ActionController::Base.session_options[:session_key] = 'selectricity_session_id'
92 CGI::Session.expire_after 1.year
94 # action mailer configuration
95 ActionMailer::Base.delivery_method = :sendmail
96 ActionMailer::Base.default_charset = "utf-8"
98 # These defaults are used in GeoKit::Mappable.distance_to and in acts_as_mappable
99 GeoKit::default_units = :miles
100 GeoKit::default_formula = :sphere
102 # This is the timeout value in seconds to be used for calls to the geocoder web
103 # services. For no timeout at all, comment out the setting. The timeout unit
105 GeoKit::Geocoders::timeout = 3
107 # These settings are used if web service calls must be routed through a proxy.
108 # These setting can be nil if not needed, otherwise, addr and port must be
109 # filled in at a minimum. If the proxy requires authentication, the username
110 # and password can be provided as well.
111 GeoKit::Geocoders::proxy_addr = nil
112 GeoKit::Geocoders::proxy_port = nil
113 GeoKit::Geocoders::proxy_user = nil
114 GeoKit::Geocoders::proxy_pass = nil
116 # This is your yahoo application key for the Yahoo Geocoder.
117 # See http://developer.yahoo.com/faq/index.html#appid
118 # and http://developer.yahoo.com/maps/rest/V1/geocode.html
119 GeoKit::Geocoders::yahoo = 'REPLACE_WITH_YOUR_YAHOO_KEY'
121 # This is your Google Maps geocoder key.
122 # See http://www.google.com/apis/maps/signup.html
123 # and http://www.google.com/apis/maps/documentation/#Geocoding_Examples
124 GeoKit::Geocoders::google = 'REPLACE_WITH_YOUR_GOOGLE_KEY'
126 # This is your username and password for geocoder.us.
127 # To use the free service, the value can be set to nil or false. For
128 # usage tied to an account, the value should be set to username:password.
129 # See http://geocoder.us
130 # and http://geocoder.us/user/signup
131 GeoKit::Geocoders::geocoder_us = false
133 # This is your authorization key for geocoder.ca.
134 # To use the free service, the value can be set to nil or false. For
135 # usage tied to an account, set the value to the key obtained from
137 # See http://geocoder.ca
138 # and http://geocoder.ca/?register=1
139 GeoKit::Geocoders::geocoder_ca = false
141 # This is the order in which the geocoders are called in a failover scenario
142 # If you only want to use a single geocoder, put a single symbol in the array.
143 # Valid symbols are :google, :yahoo, :us, and :ca.
144 # Be aware that there are Terms of Use restrictions on how you can use the
145 # various geocoders. Make sure you read up on relevant Terms of Use for each
146 # geocoder you are going to use.
147 GeoKit::Geocoders::provider_order = [:google,:us]