Sha256: 556e474aa388a48a30096b559da6f381f23aae9339b7fdf97351a57bc85beb01
Contents?: true
Size: 1.61 KB
Versions: 9
Compression:
Stored size: 1.61 KB
Contents
require "generators/rich_cms" module Rich module Generators class CmsContentGenerator < ::RichCms::Generators::Base include Rails::Generators::Migration include RichCms::Generators::Migration desc "Creates Rich-CMS content model and migration and also registers content to Rich-CMS." argument :model_name, :type => :string , :default => "cms_content" class_option :migrate , :type => :boolean, :default => false, :aliases => "-m", :desc => "Run 'rake db:migrate' after generating model and migration" def register_content filename = "config/initializers/enrichments.rb" line = "\nRich::Cms::Engine.register(\".#{model_file_name}\", {:class_name => \"#{model_class_name}\"})" create_file filename unless File.exists?(filename) return if File.open(filename).readlines.collect(&:strip).include? line.strip File.open(filename, "a+") do |file| file << line end end def generate_model invoke "active_record:model", [model_file_name], :migration => false end def generate_migration migration_template "migration.rb", "db/migrate/create_#{table_name}" end def migrate rake "db:migrate" if options[:migrate] end protected def model_file_name model_name.underscore end def model_class_name model_name.classify end def migration_class_name migration_file_name.pluralize.camelize end def table_name model_file_name.underscore.gsub("/", "_").pluralize end end end end
Version data entries
9 entries across 9 versions & 1 rubygems