Sha256: d5d5802784df5f963dc1d9852fd2e22a0e3ab842afa7aa588657cb189db762aa

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

module MigrationHelper
  include Rails::Generators::Migration

  module ClassMethods    
    def migration_lookup_at(dirname) #:nodoc:
      Dir.glob("#{dirname}/[0-9]*_*.rb")
    end

    def migration_exists?(dirname, file_name) #:nodoc:
      migration_lookup_at(dirname).grep(/\d+_#{file_name}.rb$/).first
    end

    def current_migration_number(dirname) #:nodoc:
      migration_lookup_at(dirname).collect do |file|
        File.basename(file).split("_").first.to_i
      end.max.to_i
    end

    def next_migration_number(dirname) #:nodoc:
      orm = Rails.configuration.generators.options[:rails][:orm]
      require "rails/generators/#{orm}"
      "#{orm.to_s.camelize}::Generators::Base".constantize.next_migration_number(dirname)
    rescue
      raise NotImplementedError
    end
  end         

  def self.included(base) #:nodoc: 
    base.extend ClassMethods      
  end

  def info msg
    Rails.logger.info msg
  end
      
  def migration(options)
    migration_template "create_users.erb", "db/migrations/#{name}"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
generator-spec-0.4.0 lib/rspec_for_generators/migration_helper.rb
generator-spec-0.3.5 lib/rspec_for_generators/migration_helper.rb