module Scrivito module Generators class InstallGenerator < ::Rails::Generators::Base include ::Rails::Generators::Migration source_root File.expand_path('../templates', __FILE__) def self.next_migration_number(dirname) migration_number = current_migration_number(dirname) + 1 [Time.now.utc.strftime('%Y%m%d%H%M%S'), '%.14d' % migration_number].max end def copy_initializer copy_file 'config/initializers/scrivito.rb' end def copy_obj_and_widget_model copy_file 'app/models/obj.rb' copy_file 'app/models/widget.rb' end def copy_cms_controller copy_file 'app/controllers/cms_controller.rb' end def copy_migration destination_path = File.join(Scrivito::Configuration.migration_path, 'install_scrivito.rb') migration_template 'scrivito/migrate/install_scrivito.rb', destination_path end def copy_page_resources copy_file 'app/models/page.rb' copy_file 'app/controllers/page_controller.rb' copy_file 'app/views/page/details.html.erb' copy_file 'app/views/page/index.html.erb' copy_file 'app/views/page/thumbnail.html.erb' end def copy_image_resources copy_file 'app/models/image.rb' end def copy_headline_widget_resources copy_file 'app/models/headline_widget.rb' copy_file 'app/views/headline_widget/show.html.erb' copy_file 'app/views/headline_widget/thumbnail.html.erb' end def copy_text_widget_resources copy_file 'app/models/text_widget.rb' copy_file 'app/views/text_widget/show.html.erb' copy_file 'app/views/text_widget/thumbnail.html.erb' end def copy_image_widget_resources copy_file 'app/models/image_widget.rb' copy_file 'app/views/image_widget/show.html.erb' copy_file 'app/views/image_widget/thumbnail.html.erb' end end end end