Sha256: a88d6b2af3e55ee7763fa91ef08962e6e32d21e0fcacbc4f65864415873b24f3

Contents?: true

Size: 1.39 KB

Versions: 16

Compression:

Stored size: 1.39 KB

Contents

require 'rails/generators/migration'

module Rails3Generators
  module MigrationHelper
    include Rails::Generators::Migration

    attr_accessor :migration_number

    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 run_migration(options)
      run "rails g migration #{options}"
    end

    protected
    
      def model_exists?(name)
        File.exists?(File.join(Rails.root, "app/models/#{name}.rb"))
      end
    
      def model_file(name)                          
        File.join(Rails.root, "app/models/#{name}.rb")        
      end    
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rails3-generators-1.0.0 lib/generators/helpers/migration_helper.rb
rails3-generators-0.17.6 lib/generators/helpers/migration_helper.rb
rails3-generators-0.17.5 lib/generators/helpers/migration_helper.rb
rails3-generators-0.17.4 lib/generators/helpers/migration_helper.rb
rails3-generators-0.17.3 lib/generators/helpers/migration_helper.rb
rails3-generators-0.17.2 lib/generators/helpers/migration_helper.rb
rails3-generators-0.17.1 lib/generators/helpers/migration_helper.rb
rails3-generators-0.17.0 lib/generators/helpers/migration_helper.rb
rails3-generators-0.16.1 lib/generators/helpers/migration_helper.rb
rails3-generators-0.16.0 lib/generators/helpers/migration_helper.rb
rails3-generators-0.15.0 lib/generators/helpers/migration_helper.rb
rails3-generators-0.14.0 lib/generators/helpers/migration_helper.rb
rails3-generators-0.13.0 lib/generators/helpers/migration_helper.rb
rails3-generators-0.12.1 lib/generators/helpers/migration_helper.rb
rails3-generators-0.12.0 lib/generators/helpers/migration_helper.rb
rails3-generators-0.11.0 lib/generators/helpers/migration_helper.rb