diff --git a/Gemfile b/Gemfile index 11adc812..544958ed 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,9 @@ source 'https://rubygems.org' -gem 'rails' + +gem 'rails', '~> 4.1.0.rc1' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 4.0.1' # Use mysql as the database for Active Record gem 'mysql2' @@ -24,12 +27,12 @@ gem 'turbolinks' gem 'jquery-turbolinks' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder -gem 'jbuilder' +gem 'jbuilder', '~> 2.0' +# bundle exec rake doc:rails generates the API under doc/api. +gem 'sdoc', '~> 0.4.0', group: :doc -group :doc do - # bundle exec rake doc:rails generates the API under doc/api. - gem 'sdoc', require: false -end +# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring +gem 'spring', group: :development # Use ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.1.2' @@ -38,15 +41,17 @@ end # gem 'unicorn' # Use Capistrano for deployment -# gem 'capistrano', group: :development +# gem 'capistrano-rails', group: :development # Use debugger # gem 'debugger', group: [:development, :test] gem 'haml-rails' -gem 'compass-rails', '1.1.3' +gem 'compass-rails' gem 'modernizr-rails' gem 'activeadmin', github: 'gregbell/active_admin' +# To correct some 4.1 issue with active_admin: +gem 'polyamorous', github: 'activerecord-hackery/polyamorous' gem 'rails-i18n' gem 'devise-i18n' gem 'font-awesome-rails' diff --git a/Gemfile.lock b/Gemfile.lock index 388454d6..876ef07d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,10 @@ +GIT + remote: git://github.com/activerecord-hackery/polyamorous.git + revision: 3d45f4c9219b5e6626096d38aa04f401b7ce7808 + specs: + polyamorous (0.6.4) + activerecord (>= 3.0) + GIT remote: git://github.com/echarp/simple_calendar.git revision: 415838f60847068bc29459f5a275c04d4db05ee9 @@ -7,7 +14,7 @@ GIT GIT remote: git://github.com/gregbell/active_admin.git - revision: ced7d35703bf22a967b0ce66ec9dd2f4bb5ac881 + revision: 3fb7f03335b1ec5743c305f2c37103e2bfface97 specs: activeadmin (1.0.0.pre) arbre (~> 1.0) @@ -26,41 +33,41 @@ GIT GEM remote: https://rubygems.org/ specs: - actionmailer (4.0.4) - actionpack (= 4.0.4) + actionmailer (4.1.0.rc1) + actionpack (= 4.1.0.rc1) + actionview (= 4.1.0.rc1) mail (~> 2.5.4) - actionpack (4.0.4) - activesupport (= 4.0.4) - builder (~> 3.1.0) - erubis (~> 2.7.0) + actionpack (4.1.0.rc1) + actionview (= 4.1.0.rc1) + activesupport (= 4.1.0.rc1) rack (~> 1.5.2) rack-test (~> 0.6.2) - activemodel (4.0.4) - activesupport (= 4.0.4) - builder (~> 3.1.0) - activerecord (4.0.4) - activemodel (= 4.0.4) - activerecord-deprecated_finders (~> 1.0.2) - activesupport (= 4.0.4) - arel (~> 4.0.0) - activerecord-deprecated_finders (1.0.3) - activesupport (4.0.4) + actionview (4.1.0.rc1) + activesupport (= 4.1.0.rc1) + builder (~> 3.1) + erubis (~> 2.7.0) + activemodel (4.1.0.rc1) + activesupport (= 4.1.0.rc1) + builder (~> 3.1) + activerecord (4.1.0.rc1) + activemodel (= 4.1.0.rc1) + activesupport (= 4.1.0.rc1) + arel (~> 5.0.0) + activesupport (4.1.0.rc1) i18n (~> 0.6, >= 0.6.9) - minitest (~> 4.2) - multi_json (~> 1.3) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) thread_safe (~> 0.1) - tzinfo (~> 0.3.37) + tzinfo (~> 1.1) arbre (1.0.1) activesupport (>= 3.0.0) - arel (4.0.2) - atomic (1.1.15) + arel (5.0.0) + atomic (1.1.16) bcrypt (3.1.7) - bcrypt-ruby (3.1.5) - bcrypt (>= 3.1.3) bourbon (3.1.8) sass (>= 3.2.0) thor - builder (3.1.4) + builder (3.2.2) celluloid (0.15.2) timers (~> 1.1.0) celluloid-io (0.15.0) @@ -79,10 +86,11 @@ GEM chunky_png (~> 1.2) fssm (>= 0.2.7) sass (= 3.2.14) - compass-rails (1.1.3) + compass-rails (1.1.7) compass (>= 0.12.2) - devise (3.2.3) - bcrypt-ruby (~> 3.0) + sprockets (<= 2.11.0) + devise (3.2.4) + bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 3.2.6, < 5) thread_safe (~> 0.1) @@ -160,14 +168,12 @@ GEM treetop (~> 1.4.8) method_source (0.8.2) mime-types (1.25.1) - minitest (4.7.5) + minitest (5.3.1) modernizr-rails (2.7.1) multi_json (1.9.0) mysql2 (0.3.15) nio4r (1.0.0) orm_adapter (0.5.0) - polyamorous (0.6.4) - activerecord (>= 3.0) polyglot (0.3.4) pry (0.9.12.6) coderay (~> 1.0) @@ -178,20 +184,22 @@ GEM rack (1.5.2) rack-test (0.6.2) rack (>= 1.0) - rails (4.0.4) - actionmailer (= 4.0.4) - actionpack (= 4.0.4) - activerecord (= 4.0.4) - activesupport (= 4.0.4) + rails (4.1.0.rc1) + actionmailer (= 4.1.0.rc1) + actionpack (= 4.1.0.rc1) + actionview (= 4.1.0.rc1) + activemodel (= 4.1.0.rc1) + activerecord (= 4.1.0.rc1) + activesupport (= 4.1.0.rc1) bundler (>= 1.3.0, < 2.0) - railties (= 4.0.4) + railties (= 4.1.0.rc1) sprockets-rails (~> 2.0.0) rails-i18n (4.0.1) i18n (~> 0.6) rails (~> 4.0) - railties (4.0.4) - actionpack (= 4.0.4) - activesupport (= 4.0.4) + railties (4.1.0.rc1) + actionpack (= 4.1.0.rc1) + activesupport (= 4.1.0.rc1) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (10.1.1) @@ -217,6 +225,7 @@ GEM json (~> 1.8) rdoc (~> 4.0, < 5.0) slop (3.5.0) + spring (1.1.2) sprockets (2.11.0) hike (~> 1.2) multi_json (~> 1.0) @@ -227,7 +236,7 @@ GEM activesupport (>= 3.0) sprockets (~> 2.8) thor (0.18.1.20140116) - thread_safe (0.2.0) + thread_safe (0.3.0) atomic (>= 1.1.7, < 2) tilt (1.4.1) timers (1.1.0) @@ -236,7 +245,8 @@ GEM polyglot (>= 0.3.1) turbolinks (2.2.1) coffee-rails - tzinfo (0.3.39) + tzinfo (1.1.0) + thread_safe (~> 0.1) uglifier (2.5.0) execjs (>= 0.3.0) json (>= 1.8.0) @@ -250,7 +260,7 @@ PLATFORMS DEPENDENCIES activeadmin! coffee-rails - compass-rails (= 1.1.3) + compass-rails devise-i18n font-awesome-rails gritter @@ -258,17 +268,20 @@ DEPENDENCIES guard-livereload guard-minitest haml-rails - jbuilder + jbuilder (~> 2.0) jquery-rails jquery-turbolinks modernizr-rails mysql2 + polyamorous! quiet_assets - rails + rails (~> 4.1.0.rc1) rails-i18n redcarpet - sdoc + sass-rails (~> 4.0.1) + sdoc (~> 0.4.0) simple_calendar! + spring turbolinks uglifier webrick (>= 1.3.1) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index a3ea6c2f..84cdb25e 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -5,10 +5,12 @@ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. * - * You're free to add application-wide styles to this file and they'll appear at the top of the - * compiled file, but it's generally better to create a new file per style scope. + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any styles + * defined in the other CSS/SCSS files in this directory. It is generally better to create a new + * file per style scope. * *= require gritter - *= require_self *= require_tree . + *= require_self */ diff --git a/bin/bundle b/bin/bundle index b71536d0..66e9889e 100755 --- a/bin/bundle +++ b/bin/bundle @@ -1,3 +1,3 @@ -#!/usr/bin/env ruby1.9.1 +#!/usr/bin/env ruby ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails index 38cca63f..728cd85a 100755 --- a/bin/rails +++ b/bin/rails @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby1.9.1 +#!/usr/bin/env ruby APP_PATH = File.expand_path('../../config/application', __FILE__) require_relative '../config/boot' require 'rails/commands' diff --git a/bin/rake b/bin/rake index 3dffd3e9..17240489 100755 --- a/bin/rake +++ b/bin/rake @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby1.9.1 +#!/usr/bin/env ruby require_relative '../config/boot' require 'rake' Rake.application.run diff --git a/config/application.rb b/config/application.rb index a1ef9f9e..5873aa9c 100644 --- a/config/application.rb +++ b/config/application.rb @@ -4,7 +4,7 @@ require 'rails/all' # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. -Bundler.require(:default, Rails.env) +Bundler.require(*Rails.groups) module AgendaDuLibreRails class Application < Rails::Application diff --git a/config/boot.rb b/config/boot.rb index 35967366..5e5f0c1f 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,4 +1,4 @@ # Set up gems listed in the Gemfile. ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) -require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE']) +require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) diff --git a/config/environment.rb b/config/environment.rb index 8ccd800e..ee8d90dc 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -2,4 +2,4 @@ require File.expand_path('../application', __FILE__) # Initialize the Rails application. -AgendaDuLibreRails::Application.initialize! +Rails.application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb index 42abefaf..ddf0e90c 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -1,4 +1,4 @@ -AgendaDuLibreRails::Application.configure do +Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. # In the development environment your application's code is reloaded on @@ -14,18 +14,24 @@ AgendaDuLibreRails::Application.configure do config.action_controller.perform_caching = false # Don't care if the mailer can't send. - if config.respond_to?(:action_mailer) - config.action_mailer.raise_delivery_errors = false - end + config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger. config.active_support.deprecation = :log - # Raise an error on page load if there are pending migrations + # Raise an error on page load if there are pending migrations. config.active_record.migration_error = :page_load # Debug mode disables concatenation and preprocessing of assets. # This option may cause significant delays in view rendering with a large # number of complex assets. config.assets.debug = true + + # Adds additional error checking when serving assets at runtime. + # Checks for improperly declared sprockets dependencies. + # Raises helpful error messages. + config.assets.raise_runtime_errors = true + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true end diff --git a/config/environments/production.rb b/config/environments/production.rb index 3972bd79..47d3553b 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -1,11 +1,11 @@ -AgendaDuLibreRails::Application.configure do +Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. # Code is not reloaded between requests. config.cache_classes = true # Eager load code on boot. This eager loads most of Rails and - # your application in memory, allowing both thread web servers + # your application in memory, allowing both threaded web servers # and those relying on copy on write to perform better. # Rake tasks automatically ignore this option for performance. config.eager_load = true @@ -27,7 +27,7 @@ AgendaDuLibreRails::Application.configure do # config.assets.css_compressor = :sass # Do not fallback to assets pipeline if a precompiled asset is missed. - config.assets.compile = true + config.assets.compile = false # Generate digests for assets URLs. config.assets.digest = true @@ -63,12 +63,10 @@ AgendaDuLibreRails::Application.configure do # Ignore bad email addresses and do not raise email delivery errors. # Set this to true and configure the email server for immediate delivery to raise delivery errors. - if config.respond_to?(:action_mailer) - # config.action_mailer.raise_delivery_errors = false - end + # config.action_mailer.raise_delivery_errors = false # Enable locale fallbacks for I18n (makes lookups for any locale fall back to - # the I18n.default_locale when a translation can not be found). + # the I18n.default_locale when a translation cannot be found). config.i18n.fallbacks = true # Send deprecation notices to registered listeners. @@ -79,4 +77,7 @@ AgendaDuLibreRails::Application.configure do # Use default logging formatter so that PID and timestamp are not suppressed. config.log_formatter = ::Logger::Formatter.new + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false end diff --git a/config/environments/test.rb b/config/environments/test.rb index b9ee2e9a..053f5b66 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -1,4 +1,4 @@ -AgendaDuLibreRails::Application.configure do +Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. # The test environment is used exclusively to run your application's @@ -14,7 +14,7 @@ AgendaDuLibreRails::Application.configure do # Configure static asset server for tests with Cache-Control for performance. config.serve_static_assets = true - config.static_cache_control = "public, max-age=3600" + config.static_cache_control = 'public, max-age=3600' # Show full error reports and disable caching. config.consider_all_requests_local = true @@ -29,10 +29,11 @@ AgendaDuLibreRails::Application.configure do # Tell Action Mailer not to deliver emails to the real world. # The :test delivery method accumulates sent emails in the # ActionMailer::Base.deliveries array. - if config.respond_to?(:action_mailer) - config.action_mailer.delivery_method = :test - end + config.action_mailer.delivery_method = :test # Print deprecation notices to the stderr. config.active_support.deprecation = :stderr + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true end diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb new file mode 100644 index 00000000..7a06a89f --- /dev/null +++ b/config/initializers/cookies_serializer.rb @@ -0,0 +1,3 @@ +# Be sure to restart your server when you modify this file. + +Rails.application.config.action_dispatch.cookies_serializer = :json \ No newline at end of file diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index d8600a01..e57304ea 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,3 +1,3 @@ # Be sure to restart your server when you modify this file. -AgendaDuLibreRails::Application.config.session_store :cookie_store, key: '_agenda-du-libre-rails_session' +Rails.application.config.session_store :cookie_store, key: '_agenda_du_libre_rails_session' diff --git a/config/routes.rb b/config/routes.rb index 658ce72d..2d3b402f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,4 @@ -AgendaDuLibreRails::Application.routes.draw do +Rails.application.routes.draw do resources :users resources :events resources :moderations do diff --git a/config/secrets.yml b/config/secrets.yml new file mode 100644 index 00000000..576a4ec1 --- /dev/null +++ b/config/secrets.yml @@ -0,0 +1,22 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key is used for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! + +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +# You can use `rake secret` to generate a secure secret key. + +# Make sure the secrets in this file are kept private +# if you're sharing your code publicly. + +development: + secret_key_base: dbe66d64011b60f265d7425be28bb09900e9b92dc858127490ac7c4294352aa360a562f60ee3efc554b7ce449b0244c04c5bed57cb28ca1df1e6a6e368ee5b9f + +test: + secret_key_base: d6e43775998f2efca6b1fbc9891c17d9fef4850950c521c21b77514891009e0567ed41c3c8d2e038adeb5dcaf4b1ed94f868c311fa10c54e93c76bd09a244e99 + +# Do not keep production secrets in the repository, +# instead read values from the environment. +production: + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>