Skip to content

Instantly share code, notes, and snippets.

@mhl
Forked from henare/upgrading_alaveteli_themes.md
Last active December 16, 2015 01:09
Show Gist options
  • Save mhl/5353257 to your computer and use it in GitHub Desktop.
Save mhl/5353257 to your computer and use it in GitHub Desktop.

Alaveteli Theme Upgrade Checks

RAILS_ROOT/RAILS_ENV

Example

Check your theme for instances of:

  • RAILS_ROOT replace with Rails.root
  • RAILS_ENV replace with Rails.env

Note that Rails.root is a Pathname, so you can replace, for example:

File.join(RAILS_ROOT, 'public', 'alavetelitheme')

... with:

Rails.root.join('public', 'alavetelitheme')

Dispatcher

Example

This...

require 'dispatcher'
Dispatcher.to_prepare do

should be replaced with this...

Rails.configuration.to_prepare do

Routes

Example

You need to upgrade your custom routes to the new Rails syntax.

list_public_bodies_default removed

Example

The list_public_bodies_default helper has been removed from Alaveteli

Patching mailer templates has changed

Example

In lib/patch_mailer_paths.rb change ActionMailer::Base.view_paths.unshift File.join(File.dirname(__FILE__), "views") to ActionMailer::Base.prepend_view_path File.join(File.dirname(__FILE__), "views")

There's also ActionMailer::Base.append_view_path for replacing ActionMailer::Base.view_paths <<.

Rename view templates

Example

Rename view templates from filename.rhtml to filename.html.erb.

Run this in the root of your theme directory: ruby -e 'Dir.glob("lib/views/**/*.rhtml").each { |f| `git mv #{f} #{f.gsub(".rhtml", ".html.erb")}` }'

GOTCHA! One exception is mailer templates, these should be renamed to filename.text.erb as we only use text emails.

The Configuration class has been renamed

Example

Due to a naming conflict, Configuration has been renamed to AlaveteliConfiguration.

You may have this in your theme for things like Configuration::site_name, just change it to AlaveteliConfiguration::site_name

request.request_uri is deprecated

Example

Replace instances of request.request_uri with request.fullpath

content-inserting <% %> block helpers are deprecated

Example

The Rails 3 releases notes are irritatingly imprecise about which such helpers have changed. You can find some candidates with this git grep command:

git grep -E '<%[^=].*(_for|_tag|link_to)\b'

(Ignore content_for in those results.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment