Created
June 20, 2013 12:43
-
-
Save RyanMacG/5822377 to your computer and use it in GitHub Desktop.
A rake task to convert erb views to haml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source 'http://rubygems.org' | |
#Gems that are required in any environment, by defining the version of the gem we want to use | |
#we don't have to worry about updates causing unexpected issues. | |
gem 'rails', '3.2.13' | |
gem 'bootstrap-sass', '2.2.1.1' | |
gem 'bcrypt-ruby', '3.0.1' | |
gem 'jquery-rails', '>= 2.0.0' | |
gem 'faker', '1.0.1' | |
gem 'will_paginate', "3.0.3" | |
gem 'bootstrap-will_paginate', "0.0.9" | |
gem 'heroku' #for deploying to heroku for production testing | |
gem 'bootstrap-datepicker-rails' | |
gem 'prawn' #pdf generation | |
gem 'pg' #db | |
gem 'pg_search' #text search on db | |
gem 'carrierwave' #image uploading | |
gem 'delayed_job_active_record' #for background jobs | |
gem 'daemons' #for starting delayed_jobs | |
gem 'roo' | |
gem 'haml-rails' | |
gem 'html2haml' | |
group :development do | |
gem 'hpricot' | |
gem 'ruby_parser' | |
end | |
#deployment! | |
gem 'unicorn' #app server | |
gem 'capistrano' #deployer | |
#remember to install imagemagick or this won't work! | |
gem 'rmagick' #for carrierwave thumbnail resizing | |
group :development, :test do | |
gem 'rspec-rails', '>= 2.10.0' | |
gem 'guard-rspec' | |
gem 'annotate', '~> 2.4.1.beta' | |
gem 'pry-rails' | |
end | |
# Gems used only for assets and not required | |
# in production environments by default. | |
group :assets do | |
gem 'sass-rails', '3.2.4' | |
gem 'coffee-rails', '3.2.2' | |
gem 'uglifier', '1.2.3' | |
end | |
group :test do | |
gem 'rspec-rails', '>= 2.10.0' | |
gem 'capybara', '1.1.2' | |
gem 'rb-fsevent', '0.9.1', :require => false | |
gem 'growl' | |
gem 'guard-spork' | |
gem 'spork', '0.9.2' | |
gem 'factory_girl_rails', '1.4.0' | |
gem 'cucumber-rails', '1.2.1', require: false | |
gem 'database_cleaner', '0.7.0' | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace :haml_convert do | |
desc "Convert ERB to Haml" | |
task convert: :environment do | |
#Go through all the views | |
Dir["#{Rails.root}/app/views/**/*.erb"].each do |file_name| | |
puts "Converting: #{file_name}" | |
#creates new file path for haml export | |
haml_file_name = file_name.gsub(/erb$/) { "haml" } | |
#If haml doesn't exist create it and delete erb | |
if !File.exist?(haml_file_name) | |
#read from file | |
erb_string = File.open(file_name).read | |
#convert to haml | |
haml_string = Haml::HTML.new(erb_string, erb: true).render | |
#writes | |
f = File.new(haml_file_name, "w") | |
f.write(haml_string) | |
#Delete the erb | |
File.delete(file_name) | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment