Sha256: 4a6205ddc56b8736ce6b3e2f311029a5ce32ef5cebdc84b06afd2a724b1f3d18

Contents?: true

Size: 1021 Bytes

Versions: 12

Compression:

Stored size: 1021 Bytes

Contents

# frozen_string_literal: true

require 'active_record'
require 'rails/generators/base'

module PgSearch
  module Migration
    class Generator < Rails::Generators::Base
      Rails::Generators.hide_namespace namespace

      def self.inherited(subclass)
        super
        subclass.source_root File.expand_path('templates', __dir__)
      end

      def create_migration
        now = Time.now.utc
        filename = "#{now.strftime('%Y%m%d%H%M%S')}_#{migration_name}.rb"
        template "#{migration_name}.rb.erb", "db/migrate/#{filename}", migration_version
      end

      private

      def read_sql_file(filename)
        sql_directory = File.expand_path('../../../sql', __dir__)
        source_path = File.join(sql_directory, "#{filename}.sql")
        File.read(source_path).strip
      end

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

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pg_search-2.3.6 lib/pg_search/migration/generator.rb
pg_search-2.3.5 lib/pg_search/migration/generator.rb
pg_search-2.3.4 lib/pg_search/migration/generator.rb
pg_search-2.3.3 lib/pg_search/migration/generator.rb
pg_search-2.3.2 lib/pg_search/migration/generator.rb
pg_search-2.3.1 lib/pg_search/migration/generator.rb
pg_search-2.3.0 lib/pg_search/migration/generator.rb
pg_search-2.2.0 lib/pg_search/migration/generator.rb
pg_search-2.1.7 lib/pg_search/migration/generator.rb
pg_search-2.1.6 lib/pg_search/migration/generator.rb
pg_search-2.1.5 lib/pg_search/migration/generator.rb
pg_search-2.1.4 lib/pg_search/migration/generator.rb