Sha256: 55207d152e379ccc5af5570613786e4a60345c006fdf97440b67cfc7771bc02a
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
require "rails/generators/active_record/model/model_generator" # TODO: add shoestrap to gemfile module Shoestrap class CmsGenerator < ActiveRecord::Generators::ModelGenerator source_root File.expand_path('../templates', __FILE__) # ... and those files are from: activerecord-3.2.11/lib/rails/generators/active_record/model/templates remove_hook_for :test_framework def create_migration_file return unless options[:migration] && options[:parent].nil? migration_template "migration.rb", "db/migrate/create_#{table_name.gsub('cms_','')}.rb" end def create_model_file template 'model.rb', File.join('app/models', "#{file_name}.rb") end def create_module_file end def generate_scaffolds generate 'scaffold_controller', "#{name} #{attributes_string} --routing-specs=false --request-specs=false --controller-specs=false --view-specs=false" end def generate_route generate 'resource_route', name end def generate_nav_link inject_into_file 'app/views/kuhsaft/cms/admin/_main_navigation.html.haml', :after => 'kuhsaft.cms_pages_path' do "\n %li\n = link_to t(\'cms.#{real_table_name}\'), #{plural_table_name}_path" end end def generate_translations template 'model.yml.erb', "config/locales/de/#{real_table_name}.yml" end protected def attributes_string attributes.map{ |a| "#{a.name}:#{a.type}" }.join(' ') end def real_table_name table_name.gsub('cms_', '') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shoestrap-0.0.2 | lib/generators/shoestrap/cms_generator.rb |