Sha256: bdcec64470b9f12e08263b2b2ad5c3a35e012c6692bcde6ab31a7295c01ca3b6

Contents?: true

Size: 1.41 KB

Versions: 38

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

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

module Deimos
  module Generators
    # Generate the database backend migration.
    class DbBackendGenerator < Rails::Generators::Base
      include Rails::Generators::Migration
      if Rails.version < '4'
        extend(ActiveRecord::Generators::Migration)
      else
        include ActiveRecord::Generators::Migration
      end
      source_root File.expand_path('db_backend/templates', __dir__)
      desc 'Add migrations for the database backend'

      # @return [String]
      def migration_version
        "[#{ActiveRecord::Migration.current_version}]"
      rescue StandardError
        ''
      end

      # @return [String]
      def db_migrate_path
        if defined?(Rails.application) && Rails.application
          paths = Rails.application.config.paths['db/migrate']
          paths.respond_to?(:to_ary) ? paths.to_ary.first : paths.to_a.first
        else
          'db/migrate'
        end
      end

      # Main method to create all the necessary files
      # @return [void]
      def generate
        if Rails.version < '4'
          migration_template('rails3_migration',
                             "#{db_migrate_path}/create_db_backend.rb")
        else
          migration_template('migration',
                             "#{db_migrate_path}/create_db_backend.rb")
        end
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
deimos-ruby-1.24.2 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.24.1 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.24.0 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.3 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.2 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.1.pre.beta6 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.1.pre.beta5 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.1.pre.beta4 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.1.pre.beta3 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.1.pre.beta2 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.1.pre.beta1 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.23.0 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.22.5 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.22.4 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.22.3 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.22.2 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.22.1 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.22 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.20.1 lib/generators/deimos/db_backend_generator.rb
deimos-ruby-1.20.0 lib/generators/deimos/db_backend_generator.rb