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 = '2.2.2' 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 <team@selectricity.org>'}
65 require 'gruff-0.2.8/lib/gruff'
68 ELECTION_TYPES = {'ssd' => "Schulze Method",
69 'plurality' => "Plurality",
70 'approval' => "Approval",
71 'condorcet' => "Condorcet",
72 'borda' => "Borda Count"}
75 # alternate capitalization method that does not lowercase the rest of
76 # the string -- which is almost never what I want
81 self.split(//)[0].upcase + self.split(//)[1..-1].join("")
85 # capitalize each word in a string unless it is specialcased word
87 words = %w{a the in to for an}
88 self.split.collect {|s| words.include?(s) ? s : s.capitalize }.join(" ")
92 #Change the session store key, so that it will not conflict with other webapps
93 ActionController::Base.session_options[:session_key] = 'selectricity_session_id'
94 CGI::Session.expire_after 1.year
96 # action mailer configuration
97 ActionMailer::Base.delivery_method = :sendmail
98 ActionMailer::Base.default_charset = "utf-8"
100 # These defaults are used in GeoKit::Mappable.distance_to and in acts_as_mappable
101 GeoKit::default_units = :miles
102 GeoKit::default_formula = :sphere
104 # This is the timeout value in seconds to be used for calls to the geocoder web
105 # services. For no timeout at all, comment out the setting. The timeout unit
107 GeoKit::Geocoders::timeout = 3
109 # These settings are used if web service calls must be routed through a proxy.
110 # These setting can be nil if not needed, otherwise, addr and port must be
111 # filled in at a minimum. If the proxy requires authentication, the username
112 # and password can be provided as well.
113 GeoKit::Geocoders::proxy_addr = nil
114 GeoKit::Geocoders::proxy_port = nil
115 GeoKit::Geocoders::proxy_user = nil
116 GeoKit::Geocoders::proxy_pass = nil
118 # This is your yahoo application key for the Yahoo Geocoder.
119 # See http://developer.yahoo.com/faq/index.html#appid
120 # and http://developer.yahoo.com/maps/rest/V1/geocode.html
121 GeoKit::Geocoders::yahoo = 'REPLACE_WITH_YOUR_YAHOO_KEY'
123 # This is your Google Maps geocoder key.
124 # See http://www.google.com/apis/maps/signup.html
125 # and http://www.google.com/apis/maps/documentation/#Geocoding_Examples
126 GeoKit::Geocoders::google = 'REPLACE_WITH_YOUR_GOOGLE_KEY'
128 # This is your username and password for geocoder.us.
129 # To use the free service, the value can be set to nil or false. For
130 # usage tied to an account, the value should be set to username:password.
131 # See http://geocoder.us
132 # and http://geocoder.us/user/signup
133 GeoKit::Geocoders::geocoder_us = false
135 # This is your authorization key for geocoder.ca.
136 # To use the free service, the value can be set to nil or false. For
137 # usage tied to an account, set the value to the key obtained from
139 # See http://geocoder.ca
140 # and http://geocoder.ca/?register=1
141 GeoKit::Geocoders::geocoder_ca = false
143 # This is the order in which the geocoders are called in a failover scenario
144 # If you only want to use a single geocoder, put a single symbol in the array.
145 # Valid symbols are :google, :yahoo, :us, and :ca.
146 # Be aware that there are Terms of Use restrictions on how you can use the
147 # various geocoders. Make sure you read up on relevant Terms of Use for each
148 # geocoder you are going to use.
149 GeoKit::Geocoders::provider_order = [:google,:us]