1
0
Fork 0
mirror of https://github.com/kaminari/kaminari.git synced 2022-11-09 13:44:37 -05:00
kaminari--kaminari/lib/generators/kaminari/views_generator.rb
2011-02-10 07:42:49 +09:00

40 lines
1.4 KiB
Ruby

module Kaminari
module Generators
class ViewsGenerator < Rails::Generators::NamedBase
source_root File.expand_path('../../../../app/views/kaminari', __FILE__)
class_option :template_engine, :type => :string, :aliases => '-e', :desc => 'Template engine for the views. Available options are "erb" and "haml".'
def self.banner
<<-BANNER.chomp
rails g kaminari:views THEME [options]
Copies all paginator partial templates to your application.
You can choose a template THEME by specifying one from the list below:
default: The default one.
This one is used internally while you don't override the partials.
google: Looks googlish! (note that this is just an example...)
Try with this option :window => 10, :outer_window => -1
github: A very simple one with only "Older" and "Newer" links.
BANNER
end
desc ''
def copy_views
Dir.glob(filename_pattern).map {|f| File.basename f}.each do |f|
copy_file File.join([template_name.presence, f].compact), "app/views/kaminari/#{f}"
end
end
private
def template_name
(f = file_name.downcase) == 'default' ? '' : f
end
def filename_pattern
File.join self.class.source_root, template_name, "*.html.#{options[:template_engine].try(:to_s).try(:downcase) || 'erb'}"
end
end
end
end