Sha256: d45f45acfe985f74fd0e9fe9d76561401e98ab1ef4441f96ccc4a71e57ab5e60

Contents?: true

Size: 1.41 KB

Versions: 51

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 DbPollerGenerator < 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_poller/templates', __dir__)
      desc 'Add migrations for the database poller'

      # @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_poller.rb")
        else
          migration_template('migration',
                             "#{db_migrate_path}/create_db_poller.rb")
        end
      end
    end
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
deimos-ruby-2.0.0.pre.beta6 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.beta5 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.beta4 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.beta3 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.beta2 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.beta1 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.alpha7 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.alpha6 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.alpha5 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.alpha4 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.alpha3 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.alpha2 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-2.0.0.pre.alpha1 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-1.24.2 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-1.24.1 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-1.24.0 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-1.23.3 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-1.23.2 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-1.23.1.pre.beta6 lib/generators/deimos/db_poller_generator.rb
deimos-ruby-1.23.1.pre.beta5 lib/generators/deimos/db_poller_generator.rb