X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/dc7d60a0de460c72d292b43616eb97a8b34741c8..HEAD:/config/environment.rb diff --git a/config/environment.rb b/config/environment.rb index a0ed78e..802b3b9 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,16 +1,24 @@ # Be sure to restart your web server when you modify this file. -# Uncomment below to force Rails into production mode -# (Use only when you can't set environment variables through your web/app server) +# Uncomment below to force Rails into production mode when +# you don't control web/app server and can't set it the proper way # ENV['RAILS_ENV'] ||= 'production' +# Specifies gem version of Rails to use when vendor/rails is not present +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| - # Skip frameworks you're not going to use + # 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 ) @@ -19,12 +27,13 @@ Rails::Initializer.run do |config| # config.log_level = :debug # Use the database for sessions instead of the file system - # (create the session table with 'rake create_sessions_table') - # config.action_controller.session_store = :active_record_store + # (create the session table with 'rake db:sessions:create') + config.action_controller.session_store = :active_record_store - # Enable page/fragment caching by setting a file-based store - # (remember to create the caching directory and make it readable to the application) - # config.action_controller.fragment_cache_store = :file_store, "#{RAILS_ROOT}/cache" + # 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, + # like if you have constraints or database-specific column types + # config.active_record.schema_format = :sql # Activate observers that should always be running # config.active_record.observers = :cacher, :garbage_collector @@ -32,10 +41,6 @@ Rails::Initializer.run do |config| # Make Active Record use UTC-base instead of local time # config.active_record.default_timezone = :utc - # Use Active Record's schema dumper instead of SQL when creating the test database - # (enables use of different database adapters for development and test environments) - # config.active_record.schema_format = :ruby - # See Rails::Configuration for more options end @@ -48,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 -require 'uniq_token' -require 'randarray' +MAIL_CONFIG = { :from => 'Selectricity '} + +require 'uniq_token' +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) +