Started modifying the results page for final appearnces.
[selectricity-live] / config / environment.rb
1 # Be sure to restart your web server when you modify this file.
2
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'
6
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
9
10 # Bootstrap the Rails environment, frameworks, and default configuration
11 require File.join(File.dirname(__FILE__), 'boot')
12
13 Rails::Initializer.run do |config|
14   # Settings in config/environments/* take precedence over those specified here
15   
16   # Skip frameworks you're not going to use (only works if using vendor/rails)
17   # config.frameworks -= [ :action_web_service, :action_mailer ]
18
19   # Only load the plugins named here, by default all plugins in vendor/plugins are loaded
20   # config.plugins = %W( exception_notification ssl_requirement )
21
22   # Add additional load paths for your own custom dirs
23   # config.load_paths += %W( #{RAILS_ROOT}/extras )
24
25   # Force all environments to use the same logger level 
26   # (by default production uses :info, the others :debug)
27   # config.log_level = :debug
28
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
32
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
37
38   # Activate observers that should always be running
39   # config.active_record.observers = :cacher, :garbage_collector
40
41   # Make Active Record use UTC-base instead of local time
42   # config.active_record.default_timezone = :utc
43   
44   # See Rails::Configuration for more options
45 end
46
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 )
54 # end
55
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
59
60 # Include your application configuration below
61
62 MAIL_CONFIG = { :from => 'Selectricity <info@selectricity.media.mit.edu>'} 
63
64 require 'uniq_token'
65 require 'randarray'
66 require 'gruff-0.2.8/lib/gruff'
67 require 'sparklines'
68
69 require 'rubyvote'
70 ELECTION_TYPES = {'ssd' => "Schulze Sequential Dropping",
71                   'plurality' => "Plurality/First Past the Post",
72                   'approval' => "Approval (Top Two)",
73                   'condorcet' => "Simple Condorcet",
74                   'borda' => "Borda Count"}
75
76 class String
77   # alternate capitalization method that does not lowercase the rest of
78   # the string -- which is almost never what I want
79   def capitalize
80     if self.length <= 1
81       self.upcase
82     else
83       self.split(//)[0].upcase + self.split(//)[1..-1].join("")
84     end
85   end
86
87   # capitalize each word in a string unless it is specialcased word
88   def titlecase
89     words = %w{a the in to for an}
90     self.split.collect {|s| words.include?(s) ? s : s.capitalize }.join(" ")
91   end
92 end
93
94 #Change the session store key, so that it will not conflict with other webapps
95 ActionController::Base.session_options[:session_key] = 'selectricity_session_id'
96 CGI::Session.expire_after 1.year
97
98 # action mailer configuration
99 ActionMailer::Base.delivery_method = :sendmail
100 ActionMailer::Base.default_charset = "utf-8"
101
102 # These defaults are used in GeoKit::Mappable.distance_to and in acts_as_mappable
103 GeoKit::default_units = :miles
104 GeoKit::default_formula = :sphere
105
106 # This is the timeout value in seconds to be used for calls to the geocoder web
107 # services.  For no timeout at all, comment out the setting.  The timeout unit
108 # is in seconds. 
109 GeoKit::Geocoders::timeout = 3
110
111 # These settings are used if web service calls must be routed through a proxy.
112 # These setting can be nil if not needed, otherwise, addr and port must be 
113 # filled in at a minimum.  If the proxy requires authentication, the username
114 # and password can be provided as well.
115 GeoKit::Geocoders::proxy_addr = nil
116 GeoKit::Geocoders::proxy_port = nil
117 GeoKit::Geocoders::proxy_user = nil
118 GeoKit::Geocoders::proxy_pass = nil
119
120 # This is your yahoo application key for the Yahoo Geocoder.
121 # See http://developer.yahoo.com/faq/index.html#appid
122 # and http://developer.yahoo.com/maps/rest/V1/geocode.html
123 GeoKit::Geocoders::yahoo = 'REPLACE_WITH_YOUR_YAHOO_KEY'
124     
125 # This is your Google Maps geocoder key. 
126 # See http://www.google.com/apis/maps/signup.html
127 # and http://www.google.com/apis/maps/documentation/#Geocoding_Examples
128 GeoKit::Geocoders::google = 'REPLACE_WITH_YOUR_GOOGLE_KEY'
129     
130 # This is your username and password for geocoder.us.
131 # To use the free service, the value can be set to nil or false.  For 
132 # usage tied to an account, the value should be set to username:password.
133 # See http://geocoder.us
134 # and http://geocoder.us/user/signup
135 GeoKit::Geocoders::geocoder_us = false 
136
137 # This is your authorization key for geocoder.ca.
138 # To use the free service, the value can be set to nil or false.  For 
139 # usage tied to an account, set the value to the key obtained from
140 # Geocoder.ca.
141 # See http://geocoder.ca
142 # and http://geocoder.ca/?register=1
143 GeoKit::Geocoders::geocoder_ca = false
144
145 # This is the order in which the geocoders are called in a failover scenario
146 # If you only want to use a single geocoder, put a single symbol in the array.
147 # Valid symbols are :google, :yahoo, :us, and :ca.
148 # Be aware that there are Terms of Use restrictions on how you can use the 
149 # various geocoders.  Make sure you read up on relevant Terms of Use for each
150 # geocoder you are going to use.
151 GeoKit::Geocoders::provider_order = [:google,:us]

Benjamin Mako Hill || Want to submit a patch?