X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/a12d4f62752f546f57421244e370e79965706ffb..refs/heads/live:/config/environment.rb diff --git a/config/environment.rb b/config/environment.rb index 34a2d87..802b3b9 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -5,17 +5,20 @@ # ENV['RAILS_ENV'] ||= 'production' # Specifies gem version of Rails to use when vendor/rails is not present -RAILS_GEM_VERSION = '1.1.6' +RAILS_GEM_VERSION = '2.2.2' unless defined? RAILS_GEM_VERSION # Bootstrap the Rails environment, frameworks, and default configuration require File.join(File.dirname(__FILE__), 'boot') Rails::Initializer.run do |config| - # Settings in config/environments/* take precedence those specified here + # Settings in config/environments/* take precedence over those specified here # Skip frameworks you're not going to use (only works if using vendor/rails) # config.frameworks -= [ :action_web_service, :action_mailer ] + # Only load the plugins named here, by default all plugins in vendor/plugins are loaded + # config.plugins = %W( exception_notification ssl_requirement ) + # Add additional load paths for your own custom dirs # config.load_paths += %W( #{RAILS_ROOT}/extras ) @@ -25,7 +28,7 @@ Rails::Initializer.run do |config| # Use the database for sessions instead of the file system # (create the session table with 'rake db:sessions:create') - # config.action_controller.session_store = :active_record_store + config.action_controller.session_store = :active_record_store # Use SQL instead of Active Record's schema dumper when creating the test database. # This is necessary if your schema can't be completely dumped by the schema dumper, @@ -50,8 +53,102 @@ end # inflect.uncountable %w( fish sheep ) # end +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf +# Mime::Type.register "application/x-mobile", :mobile + # Include your application configuration below + +MAIL_CONFIG = { :from => 'Selectricity '} + require 'uniq_token' -require 'randarray' +require 'gruff-0.2.8/lib/gruff' +require 'sparklines' require 'rubyvote' +ELECTION_TYPES = {'ssd' => "Schulze Method", + 'plurality' => "Plurality", + 'approval' => "Approval", + 'condorcet' => "Condorcet", + 'borda' => "Borda Count"} + +class String + # alternate capitalization method that does not lowercase the rest of + # the string -- which is almost never what I want + def capitalize + if self.length <= 1 + self.upcase + else + self.split(//)[0].upcase + self.split(//)[1..-1].join("") + end + end + + # capitalize each word in a string unless it is specialcased word + def titlecase + words = %w{a the in to for an} + self.split.collect {|s| words.include?(s) ? s : s.capitalize }.join(" ") + end +end + +#Change the session store key, so that it will not conflict with other webapps +ActionController::Base.session_options[:session_key] = 'selectricity_session_id' +CGI::Session.expire_after 1.year + +# action mailer configuration +ActionMailer::Base.delivery_method = :sendmail +ActionMailer::Base.default_charset = "utf-8" + +# These defaults are used in GeoKit::Mappable.distance_to and in acts_as_mappable +GeoKit::default_units = :miles +GeoKit::default_formula = :sphere + +# This is the timeout value in seconds to be used for calls to the geocoder web +# services. For no timeout at all, comment out the setting. The timeout unit +# is in seconds. +GeoKit::Geocoders::timeout = 3 + +# These settings are used if web service calls must be routed through a proxy. +# These setting can be nil if not needed, otherwise, addr and port must be +# filled in at a minimum. If the proxy requires authentication, the username +# and password can be provided as well. +GeoKit::Geocoders::proxy_addr = nil +GeoKit::Geocoders::proxy_port = nil +GeoKit::Geocoders::proxy_user = nil +GeoKit::Geocoders::proxy_pass = nil + +# This is your yahoo application key for the Yahoo Geocoder. +# See http://developer.yahoo.com/faq/index.html#appid +# and http://developer.yahoo.com/maps/rest/V1/geocode.html +GeoKit::Geocoders::yahoo = 'REPLACE_WITH_YOUR_YAHOO_KEY' + +# This is your Google Maps geocoder key. +# See http://www.google.com/apis/maps/signup.html +# and http://www.google.com/apis/maps/documentation/#Geocoding_Examples +GeoKit::Geocoders::google = 'REPLACE_WITH_YOUR_GOOGLE_KEY' + +# This is your username and password for geocoder.us. +# To use the free service, the value can be set to nil or false. For +# usage tied to an account, the value should be set to username:password. +# See http://geocoder.us +# and http://geocoder.us/user/signup +GeoKit::Geocoders::geocoder_us = false + +# This is your authorization key for geocoder.ca. +# To use the free service, the value can be set to nil or false. For +# usage tied to an account, set the value to the key obtained from +# Geocoder.ca. +# See http://geocoder.ca +# and http://geocoder.ca/?register=1 +GeoKit::Geocoders::geocoder_ca = false + +# This is the order in which the geocoders are called in a failover scenario +# If you only want to use a single geocoder, put a single symbol in the array. +# Valid symbols are :google, :yahoo, :us, and :ca. +# Be aware that there are Terms of Use restrictions on how you can use the +# various geocoders. Make sure you read up on relevant Terms of Use for each +# geocoder you are going to use. +GeoKit::Geocoders::provider_order = [:google,:us] + +# fix major security vulnerability: +# https://groups.google.com/forum/#!topic/rubyonrails-security/61bkgvnSGTQ/discussion +ActionController::Base.param_parsers.delete(Mime::XML)