Sha256: 9993b99e1cdf1a75f1a2d7b2cfa23396b8aa4d97b306712d0a5b11bb50fe130e
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
module Activoate class InstallGenerator < Rails::Generators::Base desc "Installs the activo layout" source_root File.expand_path('../templates', __FILE__) argument :layout_name, :type => :string, :default => 'activo' class_option :app_name, :type => :string, :default => 'Web App', :desc => 'Specify the application name' class_option :engine, :type => :string, :default => 'erb', :desc => 'Specify the template engine' class_option :layout_type, :type => :string, :default => 'admin', :desc => 'Layout type, admin or sign' def copy_layout return if options.no_layout admin_layout_name = options.layout_type == 'sign' ? "layout_sign.html.erb" : "layout_admin.html.erb" case options.engine when 'erb' template admin_layout_name, "app/views/layouts/#{layout_name.underscore}.html.erb" when 'haml' generate_haml_layout(admin_layout_name) end end protected def generate_haml_layout(admin_layout_name) require 'haml' Dir.mktmpdir('activoate-haml') do |haml_root| tmp_html_path = "#{haml_root}/#{admin_layout_name}" tmp_haml_path = "#{haml_root}/#{admin_layout_name}.haml" template admin_layout_name, tmp_html_path, :verbose => false `html2haml --erb --xhtml #{tmp_html_path} #{tmp_haml_path}` copy_file tmp_haml_path, "app/views/layouts/#{layout_name.underscore}.html.haml" end rescue LoadError say "HAML is not installed, or it is not specified in your Gemfile." exit end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activoate-0.5.0 | lib/generators/activoate/install/install_generator.rb |