Sha256: f72ac308ef03792977d58c574d1a4c9587f48b95a50f96fd58020002f3b60073

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 KB

Contents

require "rails/generators"
require "rails/generators/migration"
require "active_record"
require "rails/generators/active_record"

module FieldTest
  module Generators
    class InstallGenerator < Rails::Generators::Base
      include Rails::Generators::Migration
      source_root File.expand_path("../templates", __FILE__)

      # 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

      def copy_migration
        migration_template "memberships.rb", "db/migrate/create_field_test_memberships.rb", migration_version: migration_version
      end

      def copy_config
        template "config.yml", "config/field_test.yml"
      end

      def migration_version
        if ActiveRecord::VERSION::MAJOR >= 5
          "[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]"
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
field_test-0.2.4 lib/generators/field_test/install_generator.rb
field_test-0.2.3 lib/generators/field_test/install_generator.rb
field_test-0.2.2 lib/generators/field_test/install_generator.rb