Sha256: 8638f042c4f758a1cd8c16192c7f28206dd278dcdf8acf12a109359616f69c09

Contents?: true

Size: 1018 Bytes

Versions: 18

Compression:

Stored size: 1018 Bytes

Contents

require 'rails/generators'
require 'rails/generators/migration'

module ActsAsTaggableOn
  class MigrationGenerator < Rails::Generators::Base
    include Rails::Generators::Migration

    desc "Generates migration for Tag and Tagging models"

    def self.orm
      Rails::Generators.options[:rails][:orm]
    end

    def self.source_root
      File.join(File.dirname(__FILE__), 'templates', (orm.to_s unless orm.class.eql?(String)) )
    end

    def self.orm_has_migration?
      [:active_record].include? orm
    end

    def self.next_migration_number(dirname)
      if ActiveRecord::Base.timestamped_migrations
        migration_number = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
        migration_number += 1
        migration_number.to_s
      else
        "%.3d" % (current_migration_number(dirname) + 1)
      end
    end

    def create_migration_file
      if self.class.orm_has_migration?
        migration_template 'migration.rb', 'db/migrate/acts_as_taggable_on_migration'
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 5 rubygems

Version Path
acts-as-taggable-on-2.4.1 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.4.0 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.4.0.beta lib/generators/acts_as_taggable_on/migration/migration_generator.rb
tvdeyen_acts-as-taggable-on-2.3.3.1 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
crowdint_acts-as-taggable-on-2.3.5 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.3.3 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.3.2 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
crowdint_acts-as-taggable-on-2.3.4 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
crowdint_acts-as-taggable-on-2.3.3 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
crowdint_acts-as-taggable-on-2.3.2 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.3.1 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.3.0 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
bborn-acts-as-taggable-on-2.2.1 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.2.2 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.2.1 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.2.0 lib/generators/acts_as_taggable_on/migration/migration_generator.rb
rylwin-acts-as-taggable-on-2.1.1a lib/generators/acts_as_taggable_on/migration/migration_generator.rb
acts-as-taggable-on-2.1.1 lib/generators/acts_as_taggable_on/migration/migration_generator.rb