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

Benjamin Mako Hill || Want to submit a patch?