Sha256: 6f70ce69a2722f9871284bde05b9853f1b89b9ff3e0f9fdcc48da2f84b96bec5

Contents?: true

Size: 1.43 KB

Versions: 20

Compression:

Stored size: 1.43 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 OutboxBackendGenerator < 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('outbox_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_outbox_backend.rb")
        else
          migration_template('migration',
                             "#{db_migrate_path}/create_outbox_backend.rb")
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
deimos-ruby-2.0.5 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.4 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.3 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.2 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.1 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.beta7 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.beta6 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.beta5 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.beta4 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.beta3 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.beta2 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.beta1 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.alpha7 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.alpha6 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.alpha5 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.alpha4 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.alpha3 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.alpha2 lib/generators/deimos/outbox_backend_generator.rb
deimos-ruby-2.0.0.pre.alpha1 lib/generators/deimos/outbox_backend_generator.rb