lib/generators/refinerycms_news_generator.rb in refinerycms-news-1.0.1 vs lib/generators/refinerycms_news_generator.rb in refinerycms-news-1.1.0

- old
+ new

@@ -1,52 +1,8 @@ -require 'rails/generators/migration' +require 'refinery/generators' -class RefinerycmsNewsGenerator < Rails::Generators::NamedBase - include Rails::Generators::Migration +class RefinerycmsNewsGenerator < ::Refinery::Generators::EngineInstaller - source_root File.expand_path('../refinerycms_news/templates/', __FILE__) - argument :name, :type => :string, :default => 'news_item', :banner => '' - argument :attributes, :type => :array, :default => ["title:string", "body:text", "publish_date:datetime", "image_id:integer", "external_url:string"] + source_root File.expand_path('../../../', __FILE__) + engine_name "news" - def generate - # seed file - template 'db/seeds/seed.rb', Rails.root.join('db/seeds/refinerycms_news.rb') - - next_migration_number = ActiveRecord::Generators::Base.next_migration_number(File.dirname(__FILE__)) - template('db/migrate/migration_number_create_singular_name.rb', - Rails.root.join("db/migrate/#{next_migration_number}_create_#{plural_name}.rb")) - - unless self.behavior == :revoke - puts "------------------------" - puts "Now run:" - puts "rake db:migrate" - puts "------------------------" - end - end end - -# Below is a hack until this issue: -# https://rails.lighthouseapp.com/projects/8994/tickets/3820-make-railsgeneratorsmigrationnext_migration_number-method-a-class-method-so-it-possible-to-use-it-in-custom-generators -# is fixed on the Rails project. - -require 'rails/generators/named_base' -require 'rails/generators/migration' -require 'rails/generators/active_model' -require 'active_record' - -module ActiveRecord - module Generators - class Base < Rails::Generators::NamedBase #:nodoc: - include Rails::Generators::Migration - - # Implement the required interface for Rails::Generators::Migration. - def self.next_migration_number(dirname) #:nodoc: - next_migration_number = current_migration_number(dirname) + 1 - if ActiveRecord::Base.timestamped_migrations - [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max - else - "%.3d" % next_migration_number - end - end - end - end -end \ No newline at end of file